diff options
-rw-r--r-- | auth/auth-cass/docker/drun.sh | 1 | ||||
-rw-r--r-- | auth/docker/Dockerfile.config | 1 | ||||
-rw-r--r-- | auth/docker/aaf.sh | 19 | ||||
-rw-r--r-- | auth/docker/drun.sh | 27 | ||||
-rw-r--r-- | auth/sample/bin/pod_wait.sh | 50 | ||||
-rw-r--r-- | auth/sample/bin/service.sh | 3 |
6 files changed, 79 insertions, 22 deletions
diff --git a/auth/auth-cass/docker/drun.sh b/auth/auth-cass/docker/drun.sh index 1bcff83c..7d05c7f9 100644 --- a/auth/auth-cass/docker/drun.sh +++ b/auth/auth-cass/docker/drun.sh @@ -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 diff --git a/auth/docker/Dockerfile.config b/auth/docker/Dockerfile.config index bc1eafca..59d8c56e 100644 --- a/auth/docker/Dockerfile.config +++ b/auth/docker/Dockerfile.config @@ -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"] diff --git a/auth/docker/aaf.sh b/auth/docker/aaf.sh index 0512944d..6ba8631d 100644 --- a/auth/docker/aaf.sh +++ b/auth/docker/aaf.sh @@ -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 diff --git a/auth/docker/drun.sh b/auth/docker/drun.sh index 358e9239..f5756b81 100644 --- a/auth/docker/drun.sh +++ b/auth/docker/drun.sh @@ -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 diff --git a/auth/sample/bin/pod_wait.sh b/auth/sample/bin/pod_wait.sh index 14350366..5a8d0625 100644 --- a/auth/sample/bin/pod_wait.sh +++ b/auth/sample/bin/pod_wait.sh @@ -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 "$@" diff --git a/auth/sample/bin/service.sh b/auth/sample/bin/service.sh index 7e443b53..5116d36d 100644 --- a/auth/sample/bin/service.sh +++ b/auth/sample/bin/service.sh @@ -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 "") |