summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuangrong Fu <fu.guangrong@zte.com.cn>2017-09-05 16:46:26 +0800
committerGuangrong Fu <fu.guangrong@zte.com.cn>2017-09-05 17:20:51 +0800
commit6481057c46c57f389e0fb17b7065941ed28299b8 (patch)
tree0ce960a5283f9da0df74edb971f6ce4ac371a633
parent2def6b625452293a345ae73c4b91abaf9e728d72 (diff)
Change the DB from MySQL to PostgreSQL
Change-Id: If3e82cca0b27c5e486762b22305c1575d76789fe Issue-ID: HOLMES-49 Signed-off-by: Guangrong Fu <fu.guangrong@zte.com.cn>
-rw-r--r--pom.xml9
-rw-r--r--rulemgt-standalone/src/main/assembly/Dockerfile3
-rw-r--r--rulemgt-standalone/src/main/assembly/bin/initDB.sh9
-rw-r--r--rulemgt-standalone/src/main/assembly/bin/run.sh4
-rw-r--r--rulemgt-standalone/src/main/assembly/conf/rulemgt.yml8
-rw-r--r--rulemgt-standalone/src/main/assembly/dbscripts/postgresql/onap-holmes_rulemgt-createobj.sql59
-rw-r--r--rulemgt/pom.xml4
7 files changed, 80 insertions, 16 deletions
diff --git a/pom.xml b/pom.xml
index 8bd6468..f8dc5fb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -48,7 +48,6 @@
<stringtemplate.version>3.2.1</stringtemplate.version>
- <mysql.connector.version>5.1.38</mysql.connector.version>
<dropwizard.version>0.8.0</dropwizard.version>
<reflections.version>0.9.9</reflections.version>
<swagger.version>1.5.3</swagger.version>
@@ -57,6 +56,7 @@
<jaxrs.consumer.version>5.0</jaxrs.consumer.version>
<slf4j.version>1.6.1</slf4j.version>
<quartz.version>2.2.1</quartz.version>
+ <postgres.jdbc.driver.version>42.1.1</postgres.jdbc.driver.version>
<packagename>onap-holmes-rulemgt</packagename>
@@ -119,11 +119,12 @@
</dependency>
<dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- <version>${mysql.connector.version}</version>
+ <groupId>org.postgresql</groupId>
+ <artifactId>postgresql</artifactId>
+ <version>${postgres.jdbc.driver.version}</version>
</dependency>
+
<dependency>
<groupId>org.antlr</groupId>
<artifactId>stringtemplate</artifactId>
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 @@
<artifactId>lombok</artifactId>
</dependency>
<dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
+ <groupId>org.postgresql</groupId>
+ <artifactId>postgresql</artifactId>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>