X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=rulemgt-standalone%2Fsrc%2Fmain%2Fassembly%2Fbin%2FinitDB.sh;h=586eb0345778594156f5a532bd42eacbb63163c3;hb=96e01e4f6fe8e3294612360510485a7a7edb0bb0;hp=b52b2284aa9b4596114d042051007028572027b8;hpb=b77188b0eb09f50f5c6470635da84d4c057c012c;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 b52b228..586eb03 100644 --- a/rulemgt-standalone/src/main/assembly/bin/initDB.sh +++ b/rulemgt-standalone/src/main/assembly/bin/initDB.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh # # Copyright 2017 ZTE Corporation. # @@ -22,12 +22,16 @@ password=$2 dbname=$3 port=$4 host=$5 -echo "start init holmes rulemgt db" +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,15 +39,30 @@ 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 -cat "sql_result="$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 rulemgt database!" + echo "Failed to initialize the database!" exit 1 fi -echo "init rulemgt success!" +echo "The database is initialized successfully!" exit 0