From bc299c00e5a86732c5a063a1d7c7bccf1d4ab21b Mon Sep 17 00:00:00 2001 From: Instrumental Date: Tue, 25 Sep 2018 06:42:31 -0500 Subject: More install to Container Issue-ID: AAF-517 Change-Id: I102f0214b077fca0c4f2712e3005bbe5569475bd Signed-off-by: Instrumental --- auth/auth-cass/docker/Dockerfile.cass | 17 ++++++ auth/auth-cass/docker/cbackup.sh | 8 --- auth/auth-cass/docker/dbuild.sh | 27 +++++++++ auth/auth-cass/docker/dcqlsh.sh | 3 + auth/auth-cass/docker/dinstall.sh | 110 +--------------------------------- auth/auth-cass/docker/drun.sh | 37 ++++++++++++ 6 files changed, 87 insertions(+), 115 deletions(-) create mode 100644 auth/auth-cass/docker/Dockerfile.cass delete mode 100644 auth/auth-cass/docker/cbackup.sh create mode 100644 auth/auth-cass/docker/dbuild.sh create mode 100644 auth/auth-cass/docker/dcqlsh.sh create mode 100644 auth/auth-cass/docker/drun.sh (limited to 'auth/auth-cass/docker') diff --git a/auth/auth-cass/docker/Dockerfile.cass b/auth/auth-cass/docker/Dockerfile.cass new file mode 100644 index 00000000..1f2b2b13 --- /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 9c91d0c6..00000000 --- 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 00000000..df58144d --- /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 00000000..a6c08643 --- /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 6d7f949e..045d5f2f 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 00000000..4f2499c7 --- /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 -- cgit 1.2.3-korg