X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=rulemgt-standalone%2Fsrc%2Fmain%2Fassembly%2Fbin%2FinitDB.sh;h=c43f3e994900eb02b41505b9cf095a4ddf060d4d;hb=edc531673b23dd854e16ff6f52d749ceb93b1548;hp=46fb1e63cf911447e686b1e756385de04e38a5ab;hpb=addd081a91a85d038c042f91bcf0f56a838a9c68;p=holmes%2Frule-management.git diff --git a/rulemgt-standalone/src/main/assembly/bin/initDB.sh b/rulemgt-standalone/src/main/assembly/bin/initDB.sh index 46fb1e6..c43f3e9 100644 --- a/rulemgt-standalone/src/main/assembly/bin/initDB.sh +++ b/rulemgt-standalone/src/main/assembly/bin/initDB.sh @@ -1,6 +1,6 @@ -#!/bin/sh +#!/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. @@ -25,9 +25,13 @@ host=$5 echo "Initializing the holmes rule management database..." main_path=$HOME/.. -sed -i "s|DBNAME|$dbname|g" "$main_path/dbscripts/postgresql/onap-holmes_rulemgt-createobj.sql" -sed -i "s|DBUSER|$user|g" "$main_path/dbscripts/postgresql/onap-holmes_rulemgt-createobj.sql" -sed -i "s|DBPWD|$password|g" "$main_path/dbscripts/postgresql/onap-holmes_rulemgt-createobj.sql" +if [ -d /opt/hrmconfig ]; then + cp /opt/hrmconfig/onap-holmes_rulemgt-createobj.sql "$main_path/dbscripts/postgresql/onap-holmes_rulemgt-createobj.sql" +else + sed -i "s|DBNAME|$dbname|g" "$main_path/dbscripts/postgresql/onap-holmes_rulemgt-createobj.sql" + sed -i "s|DBUSER|$user|g" "$main_path/dbscripts/postgresql/onap-holmes_rulemgt-createobj.sql" + sed -i "s|DBPWD|$password|g" "$main_path/dbscripts/postgresql/onap-holmes_rulemgt-createobj.sql" +fi cat $main_path/dbscripts/postgresql/onap-holmes_rulemgt-createobj.sql echo "dbname=$dbname" @@ -35,11 +39,26 @@ echo "user=$user" echo "password=$password" echo "port=$port" echo "host=$host" -export PGPASSWORD=$password -psql -U $user -p $port -h $host -d $dbname -f $main_path/dbscripts/postgresql/onap-holmes_rulemgt-createobj.sql -psql -U $user -p $port -h $host -d $dbname --command 'select * from aplus_rule;' + +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_rulemgt-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_rulemgt-createobj.sql + +psql -U "$user" -p "$port" -h "$host" -d "$dbname" -f $main_path/dbscripts/postgresql/onap-holmes_rulemgt-createobj.sql +psql -U "$user" -p "$port" -h "$host" -d "$dbname" --command 'select * from aplus_rule;' sql_result=$? -unset PGPASSWORD + +if [ "$need_unset"x = "1"x ]; then + unset PGPASSWORD +fi + echo "sql_result=$sql_result" if [ $sql_result != 0 ] ; then echo "Failed to initialize the database!"