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=60b1f774c15397fe3da3e6aab6ee75a6449a8bf6;hpb=df8d4c85c5c6b47442b041bcf218f1440193d79d;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 60b1f77..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/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. @@ -22,23 +22,47 @@ password=$2 dbname=$3 port=$4 host=$5 -echo "start init holmes rulemgt db" +echo "Initializing the holmes rule management database..." main_path=$HOME/.. + +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" echo "user=$user" echo "password=$password" echo "port=$port" echo "host=$host" -export PGPASSWORD=$password -psql -U $user -p $port -h $host -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