#!/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 COMPONENT=dmaapbc APP_ROOT=/opt/app/$COMPONENT USER=dbc GROUP=onap export TZ PATH=/usr/local/openjdk-11/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin export PATH CLASSPATH=`echo $APP_ROOT/etc $APP_ROOT/lib/*.jar | tr ' ' ':'` export CLASSPATH CONFIGMAP_ROOT=${CONFIGMAP_ROOT:-/opt/app/config} CONFIGMAP_PROPS=${CONFIGMAP_PROPS:-$CONFIGMAP_ROOT/conf/dmaapbc.properties} CONTAINER_CONFIG=$CONFIGMAP_ROOT/conf/buscontroller.env MAIN=org.onap.dmaap.dbcapi.server.Main authcheck() { 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" != "$GROUP" ] then echo $COMPONENT must be started as group $GROUP not $GRP exit 1 fi set +x } pids() { set -x ps -ef | grep java | grep $MAIN | sed -e 's/[^ ]* *//' -e 's/ .*//' set +x } config() { echo "ENTER config" set -x if [ ! -d $APP_ROOT ] then echo "Expected app root directory $APP_ROOT does not exist" exit 1 fi cd $APP_ROOT if [ ! -f $CONTAINER_CONFIG ] then echo "WARNING: Expected env file $CONTAINER_CONFIG not found. Default behaviors in effect" find $CONTAINER_ROOT -type f else . $CONTAINER_CONFIG fi 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 #. misc/havecert.tmpl > etc/havecert #chmod +x etc/havecert echo Check for certificate TZ=GMT0 cd /opt/app/dmaapbc; KEYSTORE=${DMAAPBC_KSTOREFILE:-etc/keystore} echo "KEYSTORE=$KEYSTORE" d=`dirname $KEYSTORE` ls -l $d if [ -f ${KEYSTORE} ] then echo "Goodness: Found ${KEYSTORE}" else EMSG="`date '+%F %T,000'` WARN Certificate file $KEYSTORE is missing" echo $EMSG echo $EMSG >>${DMAAPBC_LOGS:-logs}/dmaapbc.log fi # These files might be better provided in kubernetes configmaps # so if they are there, use them if [ -f $CONFIGMAP_PROPS ] then PROPS=$CONFIGMAP_PROPS else PROPS=etc/dmaapbc.properties . misc/dmaapbc.properties.tmpl > $PROPS fi if [ ! -f config/PolicyEngineApi.properties ] then . misc/PolicyEngineApi.properties.tmpl > config/PolicyEngineApi.properties fi set +x } start() { echo "ENTER start" set -x authcheck cd $APP_ROOT pwd if [ -f "$KEYSTORE" ] 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 -DConfigFile=$PROPS -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 2>&1 & nohup java $FLAGS $MAIN