[DMAAP-BC] Consolidate bus controller repos
[dmaap/buscontroller.git] / dmaap-bc / src / main / resources / misc / dmaapbc
diff --git a/dmaap-bc/src/main/resources/misc/dmaapbc b/dmaap-bc/src/main/resources/misc/dmaapbc
new file mode 100644 (file)
index 0000000..963d2d1
--- /dev/null
@@ -0,0 +1,198 @@
+#!/bin/bash
+#
+# ============LICENSE_START==========================================
+# org.onap.dmaap
+# ===================================================================
+# Copyright © 2018 AT&T Intellectual Property. All rights reserved.
+# Modifications copyright (C) 2021 Nordix Foundation.
+# ===================================================================
+# 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=onap
+GROUP=onap
+export TZ
+PATH=/opt/java/openjdk/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
+
+       # 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
+
+       PIDS=`pids`
+       if [ "$PIDS" != "" ]
+       then
+               echo $COMPONENT already running
+               exit 0
+       fi
+       rm -f $APP_ROOT/etc/SHUTDOWN
+
+  java -classpath $CLASSPATH  $MAIN
+  dmaapjar="$APP_ROOT/lib/dmaap-bc.jar"
+       # JVM flags
+       FLAGS="-cp etc:lib/* -DConfigFile=$PROPS  -Dlogback.configurationFile=etc/logback.xml -Dhttps.protocols=TLSv1.2 -Dhttps.cipherSuites=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256"
+       nohup java $FLAGS -jar $dmaapjar </dev/null  &
+       sleep 5
+       PIDS=`pids`
+       set +x
+}
+
+stop() {
+       echo "ENTER stop"
+       authcheck
+       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() {
+       echo "ENTER 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
+               ls -l $APP_ROOT/logs/ONAP
+               echo "------------ tail -100 error.log ---------------"
+               tail -n 1000  $APP_ROOT/logs/ONAP/error.log
+               echo "------------ tail -100 server.log ---------------"
+               tail -n 1000  $APP_ROOT/logs/ONAP/server.log
+               echo "------------ tail -100 application.log ---------------"
+               tail -n 1000 $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