Fix: AAF timing issues

We wait until the cassandra DB comes up and listen on TCP 9042
before running any cqlsh commands. Also we increse cqlsh
--request-timeout to 60 seconds and in order to prevent
coordinator write timeouts we increase write_request_
timeout_in_ms to 20 seconds. So that Cassandra DB comes up in
all different setpups without any failures.

Change-Id: Idf2e1080a0ec39d6a594888f13625ef173aa5467
Issue-ID: AAF-773
Signed-off-by: kranthi.guttikonda@att.com
Signed-off-by: root <kranthi.guttikonda@att.com>
diff --git a/auth/auth-cass/cass_init/cmd.sh b/auth/auth-cass/cass_init/cmd.sh
index ba55648..d43e07d 100644
--- a/auth/auth-cass/cass_init/cmd.sh
+++ b/auth/auth-cass/cass_init/cmd.sh
@@ -92,13 +92,18 @@
         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 ""
+        until /usr/bin/cqlsh -e 'describe keyspaces';
+        do
+          echo "Cassandra DB is not up Yet!! Trying in 10 seconds"
+          sleep 10
+        done
         echo " cd /opt/app/aaf/cass_init"
         cd /opt/app/aaf/cass_init
         echo " cqlsh -f keyspace.cql"
-        /usr/bin/cqlsh -f keyspace.cql
+        /usr/bin/cqlsh --request-timeout=60 -f keyspace.cql
 	status keyspace installed
         echo " cqlsh -f init.cql"
-        /usr/bin/cqlsh -f init.cql
+        /usr/bin/cqlsh --request-timeout=60 -f init.cql
 	status data initialized
         echo ""
         echo "The following will give you a temporary identity with which to start working, or emergency"
@@ -149,6 +154,9 @@
 
     # Startup like normal
     echo "Cassandra Startup"
+    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
diff --git a/auth/auth-cass/cass_init/push.sh b/auth/auth-cass/cass_init/push.sh
index 9d59bd0..f3e5d80 100644
--- a/auth/auth-cass/cass_init/push.sh
+++ b/auth/auth-cass/cass_init/push.sh
@@ -35,7 +35,11 @@
 cd dats
 for T in $(ls *.dat); do
   if [ -s $T ]; then
-    cqlsh -e "COPY authz.${T/.dat/} FROM '$T' WITH DELIMITER='|';"
+    until cqlsh --request-timeout=60 -e "COPY authz.${T/.dat/} FROM '$T' WITH DELIMITER='|';";
+    do
+      echo "Unexpected failure...sleep for 10 seconds and try again"
+      sleep 10
+    done
   fi
 done
 cd $DIR