X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=engine-d-standalone%2Fsrc%2Fmain%2Fassembly%2Fbin%2FinitDB.sh;h=3472e31596c707615d5ffa8e29a8c55996baa971;hb=4640bd9237d68024c15f54d5884663eabb9f2fc0;hp=a02391bcd346f72000e98424a2dfdd86b613df9f;hpb=b7d709e72df8aae9e05566630b740c283708879d;p=holmes%2Fengine-management.git diff --git a/engine-d-standalone/src/main/assembly/bin/initDB.sh b/engine-d-standalone/src/main/assembly/bin/initDB.sh index a02391b..3472e31 100644 --- a/engine-d-standalone/src/main/assembly/bin/initDB.sh +++ b/engine-d-standalone/src/main/assembly/bin/initDB.sh @@ -1,6 +1,6 @@ -#!/bin/bash +#!/usr/bin/env bash # -# Copyright 2017 ZTE Corporation. +# Copyright 2017-2021 ZTE Corporation. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -19,17 +19,53 @@ DIRNAME=`dirname $0` HOME=`cd $DIRNAME/; pwd` user=$1 password=$2 -port=$3 -host=$4 -echo "start init holmes engine-d db" -main_path=$HOME/../ -cat $main_path -mysql -u$user -p$password -P$port -h$host <$main_path/dbscripts/mysql/openo-holmes_engine_d-createobj.sql +dbname=$3 +port=$4 +host=$5 +echo "Initializing the holmes engine management database..." +main_path=$HOME/.. + +# if deployed using helm, use the helm-generated configuration file. +if [ -d /opt/hemconfig ]; then + cp /opt/hemconfig/onap-holmes_engine-createobj.sql "$main_path/dbscripts/postgresql/onap-holmes_engine-createobj.sql" +else + sed -i "s|DBNAME|$dbname|g" "$main_path/dbscripts/postgresql/onap-holmes_engine-createobj.sql" + sed -i "s|DBUSER|$user|g" "$main_path/dbscripts/postgresql/onap-holmes_engine-createobj.sql" + sed -i "s|DBPWD|$password|g" "$main_path/dbscripts/postgresql/onap-holmes_engine-createobj.sql" +fi + +cat $main_path/dbscripts/postgresql/onap-holmes_engine-createobj.sql + +echo "dbname=$dbname" +echo "user=$user" +echo "password=$password" +echo "port=$port" +echo "host=$host" + +if [ -z `env | grep PGPASSWORD` ]; then + export PGPASSWORD=$password + need_unset=1 +fi + +# Escape the single quote to avoid cause errors when executing the scripts. +password=`sed -rn "s/.+ ('.+') .+/\1/p" $main_path/dbscripts/postgresql/onap-holmes_engine-createobj.sql` +password=${password:1:-1} +password_e=`echo $password | sed "s#'#''#g"` +sed -i "s#$password#$password_e#" $main_path/dbscripts/postgresql/onap-holmes_engine-createobj.sql + +psql -U "$user" -p "$port" -h "$host" -d "$dbname" -f $main_path/dbscripts/postgresql/onap-holmes_engine-createobj.sql +psql -U "$user" -p "$port" -h "$host" -d "$dbname" --command 'select * from alarm_info;' sql_result=$? + +if [ "$need_unset"x = "1"x ]; then + unset PGPASSWORD +fi + +echo "sql_result=$sql_result" if [ $sql_result != 0 ] ; then - echo "failed to init engine-d database!" + echo "Failed to initialize the database!" exit 1 fi -echo "init engine-d success!" +echo "The database is initialized successfully!" exit 0