Liveness for CSIT 94/71794/2
authorInstrumental <jonathan.gathman@att.com>
Sat, 3 Nov 2018 19:38:21 +0000 (14:38 -0500)
committerInstrumental <jonathan.gathman@att.com>
Sun, 4 Nov 2018 14:50:48 +0000 (08:50 -0600)
Issue-ID: AAF-606
Change-Id: I740c153d36d7428fbe0b35e8e997d1a5603d6f63
Signed-off-by: Instrumental <jonathan.gathman@att.com>
auth/auth-cass/docker/drun.sh
auth/docker/Dockerfile.config
auth/docker/aaf.sh
auth/docker/drun.sh
auth/sample/bin/pod_wait.sh
auth/sample/bin/service.sh

index 1bcff83..7d05c7f 100644 (file)
@@ -27,6 +27,7 @@ if [ "`$DOCKER ps -a | grep aaf_cass`" == "" ]; then
     -e CASSANDRA_DC=dc1 \
     -e CASSANDRA_CLUSTER_NAME=osaaf \
     -v "aaf_cass_data:/var/lib/cassandra" \
+    -v "aaf_status:/opt/app/aaf/status" \
     $PUBLISH \
     -d ${PREFIX}${ORG}/${PROJECT}/aaf_cass:${VERSION} "onap"
 else 
index bc1eafc..59d8c56 100644 (file)
@@ -13,6 +13,7 @@ COPY public /opt/app/aaf_config/public
 COPY CA /opt/app/aaf_config/CA
 COPY logs /opt/app/aaf_config/logs
 COPY bin/service.sh /opt/app/aaf_config/bin/agent.sh
+COPY bin/pod_wait.sh /opt/app/aaf_config/bin/
 COPY bin/aaf-auth-cmd-${AAF_VERSION}-full.jar /opt/app/aaf_config/bin/
 
 ENTRYPOINT ["/bin/bash","/opt/app/aaf_config/bin/agent.sh"]
index 0512944..6ba8631 100644 (file)
@@ -5,6 +5,7 @@ DOCKER=${DOCKER:=docker}
 function run_it() {
   $DOCKER run $@ \
     -v "aaf_config:$CONF_ROOT_DIR" \
+    -v "aaf_status:/opt/app/aaf/status" \
     --add-host="$HOSTNAME:$HOST_IP" \
     --add-host="aaf.osaaf.org:$HOST_IP" \
     --env HOSTNAME=${HOSTNAME} \
@@ -24,9 +25,17 @@ function run_it() {
 }
 
 PARAMS="$@"
-if [ -z "$PARAMS" ]; then
-  run_it --rm 
-else
-  run_it -it --rm 
-fi
+case "$1" in 
+  bash)
+    run_it -it --rm 
+    ;;
+  -it)
+    shift 
+    PARAMS="$@"
+    run_it -it --rm 
+    ;;
+  *)
+    run_it --rm 
+    ;;
+esac
 
index 358e923..f5756b8 100644 (file)
@@ -25,7 +25,7 @@ fi
 DOCKER=${DOCKER:=docker}
 
 # Running without params keeps from being TTY
-bash aaf.sh 
+bash ./aaf.sh 
 
 if [ "$1" == "" ]; then
     AAF_COMPONENTS=$(cat components)
@@ -34,31 +34,49 @@ else
 fi
 
 for AAF_COMPONENT in ${AAF_COMPONENTS}; do
+    LINKS=""
+    CMD_LINE=""
+    PORTMAP=""
     case "$AAF_COMPONENT" in
     "service")
         PORTMAP="8100:8100"
         LINKS="--link aaf_cass:cassandra "
+        # CASS_HOST is for Container based Cassadra
+        if [ -z "$CASS_HOST" ]; then
+         CMD_LINE="/bin/bash /opt/app/aaf/pod/pod_wait.sh aaf_service sleep 0 cd /opt/app/aaf;bin/service"
+        else
+         CMD_LINE="/bin/bash /opt/app/aaf/pod/pod_wait.sh aaf_service aaf_cass cd /opt/app/aaf;bin/service"
+        fi
         ;;
     "locate")
         PORTMAP="8095:8095"
         LINKS="--link aaf_cass:cassandra "
+       CMD_LINE="/bin/bash /opt/app/aaf/pod/pod_wait.sh aaf_locate aaf_service cd /opt/app/aaf;bin/locate"
         ;;
     "oauth")
         PORTMAP="8140:8140"
         LINKS="--link aaf_cass:cassandra "
+       CMD_LINE="/bin/bash /opt/app/aaf/pod/pod_wait.sh aaf_oauth aaf_service cd /opt/app/aaf;bin/oauth"
         ;;
     "gui")
         PORTMAP="8200:8200"
+        LINKS=""
+       CMD_LINE="/bin/bash /opt/app/aaf/pod/pod_wait.sh aaf_gui aaf_locate cd /opt/app/aaf;bin/gui"
         ;;
     "cm")
         PORTMAP="8150:8150"
         LINKS="--link aaf_cass:cassandra "
+       CMD_LINE="/bin/bash /opt/app/aaf/pod/pod_wait.sh aaf_cm aaf_locate cd /opt/app/aaf;bin/cm"
         ;;
     "hello")
         PORTMAP="8130:8130"
+        LINKS=""
+       CMD_LINE="/bin/bash /opt/app/aaf/pod/pod_wait.sh aaf_hello aaf_locate cd /opt/app/aaf;bin/hello"
         ;;
     "fs")
         PORTMAP="80:8096"
+        LINKS=""
+       CMD_LINE="/bin/bash /opt/app/aaf/pod/pod_wait.sh aaf_fs aaf_locate cd /opt/app/aaf;bin/fs"
         ;;
     esac
 
@@ -74,8 +92,7 @@ for AAF_COMPONENT in ${AAF_COMPONENTS}; do
        ADD_HOST="$ADD_HOST --add-host=$A:$HOST_IP"
     done
 
-    if [[ "$CASS_HOST" =~ ":" ]]; then
-       echo "Adding Cassandra Host $CASS_HOST"
+    if [ ! -z "$LINKS" ] && [[ "$CASS_HOST" =~ ":" ]]; then
        ADD_HOST="$ADD_HOST --add-host=$CASS_HOST"
     fi
     $DOCKER run \
@@ -95,5 +112,7 @@ for AAF_COMPONENT in ${AAF_COMPONENTS}; do
         --env CASSANDRA_PORT=${CASSANDRA_PORT} \
         --publish $PORTMAP \
         -v "aaf_config:$CONF_ROOT_DIR" \
-        ${PREFIX}${ORG}/${PROJECT}/aaf_${AAF_COMPONENT}:${VERSION}
+        -v "aaf_status:/opt/app/aaf/status" \
+        ${PREFIX}${ORG}/${PROJECT}/aaf_${AAF_COMPONENT}:${VERSION} \
+       $CMD_LINE
 done
index 1435036..5a8d062 100644 (file)
@@ -27,6 +27,22 @@ function check {
   fi
 }
 
+function wait {
+  n=0
+  while [ $n -lt 40  ]; do 
+     rv="$(check)"
+     echo "$rv"
+     if [ "$rv" = "ready" ]; then
+       echo "$OTHER is $rv"
+       n=10000
+     else 
+       (( ++n )) 
+       echo "Sleep 10 (iteration $n)"
+       sleep 10
+     fi
+  done
+}
+
 function start {
   n=0
   while [ $n -lt 40  ]; do 
@@ -45,18 +61,26 @@ function start {
   done
 }
 
-if [ "sleep" = "$OTHER" ]; then
-  echo "Sleeping $1"
-  status "Sleeping $1"
-  sleep $1
-  shift
-  status "ready"
-  echo "Done"
-else
-  echo "App $APP is waiting to start until $OTHER is ready"
-  status "waiting for $OTHER"
-
-  start
-fi  
+case "$OTHER" in
+  sleep)
+    echo "Sleeping $1"
+    status "Sleeping $1"
+    sleep $1
+    shift
+    status "ready"
+    echo "Done"
+    ;;
+  wait)
+    OTHER="$1"
+    shift    
+    wait
+    ;;
+  *)
+    echo "App $APP is waiting to start until $OTHER is ready"
+    status "waiting for $OTHER"
+  
+    start
+  ;;
+esac  
 
 eval "$@"
index 7e443b5..5116d36 100644 (file)
@@ -248,6 +248,9 @@ else
     taillog) 
        sh /opt/app/osaaf/logs/taillog
        ;;
+    wait)
+       bash $CONFIG/bin/pod_wait.sh wait $1
+        ;;
     --help | -?)
         case "$1" in
         "")