| Mike Marchetti | 9d9192b | 2018-09-21 12:03:05 -0400 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | |
| Mike Marchetti | 7abb18b | 2018-09-25 12:09:51 -0400 | [diff] [blame] | 3 | WAIT_TIME=60 |
| Mike Marchetti | 9d9192b | 2018-09-21 12:03:05 -0400 | [diff] [blame] | 4 | NUM_SERVICES_WITH_HEALTH=3 |
| tierno | bc983ec | 2018-10-11 15:03:06 +0200 | [diff] [blame] | 5 | SERVICES_WITH_HEALTH="nbi ro kafka" |
| Mike Marchetti | 9d9192b | 2018-09-21 12:03:05 -0400 | [diff] [blame] | 6 | |
| tierno | bc983ec | 2018-10-11 15:03:06 +0200 | [diff] [blame] | 7 | while getopts "w:s:n:c:" o; do |
| Mike Marchetti | 9d9192b | 2018-09-21 12:03:05 -0400 | [diff] [blame] | 8 | case "${o}" in |
| 9 | w) |
| 10 | WAIT_TIME=${OPTARG} |
| 11 | ;; |
| 12 | s) |
| 13 | STACK_NAME=${OPTARG} |
| 14 | ;; |
| 15 | n) |
| 16 | NUM_SERVICES_WITH_HEALTH=${OPTARG} |
| 17 | ;; |
| tierno | bc983ec | 2018-10-11 15:03:06 +0200 | [diff] [blame] | 18 | c) |
| 19 | SERVICES_WITH_HEALTH="${OPTARG}" |
| 20 | ;; |
| Mike Marchetti | 9d9192b | 2018-09-21 12:03:05 -0400 | [diff] [blame] | 21 | esac |
| 22 | done |
| 23 | |
| 24 | |
| 25 | time=0 |
| 26 | step=1 |
| 27 | while [ $time -le "$WAIT_TIME" ]; do |
| 28 | if [ "$(docker ps | grep " ${STACK_NAME}_" | grep -i healthy | wc -l)" -ge "$NUM_SERVICES_WITH_HEALTH" ]; then |
| 29 | exit 0 |
| 30 | fi |
| 31 | |
| 32 | sleep $step |
| 33 | time=$((time+step)) |
| 34 | done |
| Mike Marchetti | 37c3f51 | 2018-09-24 10:27:00 -0400 | [diff] [blame] | 35 | |
| 36 | echo "Not all Docker services are healthy" |
| 37 | docker ps | grep " ${STACK_NAME}_" |
| 38 | |
| tierno | bc983ec | 2018-10-11 15:03:06 +0200 | [diff] [blame] | 39 | for S_WITH_HEALTH in $SERVICES_WITH_HEALTH ; do |
| 40 | docker ps | grep " ${STACK_NAME}_" | grep -i healthy | grep -q "_${S_WITH_HEALTH}." && continue |
| 41 | echo |
| 42 | echo BEGIN LOGS of container ${S_WITH_HEALTH} not healthy |
| 43 | docker service logs ${STACK_NAME}_${S_WITH_HEALTH} 2>&1 | tail -n 100 |
| 44 | echo END LOGS of container ${S_WITH_HEALTH} not healthy |
| 45 | echo |
| 46 | done |
| 47 | |
| Mike Marchetti | 9d9192b | 2018-09-21 12:03:05 -0400 | [diff] [blame] | 48 | exit 1 |
| tierno | bc983ec | 2018-10-11 15:03:06 +0200 | [diff] [blame] | 49 | |