From aae5c072bcb4608ae87c70fd1edf7ac5b1794ccf Mon Sep 17 00:00:00 2001 From: Instrumental Date: Fri, 29 Mar 2019 15:42:37 -0500 Subject: Refine Container Startup Issue-ID: AAF-773 Change-Id: Ia198a11eceb9bfacafde26cde97d15949a3fe78c Signed-off-by: Instrumental --- auth/sample/bin/pod_wait.sh | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) (limited to 'auth/sample/bin') diff --git a/auth/sample/bin/pod_wait.sh b/auth/sample/bin/pod_wait.sh index 07ff9814..3d6a1b9e 100644 --- a/auth/sample/bin/pod_wait.sh +++ b/auth/sample/bin/pod_wait.sh @@ -29,17 +29,17 @@ shift function status { if [ -d "$DIR" ]; then - echo "$@" > $DIR/$APP + echo "$@" > $DIR/$APP-$HOSTNAME fi } function check { if [ -d "$DIR" ]; then - if [ -e "$DIR/$OTHER" ]; then - echo "$(cat $DIR/$OTHER)" - else + if [ -z "$(ls $DIR/$OTHER* 2> /dev/null)" ]; then echo "$DIR/$OTHER does not exist" + else + echo "$(cat $DIR/$OTHER*)" fi else echo "$DIR does not exist" @@ -51,13 +51,13 @@ function wait { while [ $n -lt 40 ]; do rv="$(check)" echo "$rv" - if [ "$rv" = "ready" ]; then - echo "$OTHER is $rv" - n=10000 - else + if [ -z "$(echo $rv | grep "ready")" ]; then (( ++n )) echo "Sleep 10 (iteration $n)" sleep 10 + else + echo "$OTHER is $rv" + n=10000 fi done } @@ -67,15 +67,15 @@ function start { while [ $n -lt 40 ]; do rv="$(check)" echo "$OTHER is $rv" - if [ "$rv" = "ready" ]; then + if [ -z "$(echo $rv | grep "ready")" ]; then + (( ++n )) + echo "Sleep 10 (iteration $n)" + sleep 10 + else # This is critical. Until status is literally "ready" in the status directory, no processes will start status ready echo "Starting $@" n=10000 - else - (( ++n )) - echo "Sleep 10 (iteration $n)" - sleep 10 fi done } @@ -89,6 +89,10 @@ case "$OTHER" in status "ready" echo "Done" ;; + stop) + echo "Removing $DIR/$APP-$HOSTNAME" + rm $DIR/$APP-$HOSTNAME + ;; wait) OTHER="$1" shift @@ -102,4 +106,4 @@ case "$OTHER" in ;; esac -eval "$@" +eval "$@" -- cgit 1.2.3-korg