Merge "Upgrade APPC to use common mariadb galera charts"
[oom.git] / kubernetes / appc / resources / config / appc / opt / onap / appc / bin / startODL.sh
index 0b9e631..3cbee8d 100755 (executable)
@@ -5,6 +5,7 @@
 # APPC
 # ================================================================================
 # Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+# Modifications Copyright © 2018 Amdocs,Bell Canada
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -32,10 +33,6 @@ function enable_odl_cluster(){
      exit
   fi
 
-  echo "Installing Opendaylight cluster features"
-  ${ODL_HOME}/bin/client -u karaf feature:install odl-mdsal-clustering
-  ${ODL_HOME}/bin/client -u karaf feature:install odl-jolokia
-
   echo "Update cluster information statically"
   hm=$(hostname)
   echo "Get current Hostname ${hm}"
@@ -53,12 +50,17 @@ function enable_odl_cluster(){
 }
 
 ODL_HOME=${ODL_HOME:-/opt/opendaylight/current}
-ODL_ADMIN_PASSWORD=${ODL_ADMIN_PASSWORD:-Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U}
-SDNC_HOME=${SDNC_HOME:-/opt/onap/sdnc}
+ODL_ADMIN_PASSWORD=${ODL_ADMIN_PASSWORD:-admin}
+SDNC_HOME=${SDNC_HOME:-/opt/onap/ccsdk}
 APPC_HOME=${APPC_HOME:-/opt/onap/appc}
 SLEEP_TIME=${SLEEP_TIME:-120}
-MYSQL_PASSWD=${MYSQL_PASSWD:-{{.Values.config.dbRootPassword}}}
+MYSQL_PASSWD=${MYSQL_PASSWD:-{{.Values.config.mariadbRootPassword}}}
 ENABLE_ODL_CLUSTER=${ENABLE_ODL_CLUSTER:-false}
+ENABLE_AAF=${ENABLE_AAF:-false}
+AAF_EXT_IP=${AAF_EXT_IP:-{{.Values.config.aafExtIP}}}
+AAF_EXT_FQDN=${AAF_EXT_FQDN:-{{.Values.config.aafExtFQDN}}}
+
+appcInstallStartTime=$(date +%s)
 
 #
 # Adding the DMAAP_TOPIC_ENV variable into APPC-ASDC-LISTENER properties
@@ -81,37 +83,50 @@ echo "" >> $APPC_HOME/data/properties/appc.properties
 #
 # Wait for database to init properly
 #
-echo "Waiting for mysql"
-until mysql -h {{.Values.mysql.service.name}}.{{.Release.Namespace}} -u root -p{{.Values.config.dbRootPassword}} mysql &> /dev/null
+echo "Waiting for mariadbgalera"
+until mysql -h {{.Values.config.mariadbGaleraSVCName}}.{{.Release.Namespace}} -u root -p{{.Values.config.mariadbRootPassword}} mysql &> /dev/null
 do
   printf "."
   sleep 1
 done
-echo -e "\nmysql ready"
+echo -e "\nmariadbgalera ready"
 
 if [ ! -f ${SDNC_HOME}/.installed ]
 then
         echo "Installing SDNC database"
         ${SDNC_HOME}/bin/installSdncDb.sh
+
         echo "Installing APPC database"
         ${APPC_HOME}/bin/installAppcDb.sh
+
+        echo "Installing ODL Host Key"
+        ${SDNC_HOME}/bin/installOdlHostKey.sh
+
         echo "Starting OpenDaylight"
         ${ODL_HOME}/bin/start
+
         echo "Waiting ${SLEEP_TIME} seconds for OpenDaylight to initialize"
         sleep ${SLEEP_TIME}
-        echo "Inserting modified installFeatures.sh for sdnc"
-        rm ${SDNC_HOME}/bin/installFeatures.sh
-        cp ${APPC_HOME}/data/sdncInstallFeatures.sh ${SDNC_HOME}/bin/installFeatures.sh
+
+        echo "Copying a working version of the logging configuration into the opendaylight etc folder"
+        cp ${APPC_HOME}/data/org.ops4j.pax.logging.cfg ${ODL_HOME}/etc/org.ops4j.pax.logging.cfg
+        echo "Copying a new version of aaf cadi shiro into the opendaylight deploy folder"
+        cp ${APPC_HOME}/data/aaf-shiro-aafrealm-osgi-bundle.jar ${ODL_HOME}/deploy/aaf-shiro-aafrealm-osgi-bundle.jar
+
         echo "Installing SDNC platform features"
         ${SDNC_HOME}/bin/installFeatures.sh
+
         if [ -x ${SDNC_HOME}/svclogic/bin/install.sh ]
         then
                 echo "Installing directed graphs"
                 ${SDNC_HOME}/svclogic/bin/install.sh
         fi
 
+        if $ENABLE_ODL_CLUSTER ; then echo "Installing Opendaylight cluster features" ; ${ODL_HOME}/bin/client feature:install odl-mdsal-clustering ; ${ODL_HOME}/bin/client feature:install odl-jolokia ; fi
+
         echo "Installing APPC platform features"
         ${APPC_HOME}/bin/installFeatures.sh
+
         if [ -x ${APPC_HOME}/svclogic/bin/install.sh ]
         then
                 echo "Installing APPC DGs using platform-logic"
@@ -126,10 +141,49 @@ then
 
         if $ENABLE_ODL_CLUSTER ; then enable_odl_cluster ; fi
 
+        echo "Adding a property system.properties for AAF cadi.properties location"
+        echo "" >> ${ODL_HOME}/etc/system.properties
+        echo "cadi_prop_files=${APPC_HOME}/data/properties/cadi.properties" >> ${ODL_HOME}/etc/system.properties
+        echo "" >> ${ODL_HOME}/etc/system.properties
+
+        echo "Copying the aaa shiro configuration into opendaylight"
+        if $ENABLE_AAF
+        then
+             echo "${AAF_EXT_IP} ${AAF_EXT_FQDN}" >> /etc/hosts
+             cp ${APPC_HOME}/data/properties/aaa-app-config.xml ${ODL_HOME}/etc/opendaylight/datastore/initial/config/aaa-app-config.xml
+        else
+             cp ${APPC_HOME}/data/aaa-app-config.xml ${ODL_HOME}/etc/opendaylight/datastore/initial/config/aaa-app-config.xml
+        fi
+
         echo "Restarting OpenDaylight"
         ${ODL_HOME}/bin/stop
+        checkRun () {
+                running=0
+                while read a b c d e f g h
+                do
+                if [ "$h" == "/bin/sh /opt/opendaylight/bin/karaf server" ]
+                then
+                     running=1
+                fi
+                done < <(ps -eaf)
+                echo $running
+        }
+
+        while [ $( checkRun ) == 1 ]
+        do
+                echo "Karaf is still running, waiting..."
+                sleep 5s
+        done
+        echo "Karaf process has stopped"
+        sleep 10s
         echo "Installed at `date`" > ${SDNC_HOME}/.installed
 fi
 
-exec ${ODL_HOME}/bin/karaf
+        appcInstallEndTime=$(date +%s)
+        echo "Total Appc install took $(expr $appcInstallEndTime - $appcInstallStartTime) seconds"
+
+echo "Starting cdt-proxy-service jar, logging to ${APPC_HOME}/cdt-proxy-service/jar.log"
+java -jar ${APPC_HOME}/cdt-proxy-service/cdt-proxy-service.jar > ${APPC_HOME}/cdt-proxy-service/jar.log &
+
+exec ${ODL_HOME}/bin/karaf server