Holding the script open until karaf exits is more reliable and
less dependent on operating system than the previous method.
Change-Id: I82e379f5f977e521eff241c8ecbf2031f0c26c74
Signed-off-by: Patrick Brady <patrick.brady@att.com>
Issue-ID: APPC-1521
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 "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"
+echo "Stopping OpenDaylight and waiting for it to 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
+#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/karaf
echo "Karaf process has stopped"
sleep 10s
echo "Karaf process has stopped"
sleep 10s