Refine properties for non-root
[aaf/authz.git] / auth / auth-cass / cass_init / cmd.sh
index 975a056..ba55648 100644 (file)
@@ -1,9 +1,29 @@
 #!/bin/bash 
+#########
+#  ============LICENSE_START====================================================
+#  org.onap.aaf
+#  ===========================================================================
+#  Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
+#  ===========================================================================
+#  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====================================================
+#
 #
 # Engage normal Cass Init, then check for data installation
 #
 DIR="/opt/app/aaf/status"
-INSTALLED_VERSION=/etc/cassandra/AAF_VERSION
+INSTALLED_VERSION=/var/lib/cassandra/AAF_VERSION
+AAF_INIT_DATA=/var/lib/cassandra/AAF_INIT_DATA
 
 if [ ! -e /aaf_cmd ]; then
   ln -s /opt/app/aaf/cass_init/cmd.sh /aaf_cmd
@@ -13,11 +33,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 {
@@ -49,7 +70,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
@@ -68,7 +89,7 @@ function install_cql {
     if [ -z "`/usr/bin/cqlsh -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"
@@ -92,13 +113,18 @@ function install_cql {
 function install_onap {
     echo " cd /opt/app/aaf/cass_init"
     install_cql initialized
-    status prep data for bootstrapping
-    cd /opt/app/aaf/cass_init
-    status prep data 
-    bash prep.sh
-    status push data to cassandra
-    bash push.sh
-    cd -
+    if [ -e "$AAF_INIT_DATA" ]; then 
+       echo "AAF Data already initialized on this Cassandra"
+    else 
+      status prep data for bootstrapping
+      cd /opt/app/aaf/cass_init
+      status prep data 
+      bash prep.sh
+      status push data to cassandra
+      bash push.sh
+      cd -
+      echo $(date) > $AAF_INIT_DATA
+    fi
     status ready
 }
 
@@ -109,7 +135,7 @@ case "$1" in
 
     # Startup like normal
     echo "Cassandra Startup"
-    /usr/local/bin/docker-entrypoint.sh 
+    exec /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
@@ -119,11 +145,11 @@ case "$1" in
   onap)
     cd /opt/app/aaf/cass_init
     # start install_onap (which calls install_cql first) in background, waiting for process to start
-    install_onap 
+    install_onap &
 
     # Startup like normal
     echo "Cassandra Startup"
-    /usr/local/bin/docker-entrypoint.sh 
+    exec /usr/local/bin/docker-entrypoint.sh 
   ;;
 esac