bugfix - changed shell script interpreter to env bash
[holmes/engine-management.git] / engine-d-standalone / src / main / assembly / bin / run.sh
1 #!/usr/bin/env bash
2 #
3 # Copyright 2017-2021 ZTE Corporation.
4 #
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
8 #
9 #     http://www.apache.org/licenses/LICENSE-2.0
10 #
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16 #
17
18 DIRNAME=`dirname $0`
19 RUNHOME=`cd $DIRNAME/; pwd`
20 echo @RUNHOME@ $RUNHOME
21
22 echo @JAVA_HOME@ $JAVA_HOME
23 JAVA="$JAVA_HOME/bin/java"
24 echo @JAVA@ $JAVA
25 main_path=$RUNHOME/..
26 cd $main_path
27 JAVA_OPTS="-Xms256m -Xmx1g"
28 port=9202
29 #JAVA_OPTS="$JAVA_OPTS -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=*:$port,server=y,suspend=n"
30 echo @JAVA_OPTS@ $JAVA_OPTS
31
32 class_path="$main_path/lib/*"
33 echo @class_path@ $class_path
34
35 if [ -z ${JDBC_USERNAME} ]; then
36     export JDBC_USERNAME=holmes
37     echo "No user name is specified for the database. Use the default value \"$JDBC_USERNAME\"."
38 fi
39
40 if [ -z ${JDBC_PASSWORD} ]; then
41     export JDBC_PASSWORD=holmespwd
42     echo "No password is specified for the database. Use the default value \"$JDBC_PASSWORD\"."
43 fi
44
45 if [ -z ${DB_NAME} ]; then
46     export DB_NAME=holmes
47     echo "No database is name is specified. Use the default value \"$DB_NAME\"."
48 fi
49
50 # if deployed using helm, use the helm-generated configuration file.
51 if [ -d /opt/hemconfig ]; then
52     cp /opt/hemconfig/engine-d.yml "$main_path/conf/engine-d.yml"
53 else
54     sed -i "s|url:.*|url: jdbc:postgresql://$URL_JDBC/$DB_NAME|" "$main_path/conf/engine-d.yml"
55     sed -i "s|user:.*|user: $JDBC_USERNAME|" "$main_path/conf/engine-d.yml"
56     sed -i "s|password:.*|password: $JDBC_PASSWORD|" "$main_path/conf/engine-d.yml"
57 fi
58
59 export SERVICE_IP=`hostname -i | awk '{print $1}'`
60 echo SERVICE_IP=${SERVICE_IP}
61
62 if [ ! -z ${TESTING} ] && [ ${TESTING} = 1 ]; then
63     if [ ! -z ${HOST_IP} ]; then
64         export HOSTNAME=${HOST_IP}:9102
65     else
66         export HOSTNAME=${SERVICE_IP}:9102
67     fi
68 fi
69
70 export DB_PORT=5432
71 if [ ! -z ${URL_JDBC} ] && [ `expr index $URL_JDBC :` != 0 ]; then
72     export DB_PORT="${URL_JDBC##*:}"
73 fi
74 echo DB_PORT=$DB_PORT
75
76 if [ -z ${ENABLE_ENCRYPT} ]; then
77     export ENABLE_ENCRYPT=true
78 fi
79 echo ENABLE_ENCRYPT=$ENABLE_ENCRYPT
80
81 KEY_PATH="/opt/onap/conf/holmes.keystore"
82 KEY_PASSWORD="holmes"
83
84 if [ -f "/opt/app/osaaf/local/org.onap.holmes-engine-mgmt.p12" ]; then
85     KEY_PATH="/opt/app/osaaf/local/org.onap.holmes-engine-mgmt.p12"
86     KEY_PASSWORD=`head -n1 "/opt/app/osaaf/local/mycreds.prop" | cut -d= -f2`
87 fi
88
89 echo "KEY_PATH=$KEY_PATH"
90 echo "KEY_PASS=$KEY_PASSWORD"
91
92 #HTTPS Configurations
93 sed -i "s|keyStorePath:.*|keyStorePath: $KEY_PATH|" "$main_path/conf/engine-d.yml"
94 sed -i "s|keyStorePassword:.*|keyStorePassword: $KEY_PASSWORD|" "$main_path/conf/engine-d.yml"
95
96 if [ "${ENABLE_ENCRYPT}"x = "true"x ]; then
97     sed -i "s|type:\s*https\?$|type: https|" "$main_path/conf/engine-d.yml"
98     sed -i "s|#\?keyStorePath|keyStorePath|" "$main_path/conf/engine-d.yml"
99     sed -i "s|#\?keyStorePassword|keyStorePassword|" "$main_path/conf/engine-d.yml"
100     sed -i "s|#\?validateCerts|validateCerts|" "$main_path/conf/engine-d.yml"
101     sed -i "s|#\?validatePeers|validatePeers|" "$main_path/conf/engine-d.yml"
102 else
103     sed -i 's|type:\s*https\?$|type: http|' "$main_path/conf/engine-d.yml"
104     sed -i "s|#\?keyStorePath|#keyStorePath|" "$main_path/conf/engine-d.yml"
105     sed -i "s|#\?keyStorePassword|#keyStorePassword|" "$main_path/conf/engine-d.yml"
106     sed -i "s|#\?validateCerts|#validateCerts|" "$main_path/conf/engine-d.yml"
107     sed -i "s|#\?validatePeers|#validatePeers|" "$main_path/conf/engine-d.yml"
108 fi
109
110 cat "$main_path/conf/engine-d.yml"
111
112 ${RUNHOME}/initDB.sh "$JDBC_USERNAME" "$JDBC_PASSWORD" "$DB_NAME" "$DB_PORT" "${URL_JDBC%:*}"
113
114 "$JAVA" $JAVA_OPTS -classpath "$class_path" org.onap.holmes.engine.EngineDActiveApp server "$main_path/conf/engine-d.yml"
115