X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=rulemgt-standalone%2Fsrc%2Fmain%2Fassembly%2Fbin%2Frun.sh;h=d1cebc3600983f5125be5206baaeeff51cd22e99;hb=857c9da5ed2a2775ac7426d97a99195d671c21b5;hp=f800eb4d385add84c5966938f5c223dc1f571673;hpb=d98c5742d63cc9a1751ca8af5f642d695deaaca7;p=holmes%2Frule-management.git diff --git a/rulemgt-standalone/src/main/assembly/bin/run.sh b/rulemgt-standalone/src/main/assembly/bin/run.sh index f800eb4..d1cebc3 100644 --- a/rulemgt-standalone/src/main/assembly/bin/run.sh +++ b/rulemgt-standalone/src/main/assembly/bin/run.sh @@ -1,7 +1,7 @@ -#!/bin/sh +#!/usr/bin/env bash # -# Copyright 2017 ZTE Corporation. +# Copyright 2017-2022 ZTE Corporation. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -25,12 +25,12 @@ JAVA="$JAVA_HOME/bin/java" echo @JAVA@ $JAVA main_path=$RUNHOME/.. cd $main_path -JAVA_OPTS="-Xms50m -Xmx128m" +JAVA_OPTS="-Xms256m -Xmx1g" port=9201 -#JAVA_OPTS="$JAVA_OPTS -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=$port,server=y,suspend=n" +#JAVA_OPTS="$JAVA_OPTS -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=*:$port,server=y,suspend=n" echo @JAVA_OPTS@ $JAVA_OPTS -class_path="$main_path/:$main_path/holmes-rulemgt.jar" +class_path="$main_path/lib/*" echo @class_path@ $class_path if [ -z ${JDBC_USERNAME} ]; then @@ -48,47 +48,84 @@ if [ -z ${DB_NAME} ]; then echo "No database is name is specified. Use the default value \"$DB_NAME\"." fi -sed -i "s|user:.*|user: $JDBC_USERNAME|" "$main_path/conf/rulemgt.yml" -sed -i "s|password:.*|password: $JDBC_PASSWORD|" "$main_path/conf/rulemgt.yml" -sed -i "s|url:.*|url: jdbc:postgresql://$URL_JDBC/$DB_NAME|" "$main_path/conf/rulemgt.yml" -sed -i "s|msbServerAddr:.*|msbServerAddr: http://$MSB_ADDR|" "$main_path/conf/rulemgt.yml" +export DB_PORT=5432 +if [ ! -z ${URL_JDBC} ] && [ `expr index $URL_JDBC :` != 0 ]; then + export DB_PORT="${URL_JDBC##*:}" +fi +echo DB_PORT=$DB_PORT -export SERVICE_IP=`hostname -i` +# if deployed using helm, use the helm-generated configuration file. +if [ -d /opt/hrmconfig ]; then + cp /opt/hrmconfig/application.yaml "$main_path/conf/application.yaml" +else + sed -i "s|username:.*|username: $JDBC_USERNAME|" "$main_path/conf/application.yaml" + sed -i "s|password:.*|password: $JDBC_PASSWORD|" "$main_path/conf/application.yaml" + sed -i "s|url:.*|url: jdbc:postgresql://$URL_JDBC:$DB_PORT/$DB_NAME|" "$main_path/conf/application.yaml" +fi + +export SERVICE_IP=`hostname -i | awk '{print $1}'` echo SERVICE_IP=${SERVICE_IP} -if [ ! -z ${TESTING} ] && [ ${TESTING} == 1 ]; then - if [ ! -z ${HOST_IP} ]; then - export HOSTNAME=${HOST_IP}:9101 - else - export HOSTNAME=${SERVICE_IP}:9101 - fi +if [ ! -z ${HOST_IP} ]; then + export HOSTNAME=${HOST_IP}:9101 +else + export HOSTNAME=${SERVICE_IP}:9101 fi -export DB_PORT=5432 -if [ ! -z ${URL_JDBC} ] && [ `expr index $URL_JDBC :` != 0 ]; then - export DB_PORT="${URL_JDBC##*:}" +if [ -z ${ENABLE_ENCRYPT} ]; then + export ENABLE_ENCRYPT=true fi -echo DB_PORT=$DB_PORT +echo ENABLE_ENCRYPT=${ENABLE_ENCRYPT} KEY_PATH="$main_path/conf/holmes.keystore" KEY_PASSWORD="holmes" -#HTTPS Configurations -sed -i "s|keyStorePath:.*|keyStorePath: $KEY_PATH|" "$main_path/conf/rulemgt.yml" -sed -i "s|keyStorePassword:.*|keyStorePassword: $KEY_PASSWORD|" "$main_path/conf/rulemgt.yml" +if [ -f "/opt/app/osaaf/local/org.onap.holmes-rule-mgmt.p12" ]; then + KEY_PATH="/opt/app/osaaf/local/org.onap.holmes-rule-mgmt.p12" + KEY_PASSWORD=`head -n1 "/opt/app/osaaf/local/mycreds.prop" | cut -d= -f2` +fi +echo "KEY_PATH=$KEY_PATH" +echo "KEY_PASS=$KEY_PASSWORD" + +#HTTPS Configurations +sed -i "s|key-store:.*|key-store: $KEY_PATH|" "$main_path/conf/application.yaml" +sed -i "s|key-store-password:.*|key-store-password: $KEY_PASSWORD|" "$main_path/conf/application.yaml" + +if [ "${ENABLE_ENCRYPT}"x = "true"x ]; then + sed -i "s|#\?ssl:|ssl:|" "$main_path/conf/application.yaml" + sed -i "s|#\?key-store|key-store|" "$main_path/conf/application.yaml" + sed -i "s|#\?key-store-password|key-store-password|" "$main_path/conf/application.yaml" + sed -i "s|#\?key-store-type|key-store-type|" "$main_path/conf/application.yaml" +else + sed -i 's|#\?ssl:|#ssl:|' "$main_path/conf/application.yaml" + sed -i "s|#\?key-store|#key-store|" "$main_path/conf/application.yaml" + sed -i "s|#\?key-store-password|#key-store-password|" "$main_path/conf/application.yaml" + sed -i "s|#\?key-store-type|#key-store-type|" "$main_path/conf/application.yaml" +fi -./bin/initDB.sh $JDBC_USERNAME $JDBC_PASSWORD $DB_NAME $DB_PORT "${URL_JDBC%:*}" +${RUNHOME}/initDB.sh "$JDBC_USERNAME" "$JDBC_PASSWORD" "$DB_NAME" "$DB_PORT" "${URL_JDBC%:*}" -#Register the fronten to MSB -body='{"serviceName":"holmes","version":"v1","url":"/iui/holmes","nodes":[{"ip":"host_ip","port":"9104","lb_server_params":"","checkType":"","checkUrl":"","checkInterval":"","checkTimeOut":"","ttl":"","ha_role":""}],"protocol":"UI","visualRange":"0|1","lb_policy":"","publish_port":"","namespace":"","network_plane_type":"","host":"","path":"","labels":[],"metadata":[]}' -msg_body=${body/host_ip/"${HOSTNAME%:*}"} -curl -X POST -H "Content-Type: application/json" -d ${msg_body} http://${MSB_ADDR}/api/msdiscover/v1/services?is_manual=true -echo Registered UI to MSB. +if [ -f "/opt/app/osaaf/local/org.onap.holmes-rule-mgmt.crt" ]; then + sed -i "s|/etc/ssl/certs/holmes-frontend-selfsigned.crt|/opt/app/osaaf/local/org.onap.holmes-rule-mgmt.crt|" "/etc/nginx/conf.d/nginx-https.conf" + sed -i "s|/etc/ssl/private/holmes-frontend.key|/opt/app/osaaf/local/org.onap.holmes-rule-mgmt.key|" "/etc/nginx/conf.d/nginx-https.conf" +fi +if [ "$MSB_IAG_SERVICE_PORT"x = "443"x ]; then + sed -i "s|http://msb-iag.onap|https://$MSB_IAG_SERVICE_HOST:$MSB_IAG_SERVICE_PORT|g" /etc/nginx/conf.d/nginx-http*.conf +else + sed -i "s|http://msb-iag.onap|http://$MSB_IAG_SERVICE_HOST:$MSB_IAG_SERVICE_PORT|g" /etc/nginx/conf.d/nginx-http*.conf +fi -nginx -c /usr/local/openresty/nginx/conf/nginx.conf +if [ "${ENABLE_ENCRYPT}"x = "true"x ]; then + sudo nginx -c /etc/nginx/conf.d/nginx-https.conf +else + sudo nginx -c /etc/nginx/conf.d/nginx-http.conf +fi echo nginx started. -"$JAVA" $JAVA_OPTS -classpath "$class_path" org.onap.holmes.rulemgt.RuleActiveApp server "$main_path/conf/rulemgt.yml" +cat "$main_path/conf/application.yaml" + +JAR=`ls -lt $main_path/lib | grep -e "holmes-rulemgt-.*jar$" | awk '{print $9}'` +"$JAVA" $JAVA_OPTS -jar "$main_path/lib/$JAR" -classpath "$class_path" --spring.config.location="$main_path/conf/application.yaml"