From 08e93406376e318c8e935716403d2366c8402bb8 Mon Sep 17 00:00:00 2001 From: Instrumental Date: Wed, 3 Oct 2018 08:38:52 -0500 Subject: Create Helm Instantiation Issue-ID: AAF-517 Change-Id: I67c8408baa62a779fe5f7fa945dab2f8f9919f39 Signed-off-by: Instrumental --- auth/sample/bin/pod_wait.sh | 50 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 auth/sample/bin/pod_wait.sh (limited to 'auth/sample/bin/pod_wait.sh') diff --git a/auth/sample/bin/pod_wait.sh b/auth/sample/bin/pod_wait.sh new file mode 100644 index 00000000..71773be7 --- /dev/null +++ b/auth/sample/bin/pod_wait.sh @@ -0,0 +1,50 @@ +#!/bin/bash +# +# A Script for use in Pods... Check for status files, and validate before moving on. +# +DIR="/opt/app/aaf/status" +APP=$1 +shift +OTHER=$1 +shift + +function status { + if [ -d "$DIR" ]; then + echo "$@" > $DIR/$APP + fi +} + +echo $APP $OTHER + +function check { + if [ -d "$DIR" ]; then + if [ -e "$DIR/$OTHER" ]; then + echo "$(cat $DIR/$OTHER)" + else + echo "$DIR/$OTHER does not exist" + fi + else + echo "$DIR does not exist" + fi +} + +echo "App $APP is waiting to start until $OTHER is ready" +status "waiting for $OTHER" + +n=0 +while [ $n -lt 40 ]; do + rv="$(check)" + echo "$OTHER is $rv" + if [ "$rv" = "ready" ]; then + # 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 + +eval "$@" -- cgit 1.2.3-korg