Changes for ODL SR2
[appc/deployment.git] / installation / appc / src / main / scripts / dockerInstall.sh
index 1196004..acd0def 100644 (file)
@@ -24,7 +24,7 @@
 # This script runs during docker image build.
 # It starts opendaylight, installs the appc features, then shuts down opendaylight.
 #
-ODL_HOME=${ODL_HOME:-/opt/opendaylight/current}
+ODL_HOME=${ODL_HOME:-/opt/opendaylight}
 ODL_ADMIN_PASSWORD=${ODL_ADMIN_PASSWORD:-Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U}
 SDNC_HOME=${SDNC_HOME:-/opt/onap/ccsdk}
 APPC_HOME=${APPC_HOME:-/opt/onap/appc}
@@ -33,17 +33,27 @@ MYSQL_PASSWD=${MYSQL_PASSWD:-openECOMP1.0}
 
 appcInstallStartTime=$(date +%s)
 
-
+ODL_BOOT_FEATURES_EXTRA="odl-netconf-connector,odl-restconf-noauth,odl-netconf-clustered-topology,odl-mdsal-clustering"
+sed -i -e "\|featuresBoot[^a-zA-Z]|s|$|,${ODL_BOOT_FEATURES_EXTRA}|"  $ODL_HOME/etc/org.apache.karaf.features.cfg
 
 echo "Starting OpenDaylight"
 ${ODL_HOME}/bin/start
 echo "Waiting ${SLEEP_TIME} seconds for OpenDaylight to initialize"
 sleep ${SLEEP_TIME}
 
+echo "Checking that Karaf can be accessed"
+clientOutput=$(${ODL_HOME}/bin/client shell:echo KarafLoginCheckIsWorking)
+if echo "$clientOutput" | grep -q "KarafLoginCheckIsWorking"; then
+echo "Karaf login succeeded"
+else
+echo "Error during Karaf login"
+exit 1
+fi
+
 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 "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 APPC platform features"
 ${APPC_HOME}/bin/installFeatures.sh
@@ -61,25 +71,16 @@ echo "" >> $APPC_HOME/data/properties/appc.properties
 echo "Copying the aaa shiro configuration into opendaylight"
 cp ${APPC_HOME}/data/aaa-app-config.xml ${ODL_HOME}/etc/opendaylight/datastore/initial/config/aaa-app-config.xml
 
-echo "Stopping 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
-}
+echo "Copying jetty, keystore for https into opendalight"
+cp ${APPC_HOME}/data/jetty.xml ${ODL_HOME}/etc/jetty.xml
+cp ${APPC_HOME}/data/keystore ${ODL_HOME}/etc/keystore
+cp ${APPC_HOME}/data/custom.properties ${ODL_HOME}/etc/custom.properties
 
-while [ $( checkRun ) == 1 ]
-do
-  echo "Karaf is still running, waiting..."
-  sleep 5s
-done
+echo "Stopping OpenDaylight and waiting for it to stop"
+${ODL_HOME}/bin/stop
+#The karaf command will exit when odl shuts down. This is the most reliable way to wait for opendaylight to stop
+#before exiting the docker container.
+${ODL_HOME}/bin/client
 echo "Karaf process has stopped"
 sleep 10s