X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=auth%2Fauth-cass%2Fcass_init%2Fcmd.sh;h=bfd592a368c4d682ad20beab408a61f24bbd091f;hb=HEAD;hp=98194e089f90bc1895a341fcc6cbfd850f4d3cdd;hpb=7a1817bf3cf3c40c6c33f673ddc46c3f115cc3bc;p=aaf%2Fauthz.git diff --git a/auth/auth-cass/cass_init/cmd.sh b/auth/auth-cass/cass_init/cmd.sh index 98194e08..bfd592a3 100644 --- a/auth/auth-cass/cass_init/cmd.sh +++ b/auth/auth-cass/cass_init/cmd.sh @@ -24,6 +24,7 @@ DIR="/opt/app/aaf/status" INSTALLED_VERSION=/var/lib/cassandra/AAF_VERSION AAF_INIT_DATA=/var/lib/cassandra/AAF_INIT_DATA +CQLSH=${CQLSH:=/usr/bin/cqlsh} if [ ! -e /aaf_cmd ]; then ln -s /opt/app/aaf/cass_init/cmd.sh /aaf_cmd @@ -33,11 +34,12 @@ fi # Always need startup status... if [ ! -e "$DIR" ]; then mkdir -p "$DIR" + chmod 777 $DIR fi function status { echo "$@" - echo "$@" > $DIR/aaf_cass + echo "$@" > $DIR/aaf-cass } function wait_start { @@ -48,16 +50,29 @@ function wait_start { echo "Waiting for Cassandra to start... Sleep 10" sleep 10 else + status cassandra started break fi done + # Logs state Cassandra is up. Now use cqlsh to ensure responsive + echo "Cassandra started, wait until it is responsive" + for CNT in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15; do + if [ -z "$(cqlsh -e 'describe keyspaces')" ]; then + echo "Waiting for Cassandra to be responsive... Sleep 10" + sleep 10 + else + echo "Cassandra responded" + status cassandra responsive + 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 [ -n "$(/usr/bin/cqlsh -e 'describe keyspaces' | grep authz)" ]; then + if [ -n "$($CQLSH -e 'describe keyspaces' | grep authz)" ]; then break else echo "Waiting for Keyspaces to be loaded... Sleep 10" @@ -69,7 +84,7 @@ function wait_cql { function wait_ready { status wait for cassandra to be fully ready for CNT in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15; do - STATUS="$(cat $DIR/aaf_cass)" + STATUS="$(cat $DIR/aaf-cass)" if [ "$STATUS" = "ready" ]; then break else @@ -80,29 +95,30 @@ function wait_ready { } function install_cql { - wait_start started + wait_start cassandra responsive # Now, make sure data exists - if [ ! -e $INSTALLED_VERSION ] && [ -n "$(/usr/bin/cqlsh -e 'describe keyspaces' | grep authz)" ]; then - /usr/bin/cqlsh -e 'DROP KEYSPACE authz' + if [ ! -e $INSTALLED_VERSION ] && [ -n "$($CQLSH -e 'describe keyspaces' | grep authz)" ]; then + $CQLSH --request-timeout=60 -e 'DROP KEYSPACE authz' fi - if [ -z "`/usr/bin/cqlsh -e 'describe keyspaces' | grep authz`" ]; then + + if [ -z "$($CQLSH --request-timeout 60 -e 'describe keyspaces' | grep authz)" ]; then status install echo "Initializing Cassandra DB" - echo "Docker Installed Basic Cassandra on aaf_cass. Executing the following " + echo "Docker Installed Basic Cassandra on aaf.cass. Executing the following " echo "NOTE: This creator provided is only a Single Instance. For more complex Cassandra, create independently" echo "" echo " cd /opt/app/aaf/cass_init" cd /opt/app/aaf/cass_init echo " cqlsh -f keyspace.cql" - /usr/bin/cqlsh -f keyspace.cql + $CQLSH --request-timeout=100 -f keyspace.cql status keyspace installed echo " cqlsh -f init.cql" - /usr/bin/cqlsh -f init.cql + $CQLSH --request-timeout=100 -f init.cql status data initialized echo "" echo "The following will give you a temporary identity with which to start working, or emergency" echo " cqlsh -f temp_identity.cql" - echo "casablanca" > $INSTALLED_VERSION + echo "frankfurt" > $INSTALLED_VERSION else echo "Cassandra DB already includes 'authz' keyspace" fi @@ -120,6 +136,7 @@ function install_onap { status prep data bash prep.sh status push data to cassandra + # bash push.sh bash push.sh cd - echo $(date) > $AAF_INIT_DATA @@ -134,7 +151,7 @@ case "$1" in # Startup like normal echo "Cassandra Startup" - /usr/local/bin/docker-entrypoint.sh + exec -c "/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 @@ -148,7 +165,10 @@ case "$1" in # Startup like normal echo "Cassandra Startup" - /usr/local/bin/docker-entrypoint.sh + if ! cat /etc/cassandra/cassandra.yaml | grep "write_request_timeout_in_ms: 20000"; then + sed -i 's/write_request_timeout_in_ms: 2000/write_request_timeout_in_ms: 20000/' /etc/cassandra/cassandra.yaml + fi + exec /usr/local/bin/docker-entrypoint.sh ;; esac