#!/bin/bash
+#
+# ============LICENSE_START==========================================
+# org.onap.dmaap
+# ===================================================================
+# Copyright © 2018 AT&T Intellectual Property. All rights reserved.
+# ===================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END============================================
+# ECOMP is a trademark and service mark of AT&T Intellectual Property.
+#
+#
umask 0022
TZ=GMT0
export PATH
CLASSPATH=`echo $APP_ROOT/etc $APP_ROOT/lib/*.jar | tr ' ' ':'`
export CLASSPATH
-CONTAINER_CONFIG=/opt/app/config/conf
+CONFIGMAP_ROOT=/opt/app/config
+CONTAINER_CONFIG=$CONFIGMAP_ROOT/conf
MAIN=org.onap.dmaap.dbcapi.server.Main
+
pids() {
set -x
ps -ef | grep java | grep $MAIN | sed -e 's/[^ ]* *//' -e 's/ .*//'
fi
cd $APP_ROOT
source $CONTAINER_CONFIG
- # comment out till certs are available
- #if [ ! -f $APP_ROOT/misc/cert-client-init.sh ]
- #then
- # echo "Did not find $APP_ROOT/misc/cert-client-init.sh to append to truststore"
- # exit 1
- #fi
- #$APP_ROOT/misc/cert-client-init.sh
- . misc/dmaapbc.properties.tmpl > etc/dmaapbc.properties
- . misc/PolicyEngineApi.properties.tmpl > config/PolicyEngineApi.properties
+
+ if [ "$DMAAPBC_WAIT_TO_EXIT" != "Y" ]
+ then
+ echo "Creating $APP_ROOT/ok_to_exit so no waiting..."
+ > $APP_ROOT/ok_to_exit
+ else
+ echo "Not creating $APP_ROOT/ok_to_exit"
+ fi
+
+ if [ ! -f $APP_ROOT/misc/cert-client-init.sh ]
+ then
+ echo "Did not find $APP_ROOT/misc/cert-client-init.sh to append to truststore"
+ exit 1
+ fi
+ $APP_ROOT/misc/cert-client-init.sh
+ . misc/havecert.tmpl > etc/havecert
+ chmod +x etc/havecert
+
+ # These files might be better provided in kubernetes configmaps
+ # so if they are already there, don't overwrite.
+ if [ ! -f etc/dmaapbc.properties ]
+ then
+ . misc/dmaapbc.properties.tmpl > etc/dmaapbc.properties
+ fi
+ if [ ! -f config/PolicyEngineApi.properties ]
+ then
+ . misc/PolicyEngineApi.properties.tmpl > config/PolicyEngineApi.properties
+ fi
set +x
}
fi
cd $APP_ROOT
-# disable until we use certs
-# if etc/havecert
-# then
+ if etc/havecert
+ then
echo >/dev/null
-# else
-# echo No certificate file available. Cannot start
-# exit 0
-# fi
+ else
+ echo No certificate file available. Cannot start
+ exit 0
+ fi
PIDS=`pids`
if [ "$PIDS" != "" ]
then
# JVM flags
#old line from Dockerfile...keep for reference only
- FLAGS="-cp etc:lib/* -Dlog4j.configuration=etc/log4j.properties -Ddmaapbc.properties=etc/dmaapbc.properties -Dhttps.protocols=TLSv1.2 -Dhttps.cipherSuites=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256"
+ FLAGS="-cp etc:lib/* -Dlog4j.configuration=etc/log4j.properties -Ddmaapbc.properties=etc/dmaapbc.properties -Dlogback.configurationFile=etc/logback.xml -Dhttps.protocols=TLSv1.2 -Dhttps.cipherSuites=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256"
#nohup java $FLAGS $MAIN </dev/null >/dev/null 2>&1 &
nohup java $FLAGS $MAIN </dev/null &
sleep 5
fi
}
+init() {
+ if [ ! -d $CONFIGMAP_ROOT ]
+ then
+ echo $CONFIGMAP_ROOT does not exist
+ return
+ fi
+
+ #loop on get /dmaap until we get a good response to indicate other provisioning can continue
+ rc=999
+ while [ $rc != "200" ]
+ do
+ sleep 10
+ rc=`curl -s -o /dev/null -I -w "%{http_code}" -X GET -H "Content-Type: application/json" http://dmaap-bc:8080/webapi/dmaap`
+ echo "get dmaap response=${rc}"
+ done
+
+ cd $CONFIGMAP_ROOT
+ # order is important in this next list
+ for uri in dmaap dcaeLocations mr_clusters topics feeds
+ do
+ if [ -d ${uri} ]
+ then
+ for j in `ls ${uri}/*.json`
+ do
+ curl -v -X POST -H "Content-Type: application/json" -d @${j} http://dmaap-bc:8080/webapi/${uri}
+ done
+ fi
+ done
+}
+
set -x
case "$1" in
'deploy')
config
start
+ init
wait
;;
'start')
exit 1
;;
esac
- ls -l $APP_ROOT/logs/EELF
+ ls -l $APP_ROOT/logs/ONAP
echo "------------ tail -100 error.log ---------------"
- tail -100 $APP_ROOT/logs/EELF/error.log
+ tail -100 $APP_ROOT/logs/ONAP/error.log
echo "------------ tail -100 server.log ---------------"
- tail -100 $APP_ROOT/logs/EELF/server.log
+ tail -100 $APP_ROOT/logs/ONAP/server.log
echo "------------ tail -100 application.log ---------------"
- tail -100 $APP_ROOT/logs/EELF/application.log
+ tail -100 $APP_ROOT/logs/ONAP/application.log
+
+ echo "Check $APP_ROOT/ok_to_exit"
+ while [ ! -f $APP_ROOT/ok_to_exit ]
+ do
+ echo "$APP_ROOT/ok_to_exit does not exist. Sticking around for debugging..."
+ sleep 10
+ done
exit 0