3 # ============LICENSE_START====================================================
5 # ===========================================================================
6 # Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
7 # ===========================================================================
8 # Licensed under the Apache License, Version 2.0 (the "License");
9 # you may not use this file except in compliance with the License.
10 # You may obtain a copy of the License at
12 # http://www.apache.org/licenses/LICENSE-2.0
14 # Unless required by applicable law or agreed to in writing, software
15 # distributed under the License is distributed on an "AS IS" BASIS,
16 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 # See the License for the specific language governing permissions and
18 # limitations under the License.
19 # ============LICENSE_END====================================================
22 # Engage normal Cass Init, then check for data installation
24 DIR="/opt/app/aaf/status"
25 INSTALLED_VERSION=/var/lib/cassandra/AAF_VERSION
26 AAF_INIT_DATA=/var/lib/cassandra/AAF_INIT_DATA
28 if [ ! -e /aaf_cmd ]; then
29 ln -s /opt/app/aaf/cass_init/cmd.sh /aaf_cmd
33 # Always need startup status...
34 if [ ! -e "$DIR" ]; then
40 echo "$@" > $DIR/aaf_cass
45 status wait for cassandra to start
46 for CNT in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15; do
47 if [ -z "$(grep 'listening for CQL clients' /var/log/cassandra/system.log)" ]; then
48 echo "Waiting for Cassandra to start... Sleep 10"
58 status wait for keyspace to be initialized
59 for CNT in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15; do
60 if [ -n "$(/usr/bin/cqlsh -e 'describe keyspaces' | grep authz)" ]; then
63 echo "Waiting for Keyspaces to be loaded... Sleep 10"
70 status wait for cassandra to be fully ready
71 for CNT in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15; do
72 STATUS="$(cat $DIR/aaf_cass)"
73 if [ "$STATUS" = "ready" ]; then
76 echo "Waiting for Start, $STATUS... Sleep 10"
82 function install_cql {
84 # Now, make sure data exists
85 if [ ! -e $INSTALLED_VERSION ] && [ -n "$(/usr/bin/cqlsh -e 'describe keyspaces' | grep authz)" ]; then
86 /usr/bin/cqlsh -e 'DROP KEYSPACE authz'
88 if [ -z "`/usr/bin/cqlsh -e 'describe keyspaces' | grep authz`" ]; then
90 echo "Initializing Cassandra DB"
91 echo "Docker Installed Basic Cassandra on aaf_cass. Executing the following "
92 echo "NOTE: This creator provided is only a Single Instance. For more complex Cassandra, create independently"
94 echo " cd /opt/app/aaf/cass_init"
95 cd /opt/app/aaf/cass_init
96 echo " cqlsh -f keyspace.cql"
97 /usr/bin/cqlsh -f keyspace.cql
98 status keyspace installed
99 echo " cqlsh -f init.cql"
100 /usr/bin/cqlsh -f init.cql
101 status data initialized
103 echo "The following will give you a temporary identity with which to start working, or emergency"
104 echo " cqlsh -f temp_identity.cql"
105 echo "casablanca" > $INSTALLED_VERSION
107 echo "Cassandra DB already includes 'authz' keyspace"
112 function install_onap {
113 echo " cd /opt/app/aaf/cass_init"
114 install_cql initialized
115 if [ -e "$AAF_INIT_DATA" ]; then
116 echo "AAF Data already initialized on this Cassandra"
118 status prep data for bootstrapping
119 cd /opt/app/aaf/cass_init
122 status push data to cassandra
125 echo $(date) > $AAF_INIT_DATA
132 # start install_cql in background, waiting for process to start
135 # Startup like normal
136 echo "Cassandra Startup"
137 /usr/local/bin/docker-entrypoint.sh
140 # Wait for initialization. This can be called from Docker only as a check to make sure it is ready
145 cd /opt/app/aaf/cass_init
146 # start install_onap (which calls install_cql first) in background, waiting for process to start
149 # Startup like normal
150 echo "Cassandra Startup"
151 /usr/local/bin/docker-entrypoint.sh