X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=installers%2Fosm_health.sh;h=2684af7309f53cfc2bd503713ece164c21363fc1;hb=refs%2Fheads%2FWIM;hp=8852ab31f750286be762dc9a65dea372712f6330;hpb=9d9192bbb48264603ea160bac095ebd07edb79d1;p=osm%2Fdevops.git diff --git a/installers/osm_health.sh b/installers/osm_health.sh index 8852ab31..2684af73 100755 --- a/installers/osm_health.sh +++ b/installers/osm_health.sh @@ -1,9 +1,11 @@ #!/bin/sh -WAIT_TIME=30 -NUM_SERVICES_WITH_HEALTH=3 +WAIT_TIME=180 # LCM healthcheck needs 140 senconds +SERVICES_WITH_HEALTH="nbi ro zookeeper lcm" +NUM_SERVICES_WITH_HEALTH=$(echo $SERVICES_WITH_HEALTH | wc -w) +WAIT_FINAL=30 -while getopts "w:s:n:" o; do +while getopts "w:s:n:c:" o; do case "${o}" in w) WAIT_TIME=${OPTARG} @@ -14,18 +16,38 @@ while getopts "w:s:n:" o; do n) NUM_SERVICES_WITH_HEALTH=${OPTARG} ;; + c) + SERVICES_WITH_HEALTH="${OPTARG}" + ;; esac done time=0 -step=1 +step=2 while [ $time -le "$WAIT_TIME" ]; do if [ "$(docker ps | grep " ${STACK_NAME}_" | grep -i healthy | wc -l)" -ge "$NUM_SERVICES_WITH_HEALTH" ]; then + # all dockers are healthy now. + # final sleep is needed until more health checks are added to validate system is ready to handle requests + sleep $WAIT_FINAL exit 0 fi sleep $step time=$((time+step)) done + +echo "Not all Docker services are healthy" +docker ps | grep " ${STACK_NAME}_" + +for S_WITH_HEALTH in $SERVICES_WITH_HEALTH ; do + docker ps | grep " ${STACK_NAME}_" | grep -i healthy | grep -q "_${S_WITH_HEALTH}." && continue + echo + echo BEGIN LOGS of container ${S_WITH_HEALTH} not healthy + docker service logs ${STACK_NAME}_${S_WITH_HEALTH} 2>&1 | tail -n 100 + echo END LOGS of container ${S_WITH_HEALTH} not healthy + echo +done + exit 1 +