44ee7130757ba8e2a41a3c239b9d05045d26c9f0
[aaf/authz.git] / auth / auth-cass / docker / dinstall.sh
1 #!/bin/bash 
2 if [ -e /usr/bin/docker ]; then 
3   DOCKER=/usr/bin/docker
4 elif [ -e /usr/local/bin/docker ]; then
5   DOCKER=/usr/local/bin/docker
6 else
7   echo Docker not available in /usr/bin or /usr/local/bin
8   exit
9 fi
10 echo "Running DInstall"
11 if [ "`$DOCKER ps -a | grep aaf_cass`" == "" ]; then
12   echo "starting Cass from 'run'"
13   # NOTE: These HEAP Sizes are minimal. Not set for full organizations.
14   $DOCKER run --name aaf_cass -e HEAP_NEWSIZE=512M -e MAX_HEAP_SIZE=1024M -e CASSANDRA_DC=dc1 -e CASSANDRA_CLUSTER_NAME=osaaf -d cassandra:3.11 
15   # Set on local Disk
16   # -v /opt/app/cass:/var/lib/cassandra 
17   echo "aaf_cass Starting"
18   for CNT in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15; do
19      if [ "`$DOCKER container logs aaf_cass | grep 'listening for CQL clients'`" == "" ]; then
20         echo "Sleep 10"
21         sleep 10
22      else 
23         break
24      fi
25   done
26   
27   echo "Running Phase 2 DInstall"
28   $DOCKER container ps
29   
30   echo "Creating /opt/app/cass_init dir on aaf_cass"
31   $DOCKER exec aaf_cass mkdir -p /opt/app/cass_init
32   echo "cp the following files to /opt/app/cass_init dir on aaf_cass"
33   ls ../src/main/cql
34   $DOCKER cp "../src/main/cql/." aaf_cass:/opt/app/cass_init
35   echo "The following files are on /opt/app/cass_init dir on aaf_cass"
36   $DOCKER exec aaf_cass ls /opt/app/cass_init
37   
38   if [ "`$DOCKER exec aaf_cass /usr/bin/cqlsh -e 'describe keyspaces' | grep authz`" == "" ]; then
39     echo "Docker Installed Basic Cassandra on aaf_cass.  Executing the following "
40     echo "NOTE: This creator provided is only a Single Instance. For more complex Cassandra, create independently"
41     echo ""
42     echo " cd /opt/app/cass_init"  
43     echo " cqlsh -f keyspace.cql"
44     echo " cqlsh -f init.cql"
45     echo " cqlsh -f osaaf.cql"
46     echo ""
47     echo "The following will give you a temporary identity with which to start working, or emergency"
48     echo " cqlsh -f temp_identity.cql"
49     echo "Create Keyspaces and Tables"
50     $DOCKER exec aaf_cass bash /usr/bin/cqlsh -f /opt/app/cass_init/keyspace.cql
51     $DOCKER exec aaf_cass bash /usr/bin/cqlsh -e 'describe keyspaces'
52     $DOCKER exec aaf_cass bash /usr/bin/cqlsh -f /opt/app/cass_init/init.cql
53     $DOCKER exec aaf_cass bash /usr/bin/cqlsh -f /opt/app/cass_init/osaaf.cql
54     $DOCKER exec aaf_cass bash /usr/bin/cqlsh -f /opt/app/cass_init/temp_identity.cql
55   fi
56 else 
57   $DOCKER start aaf_cass
58 fi