blob: 3d19f88107f0edc223e3e91ffc418b23a834d09d [file] [log] [blame]
#!/bin/bash
umask 0022
TZ=GMT0
COMPONENT=dmaapbc
APP_ROOT=/opt/app/$COMPONENT
USER=root
export TZ
PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/java/jdk/jdk180/bin
export PATH
CLASSPATH=`echo $APP_ROOT/etc $APP_ROOT/lib/*.jar | tr ' ' ':'`
export CLASSPATH
CONTAINER_CONFIG=/opt/app/config/conf
MAIN=org.onap.dmaap.dbcapi.server.Main
pids() {
#set -x
ps -ef | grep java | grep $MAIN | sed -e 's/[^ ]* *//' -e 's/ .*//'
#set +x
}
config() {
set -x
if [ ! -d $APP_ROOT ]
then
echo "Expected app root directory $APP_ROOT does not exist"
exit 1
fi
if [ ! -f $CONTAINER_CONFIG ]
then
echo "Expected env file $CONTAINER_CONFIG not found"
exit 1
fi
cd $APP_ROOT
source $CONTAINER_CONFIG
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
set +x
}
start() {
set -x
ID=`id -n -u`
GRP=`id -n -g`
if [ "$ID" != "$USER" ]
then
echo $COMPONENT must be started as user $USER not $ID
exit 1
fi
if [ "$GRP" != "$USER" ]
then
echo $COMPONENT must be started as group $USER not $GRP
exit 1
fi
cd $APP_ROOT
# disable until we use certs
# if etc/havecert
# then
echo >/dev/null
# else
# echo No certificate file available. Cannot start
# exit 0
# fi
PIDS=`pids`
if [ "$PIDS" != "" ]
then
echo $COMPONENT already running
exit 0
fi
rm -f $APP_ROOT/etc/SHUTDOWN
# 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"
nohup java $FLAGS $MAIN </dev/null >/dev/null 2>&1 &
sleep 5
PIDS=`pids`
if [ "$PIDS" = "" ]
then
echo $COMPONENT startup failed
ls -l $APP_ROOT/logs/EELF
echo "------------ error.log ---------------"
cat $APP_ROOT/logs/EELF/error.log
echo "------------ server.log ---------------"
cat $APP_ROOT/logs/EELF/server.log
echo "------------ tail -100 application.log ---------------"
tail -100 $APP_ROOT/logs/EELF/application.log
else
echo $COMPONENT started
fi
set +x
}
stop() {
ID=`id -n -u`
GRP=`id -n -g`
if [ "$ID" != "$USER" ]
then
echo $COMPONENT must be stopped as user $USER not $ID
exit 1
fi
if [ "$GRP" != "$USER" ]
then
echo $COMPONENT must be stopped as group $USER not $GRP
exit 1
fi
touch $APP_ROOT/etc/SHUTDOWN
PIDS=`pids`
if [ "$PIDS" != "" ]
then
sleep 5
kill -9 $PIDS
sleep 5
echo $COMPONENT stopped
else
echo $COMPONENT not running
fi
}
status() {
PIDS=`pids`
if [ "$PIDS" != "" ]
then
echo $COMPONENT running
else
echo $COMPONENT not running
fi
}
set -x
case "$1" in
'deploy')
config
start
wait
;;
'start')
start
;;
'stop')
stop
;;
'restart')
stop
sleep 20
start
;;
'status')
status
;;
*)
echo "Usage: $0 { start | stop | restart }"
exit 1
;;
esac
exit 0