Fixed the start-up failure of the engine module 27/40627/1
authorGuangrongFu <fu.guangrong@zte.com.cn>
Tue, 3 Apr 2018 03:20:47 +0000 (11:20 +0800)
committerGuangrongFu <fu.guangrong@zte.com.cn>
Tue, 3 Apr 2018 03:20:47 +0000 (11:20 +0800)
Change-Id: I125c922d021530904916b16404847bdd5b6c46b1
Issue-ID: HOLMES-128
Signed-off-by: GuangrongFu <fu.guangrong@zte.com.cn>
engine-d-standalone/src/main/assembly/Dockerfile
engine-d-standalone/src/main/assembly/bin/initDB.sh
engine-d-standalone/src/main/assembly/bin/run.sh

index 8aba688..082cec0 100644 (file)
@@ -26,6 +26,9 @@ RUN wget http://archive.apache.org/dist/activemq/apache-activemq/5.9.0/apache-ac
 RUN tar -xzvf apache-activemq-5.9.0-bin.tar.gz -C /home/activemq/
 RUN rm -rf /home/downloads
 
+#install the postgres client
+RUN apt-get install -y postgresql-client-9.5 postgresql-contrib-9.5
+
 #add holmes related resources to the docker image
 RUN mkdir /home/holmes
 WORKDIR /home/holmes
index 97361ea..0c48ffa 100644 (file)
@@ -19,17 +19,34 @@ 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/onap-holmes_engine_d-createobj.sql
+dbname=$3
+port=$4
+host=$5
+echo "Initializing the holmes engine management database..."
+main_path=$HOME/..
+
+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"
+
+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"
+
+export PGPASSWORD=$password
+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=$?
+unset PGPASSWORD
+cat "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
 
index f682ed7..a1290af 100644 (file)
@@ -67,6 +67,12 @@ if [ ! -z ${TESTING} ] && [ ${TESTING} == 1 ]; then
     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
+
 #ActiveMQ IP Configurations
 sed -i "s|brokerIp:.*|brokerIp: $SERVICE_IP|" "$main_path/conf/engine-d.yml"
 
@@ -79,6 +85,7 @@ sed -i "s|keyStorePassword:.*|keyStorePassword: $KEY_PASSWORD|" "$main_path/conf
 
 cat "$main_path/conf/engine-d.yml"
 
+./bin/initDB.sh $JDBC_USERNAME $JDBC_PASSWORD $DB_NAME $DB_PORT "${URL_JDBC%:*}"
 
 "$JAVA" $JAVA_OPTS -classpath "$class_path" org.onap.holmes.engine.EngineDActiveApp server "$main_path/conf/engine-d.yml"