From 6481057c46c57f389e0fb17b7065941ed28299b8 Mon Sep 17 00:00:00 2001 From: Guangrong Fu Date: Tue, 5 Sep 2017 16:46:26 +0800 Subject: [PATCH] Change the DB from MySQL to PostgreSQL Change-Id: If3e82cca0b27c5e486762b22305c1575d76789fe Issue-ID: HOLMES-49 Signed-off-by: Guangrong Fu --- pom.xml | 9 ++-- rulemgt-standalone/src/main/assembly/Dockerfile | 3 +- rulemgt-standalone/src/main/assembly/bin/initDB.sh | 9 ++-- rulemgt-standalone/src/main/assembly/bin/run.sh | 4 +- .../src/main/assembly/conf/rulemgt.yml | 8 +-- .../postgresql/onap-holmes_rulemgt-createobj.sql | 59 ++++++++++++++++++++++ rulemgt/pom.xml | 4 +- 7 files changed, 80 insertions(+), 16 deletions(-) create mode 100644 rulemgt-standalone/src/main/assembly/dbscripts/postgresql/onap-holmes_rulemgt-createobj.sql diff --git a/pom.xml b/pom.xml index 8bd6468..f8dc5fb 100644 --- a/pom.xml +++ b/pom.xml @@ -48,7 +48,6 @@ 3.2.1 - 5.1.38 0.8.0 0.9.9 1.5.3 @@ -57,6 +56,7 @@ 5.0 1.6.1 2.2.1 + 42.1.1 onap-holmes-rulemgt @@ -119,11 +119,12 @@ - mysql - mysql-connector-java - ${mysql.connector.version} + org.postgresql + postgresql + ${postgres.jdbc.driver.version} + org.antlr stringtemplate diff --git a/rulemgt-standalone/src/main/assembly/Dockerfile b/rulemgt-standalone/src/main/assembly/Dockerfile index 2be3e4e..775f303 100644 --- a/rulemgt-standalone/src/main/assembly/Dockerfile +++ b/rulemgt-standalone/src/main/assembly/Dockerfile @@ -20,7 +20,8 @@ WORKDIR /home/holmes ADD holmes-rulemgt-standalone-*-linux64.tar.gz /home/holmes/ RUN chmod 755 /home/holmes/bin/*.sh -#RUN apt-get install -y mysql-client +#install the postgres client +RUN apt-get install -y postgresql-client-9.5 postgresql-contrib-9.5 ENTRYPOINT /home/holmes/bin/run.sh diff --git a/rulemgt-standalone/src/main/assembly/bin/initDB.sh b/rulemgt-standalone/src/main/assembly/bin/initDB.sh index 6ec9947..c9b5705 100644 --- a/rulemgt-standalone/src/main/assembly/bin/initDB.sh +++ b/rulemgt-standalone/src/main/assembly/bin/initDB.sh @@ -23,13 +23,16 @@ port=$3 host=$4 echo "start init holmes rulemgt db" main_path=$HOME/.. -cat $main_path/dbscripts/mysql/onap-holmes_rulemgt-createobj.sql +cat $main_path/dbscripts/postgresql/onap-holmes_rulemgt-createobj.sql echo "user="$user -echo "password"$password +echo "password="$password echo "port="$port echo "host="$host -mysql -u$user -p$password -P$port -h$host <$main_path/dbscripts/mysql/onap-holmes_rulemgt-createobj.sql +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 holmes --command 'select * from aplus_rule;' sql_result=$? +unset PGPASSWORD cat "sql_result="$sql_result if [ $sql_result != 0 ] ; then echo "failed to init rulemgt database!" diff --git a/rulemgt-standalone/src/main/assembly/bin/run.sh b/rulemgt-standalone/src/main/assembly/bin/run.sh index 4b36f72..2142059 100644 --- a/rulemgt-standalone/src/main/assembly/bin/run.sh +++ b/rulemgt-standalone/src/main/assembly/bin/run.sh @@ -31,14 +31,14 @@ echo @JAVA_OPTS@ $JAVA_OPTS class_path="$main_path/:$main_path/holmes-rulemgt.jar" echo @class_path@ $class_path -sed -i "s|url:.*|url: jdbc:mysql://$URL_JDBC/holmes|" "$main_path/conf/rulemgt.yml" +sed -i "s|url:.*|url: jdbc:postgresql://$URL_JDBC/holmes|" "$main_path/conf/rulemgt.yml" sed -i "s|msbServerAddr:.*|msbServerAddr: http://$MSB_ADDR|" "$main_path/conf/rulemgt.yml" export SERVICE_IP=`hostname -i` echo SERVICE_IP=${SERVICE_IP} -./bin/initDB.sh root rootpass 3306 "${URL_JDBC%:*}" +./bin/initDB.sh holmes holmespwd 5432 "${URL_JDBC%:*}" "$JAVA" $JAVA_OPTS -classpath "$class_path" org.onap.holmes.rulemgt.RuleActiveApp server "$main_path/conf/rulemgt.yml" diff --git a/rulemgt-standalone/src/main/assembly/conf/rulemgt.yml b/rulemgt-standalone/src/main/assembly/conf/rulemgt.yml index fe2e18e..0b9a24a 100644 --- a/rulemgt-standalone/src/main/assembly/conf/rulemgt.yml +++ b/rulemgt-standalone/src/main/assembly/conf/rulemgt.yml @@ -47,10 +47,10 @@ logging: #database database: - driverClass: com.mysql.jdbc.Driver - user: root - password: rootpass - url: jdbc:mysql://10.74.156.206:3306/holmes + driverClass: org.postgresql.Driver + user: holmes + password: holmespwd + url: jdbc:postgresql://169.254.59.196:5432/holmes properties: charSet: UTF-8 maxWaitForConnection: 1s diff --git a/rulemgt-standalone/src/main/assembly/dbscripts/postgresql/onap-holmes_rulemgt-createobj.sql b/rulemgt-standalone/src/main/assembly/dbscripts/postgresql/onap-holmes_rulemgt-createobj.sql new file mode 100644 index 0000000..fb1c86d --- /dev/null +++ b/rulemgt-standalone/src/main/assembly/dbscripts/postgresql/onap-holmes_rulemgt-createobj.sql @@ -0,0 +1,59 @@ +-- +-- Copyright 2017 ZTE Corporation. +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- +/******************drop old database and user***************************/ +\c postgres; + +DROP DATABASE IF EXISTS holmes; + +DROP ROLE IF EXISTS holmes; + +/******************CREATE NEW DATABASE AND USER***************************/ +CREATE DATABASE holmes; + +CREATE ROLE holmes with PASSWORD 'holmespwd' LOGIN; + +\encoding UTF8; + +/******************DELETE OLD TABLE AND CREATE NEW***************************/ +\c holmes; + +CREATE TABLE APLUS_RULE ( + RID VARCHAR(30) NOT NULL, + NAME VARCHAR(150) NOT NULL, + DESCRIPTION VARCHAR(4000) NULL, + ENABLE SMALLINT NOT NULL, + TEMPLATEID BIGINT NOT NULL, + ENGINEID VARCHAR(20) NOT NULL, + ENGINETYPE VARCHAR(20) NOT NULL, + CREATOR VARCHAR(20) NOT NULL, + CREATETIME TIMESTAMP NOT NULL, + UPDATOR VARCHAR(20) NULL, + UPDATETIME TIMESTAMP NULL, + PARAMS VARCHAR(4000) NULL, + CONTENT VARCHAR(4000) NOT NULL, + VENDOR VARCHAR(100) NOT NULL, + PACKAGE VARCHAR(255) NULL, + PRIMARY KEY (RID), + UNIQUE (NAME) +); + +CREATE INDEX IDX_APLUS_RULE_ENABLE ON APLUS_RULE (ENABLE); +CREATE INDEX IDX_APLUS_RULE_TEMPLATEID ON APLUS_RULE (TEMPLATEID); +CREATE INDEX IDX_APLUS_RULE_ENGINEID ON APLUS_RULE (ENGINEID); +CREATE INDEX IDX_APLUS_RULE_ENGINETYPE ON APLUS_RULE (ENGINETYPE); + +GRANT ALL PRIVILEGES ON APLUS_RULE TO holmes; + diff --git a/rulemgt/pom.xml b/rulemgt/pom.xml index 9a9daf1..5aa0b72 100644 --- a/rulemgt/pom.xml +++ b/rulemgt/pom.xml @@ -83,8 +83,8 @@ lombok - mysql - mysql-connector-java + org.postgresql + postgresql org.quartz-scheduler -- 2.16.6