diff options
Diffstat (limited to 'auth')
-rw-r--r-- | auth/auth-cass/cass_init/cmd.sh | 44 | ||||
-rw-r--r-- | auth/auth-cass/docker/dinstall.sh | 18 | ||||
-rw-r--r-- | auth/docker/drun.sh | 20 |
3 files changed, 67 insertions, 15 deletions
diff --git a/auth/auth-cass/cass_init/cmd.sh b/auth/auth-cass/cass_init/cmd.sh index 09379730..afb66774 100644 --- a/auth/auth-cass/cass_init/cmd.sh +++ b/auth/auth-cass/cass_init/cmd.sh @@ -16,20 +16,36 @@ function status { fi } -function install_cql { - status install +function wait_start { sleep 10 status wait for cassandra to start + for CNT in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15; do + if [ -z "$(grep 'listening for CQL clients' /var/log/cassandra/system.log)" ]; then + echo "Waiting for Cassandra to start... Sleep 10" + sleep 10 + else + break + fi + done +} + +function wait_cql { + status wait for keyspace to be initialized + for CNT in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15; do + if [ "`/usr/bin/cqlsh -e 'describe keyspaces' | grep authz`" == "" ]; then + break + else + echo "Waiting for Keyspaces to be loaded... Sleep 10" + sleep 10 + fi + done +} + +function install_cql { + wait_start started # Now, make sure data exists if [ "$(/usr/bin/cqlsh -e 'describe keyspaces' | grep authz)" = "" ]; then - for CNT in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15; do - if [ -z "$(grep 'listening for CQL clients' /var/log/cassandra/system.log)" ]; then - echo "Waiting for Cassandra to start... Sleep 10" - sleep 10 - else - break - fi - done + status install echo "Initializing Cassandra DB" if [ "`/usr/bin/cqlsh -e 'describe keyspaces' | grep authz`" == "" ]; then echo "Docker Installed Basic Cassandra on aaf_cass. Executing the following " @@ -108,6 +124,14 @@ case "$1" in echo "Cassandra Startup" /usr/local/bin/docker-entrypoint.sh ;; + wait) + # Wait for initialization. This can be called from Docker only as a check to make sure it is ready + wait_start started + + # Make sure Keyspace is loaded + wait_cql + status ready + ;; onap) # start install_onap (which calls install_cql first) in background, waiting for process to start install_onap & diff --git a/auth/auth-cass/docker/dinstall.sh b/auth/auth-cass/docker/dinstall.sh index c21b7fcc..ec82d8af 100644 --- a/auth/auth-cass/docker/dinstall.sh +++ b/auth/auth-cass/docker/dinstall.sh @@ -1,7 +1,19 @@ #!/bin/bash - +# +# This is only called from HEAT, as it needs a single check and wait for Cassandra to be ready +# . drun.sh -# echo $DOCKER -# docker exec -it aaf_cass bash aaf_cmd onap +echo "Waiting for Cass to be initialized" +for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14; do + docker exec -it aaf_cass bash aaf_cmd wait 2> /dev/null + if [ "$?" -ne "0" ]; then + echo "Container not ready... Sleep 10" + sleep 10 + else + echo "aaf_cass is ready" + break + fi +done + diff --git a/auth/docker/drun.sh b/auth/docker/drun.sh index 350ce3db..a8f03936 100644 --- a/auth/docker/drun.sh +++ b/auth/docker/drun.sh @@ -59,13 +59,29 @@ for AAF_COMPONENT in ${AAF_COMPONENTS}; do echo Starting aaf_$AAF_COMPONENT... + if [ -n "$AAF_REGISTER_AS" ] && [ "$HOSTNAME" != "$AAF_REGISTER_AS" ]; then + AH_ROOT="$HOSTNAME $AAF_REGISTER_AS" + else + AH_ROOT="$HOSTNAME" + fi + + for A in aaf.osaaf.org $AH_ROOT; do + ADD_HOST="$ADD_HOST --add-host=$A:$HOST_IP" + for SA in service locate oauth gui fs cm hello; do + ADD_HOST="$ADD_HOST --add-host=$SA.$A:$HOST_IP" + done + done + docker run \ -d \ --name aaf_$AAF_COMPONENT \ --hostname="${AAF_COMPONENT}.aaf.osaaf.org" \ - --add-host="$HOSTNAME:$HOST_IP" \ - --add-host="aaf.osaaf.org:$HOST_IP" \ + $ADD_HOST \ ${LINKS} \ + --env AAF_ENV=${AAF_ENV} \ + --env AAF_REGISTER_AS=${AAF_REGISTER_AS} \ + --env LATITUDE=${LATITUDE} \ + --env LONGITUDE=${LONGITUDE} \ --publish $PORTMAP \ --mount 'type=volume,src=aaf_config,dst='$CONF_ROOT_DIR',volume-driver=local' \ ${PREFIX}${ORG}/${PROJECT}/aaf_${AAF_COMPONENT}:${VERSION} |