summaryrefslogtreecommitdiffstats
path: root/rulemgt-standalone/src/main/assembly/bin/run.sh
blob: e05c7536cfd0aba0954828d124fb8ea9c49fbea2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#!/bin/sh

#
# Copyright 2017 ZTE Corporation.
#
# 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.
#

DIRNAME=`dirname $0`
RUNHOME=`cd $DIRNAME/; pwd`
echo @RUNHOME@ $RUNHOME

echo @JAVA_HOME@ $JAVA_HOME
JAVA="$JAVA_HOME/bin/java"
echo @JAVA@ $JAVA
main_path=$RUNHOME/..
cd $main_path
JAVA_OPTS="-Xms50m -Xmx128m"
port=9201
#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"
echo @class_path@ $class_path

if [ -z ${JDBC_USERNAME} ]; then
    export JDBC_USERNAME=holmes
    echo "No user name is specified for the database. Use the default value \"$JDBC_USERNAME\"."
fi

if [ -z ${JDBC_PASSWORD} ]; then
    export JDBC_PASSWORD=holmespwd
    echo "No password is specified for the database. Use the default value \"$JDBC_PASSWORD\"."
fi

if [ -z ${DB_NAME} ]; then
    export DB_NAME=holmes
    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 SERVICE_IP=`hostname -i`
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
fi

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

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"


./bin/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","protocol": "UI", "enable_ssl":"true", "visualRange":"0|1", "nodes": [ {"ip": "host_ip","port": "9104"}]}'
curl -X POST -H "Content-Type: application/json" -d ${body/host_ip/"${HOSTNAME%:*}"} http://${MSB_ADDR}:10081/api/microservices/v1/services


nginx -c /usr/local/openresty/nginx/conf/nginx.conf

"$JAVA" $JAVA_OPTS -classpath "$class_path" org.onap.holmes.rulemgt.RuleActiveApp server "$main_path/conf/rulemgt.yml"
# application image repository: nexus3.onap.org:10001 image: onap/externalapi/nbi:6.0.3 pullPolicy: IfNotPresent sdc_authorization: Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU= aai_authorization: Basic QUFJOkFBSQ== so_authorization: # application configuration config: loglevel: INFO logstashServiceName: log-ls logstashPort: 5044 cloudOwner: CloudOwner ecompInstanceId: OOM openStackRegion: RegionOne openStackVNFTenantId: 31047205ce114b60833b23e400d6a535 db: userName: rene # userPassword: password # userCredentialsExternalSecret: some-secret mariadb-galera: # '&mariadbConfig' means we "store" the values for later use in the file # with '*mariadbConfig' pointer. config: &mariadbConfig userCredentialsExternalSecret: '{{ include "common.release" . }}-nbi-db-secret' mysqlDatabase: nbi nameOverride: nbi-galera service: name: nbi-galera portName: nbi-galera internalPort: 3306 replicaCount: 1 persistence: enabled: true mountSubPath: nbi/maria/data mariadb-init: config: *mariadbConfig nameOverride: nbi-config mongo: nameOverride: nbi-mongo config: dbName: ServiceOrderDB service: name: nbi-mongohost internalPort: 27017 nfsprovisionerPrefix: nbi sdnctlPrefix: nbi persistence: mountSubPath: nbi/mongo/data enabled: true disableNfsProvisioner: true # default number of instances replicaCount: 1 nodeSelector: {} affinity: {} # probe configuration parameters liveness: path: /nbi/api/v4/status port: 8443 initialDelaySeconds: 180 periodSeconds: 30 # necessary to disable liveness probe when setting breakpoints # in debugger so K8s doesn't restart unresponsive container enabled: true readiness: path: /nbi/api/v4/status port: 8443 initialDelaySeconds: 185 periodSeconds: 30 service: type: NodePort portName: api name: nbi nodePort: 74 internalPort: 8443 ingress: enabled: false service: - baseaddr: "nbi.api" name: "nbi" port: 8443 config: ssl: "redirect" # Resource Limit flavor -By Default using small flavor: small # Segregation for Different environment (Small and Large) resources: small: limits: cpu: 1 memory: 2Gi requests: cpu: 100m memory: 1Gi large: limits: cpu: 2 memory: 4Gi requests: cpu: 200m memory: 2Gi unlimited: {}