diff options
Diffstat (limited to 'music-rest/distribution/cassandra_job/runcql.sh')
-rw-r--r-- | music-rest/distribution/cassandra_job/runcql.sh | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/music-rest/distribution/cassandra_job/runcql.sh b/music-rest/distribution/cassandra_job/runcql.sh new file mode 100644 index 00000000..89396bfc --- /dev/null +++ b/music-rest/distribution/cassandra_job/runcql.sh @@ -0,0 +1,112 @@ +#! /bin/bash +# +# ============LICENSE_START========================================== +# org.onap.music +# =================================================================== +# Copyright (c) 2019 AT&T Intellectual Property +# =================================================================== +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# ============LICENSE_END============================================= +# ==================================================================== + +if [ -z "$TIMEOUT" ]; then + TIMEOUT=10; +fi +if [ -z "$DELAY" ]; then + DELAY=60; +fi +TO="--request-timeout=$TIMEOUT" + +if [ $CASS_HOSTNAME ]; then + echo "Sleeping for $DELAY seconds before running cql"; + sleep $DELAY; + >&2 echo "#############################################" + >&2 echo "############## Let run cql's ################" + >&2 echo "#############################################" + >&2 echo "Current Variables in play" + >&2 echo "Default User" + >&2 echo "DEF_USER="$DEF_USER + >&2 echo "DEF_PASS=***********" + >&2 echo "New User" + >&2 echo "USERNAME="$USERNAME + >&2 echo "PASSWORD=***********" + >&2 echo "TIMEOUT="$TIMEOUT + >&2 echo "Running cqlsh $TO -u cassandra -p cassandra -e \"describe keyspaces;\" ${CASS_HOSTNAME} ${PORT};" + if cqlsh $TO -u cassandra -p cassandra -e "describe keyspaces;" ${CASS_HOSTNAME} ${PORT}; + then + >&2 echo "Cassandra user still avalable, will continue as usual"; + else + CASSFAIL=true + >&2 echo "$DEF_USER failed, trying with $USERNAME" + if cqlsh $TO -u $USERNAME -p $PASSWORD -e "describe keyspaces;" ${CASS_HOSTNAME} ${PORT}; + then + >&2 echo "Password $USERNAME in play, update Variables" + DEF_USER=$USERNAME + DEF_PASS=$PASSWORD + >&2 echo "DEF_USER="$DEF_USER + >&2 echo "DEF_PASS=***********" + if cqlsh $TO -u $USERNAME -p $PASSWORD -e "describe keyspaces;" ${CASS_HOSTNAME} ${PORT} | grep admin; + then + >&2 echo "Admin table exists, everything looks good" + exit 0; + else + >&2 echo "Admin does not exists but password has changed. Continue as usual with proper username set" + >&2 echo "DEF_USER=" $DEF_USER + fi + else + if [ $CASSFAIL ]; then + >&2 echo "$DEF_USER and $USERNAME fail. DB might need to be initialized again. This shouldn't have happend." + exit 1; + else + >&2 echo "Continue and as usual" + fi + fi + fi + >&2 echo "Running admin.cql file:" + >&2 echo "Running cqlsh -u $DEF_USER -p $DEF_PASS -f /cql/admin.cql ${CASS_HOSTNAME} ${PORT}" + sleep 1; + if cqlsh $TO -u $DEF_USER -p $DEF_PASS -f /cql/admin.cql ${CASS_HOSTNAME} ${PORT}; + then + >&2 echo "Success - admin.cql - Admin keyspace created"; + else + >&2 echo "Failure - admin.cql"; + exit 0; + fi + >&2 echo "Running admin_pw.cql file:" + >&2 echo "Running cqlsh -u $DEF_USER -p $DEF_PASS -f /cql/admin_pw.cql ${CASS_HOSTNAME} ${PORT}" + sleep 1; + if cqlsh $TO -u $DEF_USER -p $DEF_PASS -f /cql/admin_pw.cql ${CASS_HOSTNAME} ${PORT}; + then + >&2 echo "Success - admin_pw.cql - Password Changed"; + else + >&2 echo "Failure - admin_pw.cql"; + exit 0; + fi + + >&2 echo "Running Test - look for admin keyspace:" + >&2 echo "Running cqlsh -u $USERNAME -p $PASSWORD -e "select * from system_auth.roles;" ${CASS_HOSTNAME} ${PORT}" + sleep 1; + if cqlsh $TO -u $USERNAME -p $PASSWORD -e "select * from system_auth.roles;" ${CASS_HOSTNAME} ${PORT} + then + >&2 echo "Success - running test"; + else + >&2 echo "Failure - running test"; + exit 0; + fi + +else + >&2 echo "Missing CASS_HOSTNAME"; + exit 0; +fi + |