X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=auth%2Fauth-cass%2Fdocker%2Fdinstall.sh;h=bdbadf688e4a1f45a4a1d8e5524c98b0cdf04d64;hb=4ad4763d8c9191998cc671a884d1af5da6ba8bb9;hp=0418fa813945254ec38072b07b968bd424f8843c;hpb=47786841348b514f6e7fbaccf813057e7806aec9;p=aaf%2Fauthz.git diff --git a/auth/auth-cass/docker/dinstall.sh b/auth/auth-cass/docker/dinstall.sh index 0418fa81..bdbadf68 100644 --- a/auth/auth-cass/docker/dinstall.sh +++ b/auth/auth-cass/docker/dinstall.sh @@ -1,36 +1,71 @@ #!/bin/bash -if [ "`docker ps -a | grep aaf_cass`" == "" ]; then - docker run --name aaf_cass -d cassandra:3.11 - echo "aaf_cass Starting" - echo "Check for running Docker Container aaf_cass, then run again." +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 - -docker exec aaf_cass mkdir -p /opt/app/cass_init -docker cp "../src/main/cql/." aaf_cass:/opt/app/cass_init +fi -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 -u root -p root -f keyspace.cql" -echo " cqlsh -u root -p root -f init.cql" -echo " cqlsh -u root -p root -f osaaf.cql" -echo "" -echo "The following will give you a temporary identity with which to start working, or emergency" -echo " cqlsh -u root -p root -f temp_identity.cql" -echo "Sleeping for 20 seconds" -sleep 20 -echo "Do a repair, to ensure Cassandra is actually running yet" -docker exec -it aaf_cass bash -c 'nodetool repair' +if [ "$($DOCKER volume ls | grep aaf_cass_data)" = "" ]; then + $DOCKER volume create aaf_cass_data + echo "Created Cassandra Volume aaf_cass_data" +fi -echo "Create Keyspaces and Tables" -docker exec -it aaf_cass bash -c '\ -cd /opt/app/cass_init; \ -echo "Creating Keyspace";cqlsh -u root -p root -f keyspace.cql;\ -echo "Creating init";cqlsh -u root -p root -f init.cql;\ -echo "Creating osaaf";cqlsh -u root -p root -f osaaf.cql;\ -echo "Creating temp Identity";cqlsh -u root -p root -f temp_identity.cql' - -echo "Inspecting aafcassadra. Use to get the IP address to update org.osaaf.cassandra.props" -docker inspect aaf_cass | grep '"IPAddress' | head -1 +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" + ls ../src/main/cql + $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 " cqlsh -f osaaf.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 + $DOCKER exec aaf_cass bash /usr/bin/cqlsh -f /opt/app/cass_init/osaaf.cql + $DOCKER exec aaf_cass bash /usr/bin/cqlsh -f /opt/app/cass_init/temp_identity.cql + fi +else + $DOCKER start aaf_cass +fi