From c2e36b3d3bd5b150328dde2dd990350a02a2a70c Mon Sep 17 00:00:00 2001 From: "mark.j.leonard" Date: Fri, 6 Apr 2018 17:20:11 +0100 Subject: [PATCH] Ensure that all properties are passed on start-up The System Properties KEY_STORE_PASSWORD and KEY_MANAGER_PASSWORD are now read from the environment and written to the configured system properties file. This prevents an error within AJSC on startup. Issue-ID: AAI-1006 Change-Id: Ie92cff0a24352ef162d25dd6d60c75f23d6bdfd7 Signed-off-by: mark.j.leonard --- .../etc/sysprops/sys-props.properties | 4 +- src/main/bin/start.sh | 47 ++++++++++++---------- 2 files changed, 28 insertions(+), 23 deletions(-) diff --git a/bundleconfig-local/etc/sysprops/sys-props.properties b/bundleconfig-local/etc/sysprops/sys-props.properties index d8480b8..cce76a1 100644 --- a/bundleconfig-local/etc/sysprops/sys-props.properties +++ b/bundleconfig-local/etc/sysprops/sys-props.properties @@ -130,4 +130,6 @@ RESTLET_COMPONENT_REUSE_ADDRESS=true #AJSC_EXTERNAL_PROPERTIES_FOLDERS=__basedir__/ajsc-shared-config/etc #End of AJSC System Properties -#Service System Properties. Please, place any Service related System Properties below. \ No newline at end of file +#Service System Properties. Please, place any Service related System Properties below. +KEY_STORE_PASSWORD= +KEY_MANAGER_PASSWORD= diff --git a/src/main/bin/start.sh b/src/main/bin/start.sh index 00d7dd6..3aba251 100644 --- a/src/main/bin/start.sh +++ b/src/main/bin/start.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # ============LICENSE_START======================================================= # org.onap.aai @@ -19,41 +19,44 @@ # limitations under the License. # ============LICENSE_END========================================================= -BASEDIR="/opt/app/babel/" -AJSC_HOME="$BASEDIR" +AJSC_HOME="${AJSC_HOME-/opt/app/babel/}" +AJSC_CONF_HOME="$AJSC_HOME/bundleconfig" if [ -z "$CONFIG_HOME" ]; then - echo "CONFIG_HOME must be set in order to start up process" - exit 1 + echo "CONFIG_HOME must be set in order to start up the process" + exit 1 fi -foo () { -if [ -z "$KEY_STORE_PASSWORD" ]; then - echo "KEY_STORE_PASSWORD must be set in order to start up process" - exit 1 -else - echo "KEY_STORE_PASSWORD=$KEY_STORE_PASSWORD\n" >> $AJSC_CONF_HOME/etc/sysprops/sys-props.properties -fi +# List of ajsc properties which are exposed for modification at deploy time +declare -a MODIFY_PROP_LIST=("KEY_STORE_PASSWORD" + "KEY_MANAGER_PASSWORD" + "AJSC_JETTY_ThreadCount_MIN" + "AJSC_JETTY_ThreadCount_MAX" + "AJSC_JETTY_BLOCKING_QUEUE_SIZE") +PROP_LIST_LENGTH=${#MODIFY_PROP_LIST[@]} -if [ -z "$KEY_MANAGER_PASSWORD" ]; then - echo "KEY_MANAGER_PASSWORD must be set in order to start up process" - exit 1 -else - echo "KEY_MANAGER_PASSWORD=$KEY_MANAGER_PASSWORD\n" >> $AJSC_CONF_HOME/etc/sysprops/sys-props.properties -fi -} +for (( i=1; i<${PROP_LIST_LENGTH}+1; i++ )); +do + PROP_NAME=${MODIFY_PROP_LIST[$i-1]} + PROP_VALUE=${!PROP_NAME} + if [ ! -z "$PROP_VALUE" ]; then + sed -i "s/$PROP_NAME=.*$/$PROP_NAME=$PROP_VALUE/g" $AJSC_CONF_HOME/etc/sysprops/sys-props.properties + fi +done +# Change the CLASSPATH separator to ; if your O/S is Windows CLASSPATH="$AJSC_HOME/lib/*" CLASSPATH="$CLASSPATH:$AJSC_HOME/extJars/" CLASSPATH="$CLASSPATH:$AJSC_HOME/etc/" + PROPS="-DAJSC_HOME=$AJSC_HOME" -PROPS="$PROPS -DAJSC_CONF_HOME=$BASEDIR/bundleconfig/" -PROPS="$PROPS -Dlogback.configurationFile=$BASEDIR/bundleconfig/etc/logback.xml" +PROPS="$PROPS -DAJSC_CONF_HOME=$AJSC_CONF_HOME" +PROPS="$PROPS -DCONFIG_HOME=$CONFIG_HOME" +PROPS="$PROPS -Dlogback.configurationFile=$AJSC_CONF_HOME/bundleconfig/etc/logback.xml" PROPS="$PROPS -DAJSC_SHARED_CONFIG=$AJSC_CONF_HOME" PROPS="$PROPS -DAJSC_SERVICE_NAMESPACE=babel" PROPS="$PROPS -DAJSC_SERVICE_VERSION=v1" PROPS="$PROPS -Dserver.port=9516" -PROPS="$PROPS -DCONFIG_HOME=$CONFIG_HOME" PROPS="$PROPS -Dartifactgenerator.config=$CONFIG_HOME/artifact-generator.properties" JVM_MAX_HEAP=${MAX_HEAP:-1024} -- 2.16.6