More install to Container

Issue-ID: AAF-517
Change-Id: I102f0214b077fca0c4f2712e3005bbe5569475bd
Signed-off-by: Instrumental <jonathan.gathman@att.com>
diff --git a/auth/auth-cass/docker/Dockerfile.cass b/auth/auth-cass/docker/Dockerfile.cass
new file mode 100644
index 0000000..1f2b2b1
--- /dev/null
+++ b/auth/auth-cass/docker/Dockerfile.cass
@@ -0,0 +1,17 @@
+FROM nexus3.onap.org:10001/cassandra:3.11
+MAINTAINER AAF Team, AT&T 2018
+ENV VERSION=${AAF_VERSION}
+
+LABEL description="aaf_cass"
+LABEL version=${AAF_VERSION}
+
+COPY cass_init/*.cql /opt/app/aaf/cass_init/
+COPY cass_init/*.sh /opt/app/aaf/cass_init/
+COPY cass_init/*.dat /opt/app/aaf/cass_init/
+COPY cass_data /opt/app/aaf/cass_init/dats/
+COPY sample.identities.dat /opt/app/aaf/cass_init/
+
+ENTRYPOINT ["/bin/bash","/opt/app/aaf/cass_init/cmd.sh"]
+CMD ["start"]
+# Default is to start up like normal
+
diff --git a/auth/auth-cass/docker/cbackup.sh b/auth/auth-cass/docker/cbackup.sh
deleted file mode 100644
index 9c91d0c..0000000
--- a/auth/auth-cass/docker/cbackup.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-cd /opt/app/cass_backup
-DATA="ns role perm ns_attrib user_role cred cert x509 delegate approval approved future notify artifact health history"
-PWD=cassandra
-CQLSH="cqlsh -u cassandra -k authz -p $PWD"
-for T in $DATA ; do
-    echo "Creating $T.dat"
-    $CQLSH -e  "COPY authz.$T TO '$T.dat' WITH DELIMITER='|'"
-done
diff --git a/auth/auth-cass/docker/dbuild.sh b/auth/auth-cass/docker/dbuild.sh
new file mode 100644
index 0000000..df58144
--- /dev/null
+++ b/auth/auth-cass/docker/dbuild.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+# 
+# Build AAF Cass Docker Script
+#
+# Pull in AAF Env Variables from AAF install
+if [ -e ../../docker/d.props ]; then
+  . ../../docker/d.props
+else
+  . ../../docker/d.props.init
+fi
+
+echo "Building Container for aaf_cass:$VERSION"
+
+DIR=$(pwd)
+cd ..
+sed -e 's/${AAF_VERSION}/'${VERSION}'/g' $DIR/Dockerfile.cass > Dockerfile
+cd ..
+cp -Rf sample/cass_data auth-cass/cass_data
+cp sample/data/sample.identities.dat auth-cass
+
+docker build -t ${ORG}/${PROJECT}/aaf_cass:${VERSION} auth-cass
+cd -
+rm Dockerfile
+rm -Rf cass_data
+rm sample.identities.dat
+cd $DIR
+
diff --git a/auth/auth-cass/docker/dcqlsh.sh b/auth/auth-cass/docker/dcqlsh.sh
new file mode 100644
index 0000000..a6c0864
--- /dev/null
+++ b/auth/auth-cass/docker/dcqlsh.sh
@@ -0,0 +1,3 @@
+#!/bin/bash 
+docker exec -it aaf_cass /usr/bin/cqlsh -k authz
+
diff --git a/auth/auth-cass/docker/dinstall.sh b/auth/auth-cass/docker/dinstall.sh
index 6d7f949..045d5f2 100644
--- a/auth/auth-cass/docker/dinstall.sh
+++ b/auth/auth-cass/docker/dinstall.sh
@@ -1,111 +1,7 @@
 #!/bin/bash 
-if [ -e /usr/bin/docker ]; then 
-  DOCKER=/usr/bin/docker
-elif [ -e /usr/local/bin/docker ]; then
-  DOCKER=/usr/local/bin/docker
-else
-  echo Docker not available in /usr/bin or /usr/local/bin
-  exit
-fi
 
-if [ "$($DOCKER volume ls | grep aaf_cass_data)" = "" ]; then
-  $DOCKER volume create aaf_cass_data
-  echo "Created Cassandra Volume aaf_cass_data"
-fi
+. drun.sh
 
-echo "Running DInstall"
-if [ "`$DOCKER ps -a | grep aaf_cass`" == "" ]; then
-  echo "starting Cass from 'run'"
-  # NOTE: These HEAP Sizes are minimal. Not set for full organizations.
-  $DOCKER run \
-    --name aaf_cass \
-    -e HEAP_NEWSIZE=512M \
-    -e MAX_HEAP_SIZE=1024M \
-    -e CASSANDRA_DC=dc1 \
-    -e CASSANDRA_CLUSTER_NAME=osaaf \
-    --mount 'type=volume,src=aaf_cass_data,dst=/var/lib/cassandra,volume-driver=local' \
-    -d cassandra:3.11 
-  # Set on local Disk
-  # -v /opt/app/cass:/var/lib/cassandra 
-  echo "aaf_cass Starting"
-  for CNT in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15; do
-     if [ "`$DOCKER container logs aaf_cass | grep 'listening for CQL clients'`" == "" ]; then
-	echo "Sleep 10"
-        sleep 10
-     else 
-     	break
-     fi
-  done
-  
-  echo "Running Phase 2 DInstall"
-  $DOCKER container ps
-  
-  echo "Creating /opt/app/cass_init dir on aaf_cass"
-  $DOCKER exec aaf_cass mkdir -p /opt/app/cass_init
-  echo "cp the following files to /opt/app/cass_init dir on aaf_cass"
-  $DOCKER cp "../src/main/cql/." aaf_cass:/opt/app/cass_init
-  echo "The following files are on /opt/app/cass_init dir on aaf_cass"
-  $DOCKER exec aaf_cass ls /opt/app/cass_init
-  
-  if [ "`$DOCKER exec aaf_cass /usr/bin/cqlsh -e 'describe keyspaces' | grep authz`" == "" ]; then
-    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/cass_init"  
-    echo " cqlsh -f keyspace.cql"
-    echo " cqlsh -f init.cql"
-    echo ""
-    echo "The following will give you a temporary identity with which to start working, or emergency"
-    echo " cqlsh -f temp_identity.cql"
-    echo "Create Keyspaces and Tables"
-    $DOCKER exec aaf_cass bash /usr/bin/cqlsh -f /opt/app/cass_init/keyspace.cql
-    $DOCKER exec aaf_cass bash /usr/bin/cqlsh -e 'describe keyspaces'
-    $DOCKER exec aaf_cass bash /usr/bin/cqlsh -f /opt/app/cass_init/init.cql
-    cd ../../sample/cass_data
-    ID_FILE=../data/identities.dat 
-    if [ -e $ID_FILE ]; then
-      DATE=$(date "+%Y-%m-%d %H:%M:%S.000+0000" -d "+6 months")
-      echo $DATE
-      CRED="cred.dat"
-      # Enter for People
-      echo "Default Passwords for People"
-      for ID in $(grep '|a|' $ID_FILE | sed -e "s/|.*//"); do
-	 if [ "$ID" = "aaf" ]; then
-	    DOMAIN="aaf.osaaf.org";
-	 else
-            DOMAIN="$ID.onap.org";
-	 fi
-	 unset FIRST
-	 for D in ${DOMAIN//./ }; do
-            if [ -z "$FIRST" ]; then
-	      NS="$D"
-	      FIRST="N"
-	    else
-              NS="$D.$NS"
-	    fi
-         done     
-	 echo "$ID@$DOMAIN|2|${DATE}|0xd993c5617486296f1b99d04de31633332b8ba1a550038e23860f9dbf0b2fcf95|Initial ID|$NS|53344|" >> $CRED
-      done
-    
-      for ID in $(grep '|e|' $ID_FILE | sed -e "s/|.*//"); do
-	 echo "$ID@people.osaaf.org|2|${DATE}|0xd993c5617486296f1b99d04de31633332b8ba1a550038e23860f9dbf0b2fcf95|Initial ID|org.osaaf.people|53344|" >> $CRED
-      done
-    
-      mv user_role.dat tmp
-      sed "s/\(^.*|\)\(.*|\)\(.*|\)\(.*\)/\1${DATE}|\3\4/" tmp > user_role.dat 
+echo $DOCKER
+docker exec -it aaf_cass bash aaf_cmd onap
 
-      for DAT in ns perm role ns_attrib user_role cred; do 
-          $DOCKER container cp $DAT.dat aaf_cass:/tmp/$DAT.dat
-          $DOCKER exec aaf_cass bash /usr/bin/cqlsh -k authz -e "COPY authz.$DAT FROM '/tmp/$DAT.dat' WITH DELIMITER='|'"
-          $DOCKER exec -t aaf_cass rm /tmp/$DAT.dat
-      done
-      rm $CRED
-      mv tmp user_role.dat
-    else
-        echo DInstall requires access to 'identities.dat'
-    fi
-    cd -
-  fi
-else 
-  $DOCKER start aaf_cass
-fi
diff --git a/auth/auth-cass/docker/drun.sh b/auth/auth-cass/docker/drun.sh
new file mode 100644
index 0000000..4f2499c
--- /dev/null
+++ b/auth/auth-cass/docker/drun.sh
@@ -0,0 +1,37 @@
+#!/bin/bash 
+
+# Pull in AAF Env Variables from AAF install
+if [ -e ../../docker/d.props ]; then
+  . ../../docker/d.props
+else
+  . ../../docker/d.props.init
+fi
+
+if [ -e /usr/bin/docker ]; then 
+  DOCKER=/usr/bin/docker
+elif [ -e /usr/local/bin/docker ]; then
+  DOCKER=/usr/local/bin/docker
+else
+  echo Docker not available in /usr/bin or /usr/local/bin
+  exit
+fi
+
+if [ "$($DOCKER volume ls | grep aaf_cass_data)" = "" ]; then
+  $DOCKER volume create aaf_cass_data
+  echo "Created Cassandra Volume aaf_cass_data"
+fi
+
+if [ "`$DOCKER ps -a | grep aaf_cass`" == "" ]; then
+  echo "starting Cass from 'run'"
+  # NOTE: These HEAP Sizes are minimal. Not set for full organizations.
+  $DOCKER run \
+    --name aaf_cass \
+    -e HEAP_NEWSIZE=512M \
+    -e MAX_HEAP_SIZE=1024M \
+    -e CASSANDRA_DC=dc1 \
+    -e CASSANDRA_CLUSTER_NAME=osaaf \
+    --mount 'type=volume,src=aaf_cass_data,dst=/var/lib/cassandra,volume-driver=local' \
+    -d ${ORG}/${PROJECT}/aaf_cass:${VERSION} 
+else 
+  $DOCKER start aaf_cass
+fi