diff options
author | PawelSzalapski <pawel.szalapski@nokia.com> | 2018-07-10 13:25:18 +0200 |
---|---|---|
committer | PawelSzalapski <pawel.szalapski@nokia.com> | 2018-07-13 12:31:07 +0200 |
commit | b343343f1efd0df9196b27e9e65b783e5e954112 (patch) | |
tree | e19094ffbbd8c2a1616ed99983a95c32cac0343b /src/main/scripts/docker-entry.sh | |
parent | cd66181b35300f020f197bb411d6bdf6ad2514fb (diff) |
Clean up .sh scripts
Removed .sh scripts that are not needed.
Fill readme with a description of some of the things
that might be not visible at first glance
Refactor .sh scripts, remove not used or not needed parts
Fix a bug where pidof <package> does not work.
Change logging of the scripts and they way that app is run so
that the logs are in one place -> collector.logs
Fixed a bug where tomcat startup problems are not logged
Added log rotation with logrotate tool
Change-Id: I156328ab23d18a20072177ae8c5420772c3e2c7c
Signed-off-by: PawelSzalapski <pawel.szalapski@nokia.com>
Issue-ID: DCAEGEN2-610
Diffstat (limited to 'src/main/scripts/docker-entry.sh')
-rw-r--r-- | src/main/scripts/docker-entry.sh | 59 |
1 files changed, 36 insertions, 23 deletions
diff --git a/src/main/scripts/docker-entry.sh b/src/main/scripts/docker-entry.sh index 96cb088c..0aad7584 100644 --- a/src/main/scripts/docker-entry.sh +++ b/src/main/scripts/docker-entry.sh @@ -1,9 +1,10 @@ -#!/bin/sh
+#!/bin/bash
###
# ============LICENSE_START=======================================================
# PROJECT
# ================================================================================
# Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
+# Copyright (C) 2018 Nokia Networks 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.
@@ -18,36 +19,48 @@ # limitations under the License.
# ============LICENSE_END=========================================================
###
+source bin/logger.sh
-if [ ! -z "$COLLECTOR_IP" ]; then
- echo $COLLECTOR_IP $(hostname).dcae.simpledemo.onap.org >> /etc/hosts
-fi
+# Redirect all stdout & stderr to a main log file, but also let it print into the console
+# At the time this script is invoked, these directories and files do not exist yet, so we need to create them
+mkdir -p logs
+touch logs/collector.log
+exec &> >(tee -a logs/collector.log)
-if [ ! -z "$DMAAPHOST" ]; then
- if [ -z "$(echo $DMAAPHOST | sed -e 's/[0-9\.]//g')" ]; then
- echo "$DMAAPHOST onap-dmaap" >> /etc/hosts
- else
- echo "onap-dmaap $DMAAPHOST" >> /etc/host.aliases
- fi
-else
- echo "DMAAPHOST ENV NOT SET!! PUBLISH WILL NOT BE SUPPORTED"
+log "Enabling log rotation for collector.log"
+loggedCommand "cp etc/logrotate.conf /etc/logrotate.d"
+echo "* * * * * root logrotate /etc/logrotate.conf" >> /etc/crontab
+log "Restarting cron"
+loggedCommand "service cron reload"
+loggedCommand "service cron start"
+
+log "Main application entry-point invoked"
+
+if [ ! -z ${COLLECTOR_IP} ]; then
+ log "Collector ip (${COLLECTOR_IP}) (env var 'COLLECTOR_IP') found, adding entry to /etc/hosts"
+ echo ${COLLECTOR_IP} $(hostname).dcae.simpledemo.onap.org >> /etc/hosts
fi
-if [ -z "$CONSUL_HOST" ] || [ -z "$CONFIG_BINDING_SERVICE" ] || [ -z "$HOSTNAME" ]; then
- echo "INFO: USING STANDARD ALONE CONFIGURATION SETUP"
- ## For Container supporting both classic and GEN2 controller - below line should be uncommented, provided service manager package is included
- #/opt/app/manager/start-manager.sh
+if [ ! -z ${DMAAPHOST} ]; then
+ if [ -z "$(echo ${DMAAPHOST} | sed -e 's/[0-9\.]//g')" ]; then
+ log "DMaaP host (${DMAAPHOST}) (env var 'DMAAPHOST') found, adding entry to /etc/hosts"
+ echo "${DMAAPHOST} onap-dmaap" >> /etc/hosts
+ else
+ log "DMaaP host (${DMAAPHOST}) (env var 'DMAAPHOST') found, adding entry to /etc/host.aliases"
+ echo "onap-dmaap ${DMAAPHOST}" >> /etc/host.aliases
+ fi
else
- echo "INFO: USING DCAEGEN2 CONTROLLER"
+ logWarn "DMaaP host (env var 'DMAAPHOST') is missing. Events will not be published to DMaaP"
fi
-/opt/app/VESCollector/bin/VESrestfulCollector.sh stop
-/opt/app/VESCollector/bin/VESrestfulCollector.sh start &
+log "Scheduling application to be started, looping indefinitely to hold the docker process"
+bin/VESrestfulCollector.sh stop
+bin/VESrestfulCollector.sh start &
-# Add below if config polling should be enabled
-# More specific to K8 deployment in ONAP
-if [ ! -z "$CBSPOLLTIMER" ]; then
- /opt/app/VESCollector/bin/VESConfigPoller.sh &
+# Add below if config polling should be enabled. More specific to K8 deployment in ONAP
+if [ ! -z ${CBSPOLLTIMER} ]; then
+ log "Configuration poll time (${CBSPOLLTIMER}) (env var 'CBSPOLLTIMER') found, enabling configuration polling from CBS"
+ bin/VESConfigPoller.sh &
fi
while true; do sleep 1000; done
|