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
41 echo "$@" > $DIR/aaf-cass
46 status wait for cassandra to start
47 for CNT in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15; do
48 if [ -z "$(grep 'listening for CQL clients' /var/log/cassandra/system.log)" ]; then
49 echo "Waiting for Cassandra to start... Sleep 10"
59 status wait for keyspace to be initialized
60 for CNT in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15; do
61 if [ -n "$(/usr/bin/cqlsh -e 'describe keyspaces' | grep authz)" ]; then
64 echo "Waiting for Keyspaces to be loaded... Sleep 10"
71 status wait for cassandra to be fully ready
72 for CNT in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15; do
73 STATUS="$(cat $DIR/aaf-cass)"
74 if [ "$STATUS" = "ready" ]; then
77 echo "Waiting for Start, $STATUS... Sleep 10"
83 function install_cql {
85 # Now, make sure data exists
86 if [ ! -e $INSTALLED_VERSION ] && [ -n "$(/usr/bin/cqlsh -e 'describe keyspaces' | grep authz)" ]; then
87 /usr/bin/cqlsh -e 'DROP KEYSPACE authz'
89 if [ -z "`/usr/bin/cqlsh -e 'describe keyspaces' | grep authz`" ]; then
91 echo "Initializing Cassandra DB"
92 echo "Docker Installed Basic Cassandra on aaf.cass. Executing the following "
93 echo "NOTE: This creator provided is only a Single Instance. For more complex Cassandra, create independently"
95 echo " cd /opt/app/aaf/cass_init"
96 cd /opt/app/aaf/cass_init
97 echo " cqlsh -f keyspace.cql"
98 /usr/bin/cqlsh -f keyspace.cql
99 status keyspace installed
100 echo " cqlsh -f init.cql"
101 /usr/bin/cqlsh -f init.cql
102 status data initialized
104 echo "The following will give you a temporary identity with which to start working, or emergency"
105 echo " cqlsh -f temp_identity.cql"
106 echo "casablanca" > $INSTALLED_VERSION
108 echo "Cassandra DB already includes 'authz' keyspace"
113 function install_onap {
114 echo " cd /opt/app/aaf/cass_init"
115 install_cql initialized
116 if [ -e "$AAF_INIT_DATA" ]; then
117 echo "AAF Data already initialized on this Cassandra"
119 status prep data for bootstrapping
120 cd /opt/app/aaf/cass_init
123 status push data to cassandra
126 echo $(date) > $AAF_INIT_DATA
133 # start install_cql in background, waiting for process to start
136 # Startup like normal
137 echo "Cassandra Startup"
138 exec /usr/local/bin/docker-entrypoint.sh
141 # Wait for initialization. This can be called from Docker only as a check to make sure it is ready
146 cd /opt/app/aaf/cass_init
147 # start install_onap (which calls install_cql first) in background, waiting for process to start
150 # Startup like normal
151 echo "Cassandra Startup"
152 exec /usr/local/bin/docker-entrypoint.sh