aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoryangyan <yangyanyj@chinamobile.com>2019-03-25 16:34:26 +0800
committeryangyan <yangyanyj@chinamobile.com>2019-03-25 16:36:21 +0800
commit2462e08d2613753560d5565d625881beb640a563 (patch)
tree45fab4f8ce60284b3a528a6bddfbf9e4a41c8581
parenta18c2cc0aa47f71bc8435a37bca52e4258523e9c (diff)
change the way of create database
Change-Id: I4eb072f8e6dbfb964ce0faf8a668845a904078e6 Issue-ID: VFC-1312 Signed-off-by: yangyan <yangyanyj@chinamobile.com>
-rwxr-xr-xdocker/instance_config.sh4
-rwxr-xr-xdocker/instance_init.sh66
-rw-r--r--resources/bin/initDB.sh39
-rw-r--r--resources/dbscripts/mysql/vfc-nfvo-catalog-createdb.sql31
-rw-r--r--resources/dbscripts/mysql/vfc-nfvo-catalog-createobj.sql49
5 files changed, 188 insertions, 1 deletions
diff --git a/docker/instance_config.sh b/docker/instance_config.sh
index 04ec38e6..13a0a2c7 100755
--- a/docker/instance_config.sh
+++ b/docker/instance_config.sh
@@ -18,9 +18,13 @@ fi
MYSQL_IP=`echo $MYSQL_ADDR | cut -d: -f 1`
MYSQL_PORT=`echo $MYSQL_ADDR | cut -d: -f 2`
echo "MYSQL_ADDR=$MYSQL_ADDR"
+MYSQL_USER=`echo $MYSQL_AUTH | cut -d: -f 1`
+MYSQL_ROOT_PASSWORD=`echo $MYSQL_AUTH | cut -d: -f 2`
sed -i "s|DB_IP.*|DB_IP = '$MYSQL_IP'|" vfc/nfvo/catalog/catalog/pub/config/config.py
sed -i "s|DB_PORT.*|DB_PORT = $MYSQL_PORT|" vfc/nfvo/catalog/catalog/pub/config/config.py
sed -i "s|REDIS_HOST.*|REDIS_HOST = '$MYSQL_IP'|" vfc/nfvo/catalog/catalog/pub/config/config.py
+sed -i "s|DB_USER.*|DB_USER = '$MYSQL_USER'|" vfc/nfvo/catalog/catalog/pub/config/config.py
+sed -i "s|DB_PASSWD.*|DB_PASSWD = '$MYSQL_ROOT_PASSWORD'|" vfc/nfvo/catalog/catalog/pub/config/config.py
cat vfc/nfvo/catalog/catalog/pub/config/config.py
diff --git a/docker/instance_init.sh b/docker/instance_init.sh
index cfc9b0d5..4ead7670 100755
--- a/docker/instance_init.sh
+++ b/docker/instance_init.sh
@@ -1,2 +1,66 @@
#!/bin/bash
-echo "No service needs init."
+######
+# by vfc-db test
+#####
+# echo "No service needs init."
+#MYSQL_USER=$1
+######
+#by duan
+pip install PyMySQL==0.9.3
+if [ ! -f /var/log/onap/vfc/catalog/runtime_catalog.log ]; then
+ mkdir -p /var/log/onap/vfc/catalog
+ touch /var/log/onap/vfc/catalog/runtime_catalog.log
+else
+ echo >/var/log/onap/vfc/catalog/runtime_catalog.log
+fi
+
+if [ ! -f /service/vfc/nfvo/catalog/resources/bin/logs/runtime_catalog.log ]; then
+ mkdir -p /service/vfc/nfvo/catalog/resources/bin/logs
+ touch /service/vfc/nfvo/catalog/resources/bin/logs/runtime_catalog.log
+else
+ echo >/service/vfc/nfvo/catalog/resources/bin/logs/runtime_catalog.log
+fi
+
+MYSQL_IP=`echo $MYSQL_ADDR | cut -d: -f 1`
+MYSQL_PORT=`echo $MYSQL_ADDR | cut -d: -f 2`
+MYSQL_USER=`echo $MYSQL_AUTH | cut -d: -f 1`
+MYSQL_ROOT_PASSWORD=`echo $MYSQL_AUTH | cut -d: -f 2`
+
+function create_database {
+ cd /service/vfc/nfvo/catalog/resources/bin
+ bash initDB.sh $MYSQL_USER $MYSQL_ROOT_PASSWORD $MYSQL_PORT $MYSQL_IP
+ #DIRNAME=`dirname $0`
+ #HOME=`cd $DIRNAME/; pwd`
+ #man_path=$HOME/../
+ man_path=/service/vfc/nfvo/catalog
+ #tab=`mysql -u${MYSQL_USER} -p${MYSQL_PASSWORD} -P${MYSQL_PORT} -h${MYSQL_IP} -e "use vfcnfvolcm; select count(*) from vfcnfvolcm;"`
+ tab=`mysql -u${MYSQL_USER} -p${MYSQL_ROOT_PASSWORD} -P${MYSQL_PORT} -h${MYSQL_IP} -e "SELECT count(TABLE_NAME) FROM information_schema.TABLES WHERE TABLE_SCHEMA='nfvocatalog';"`
+ tab1=`echo $tab |awk '{print $2}'`
+ echo "=========="
+ echo $tab1
+ echo "=========="
+ if [ $tab1 -eq 0 ] ; then
+ echo "============"
+ echo $tab1
+ echo "============"
+ echo "TABLE NOT EXISTS, START MIGRATE"
+ python $man_path/manage.py makemigrations && python $man_path/manage.py migrate &
+ wait
+ tab2=`mysql -u${MYSQL_USER} -p${MYSQL_ROOT_PASSWORD} -P${MYSQL_PORT} -h${MYSQL_IP} -e "SELECT count(TABLE_NAME) FROM information_schema.TABLES WHERE TABLE_SCHEMA='nfvocatalog';"`
+ tab3=`echo $tab2|awk '{print $2}'`
+ if [ $tab3 -gt 0 ] ; then
+ echo "TABLE CREATE SUCCESSFUL"
+ fi
+else
+ echo "table already existed"
+ exit 1
+fi
+ }
+
+if [ ! -f /service/vfc/nfvo/catalog/docker/db.txt ]; then
+ echo 1 > /service/vfc/nfvo/catalog/docker/db.txt
+ echo `pwd` >> /service/vfc/nfvo/catalog/docker/db.txt
+ create_database
+else
+ echo "database already existed"
+fi
diff --git a/resources/bin/initDB.sh b/resources/bin/initDB.sh
new file mode 100644
index 00000000..b15d1cfd
--- /dev/null
+++ b/resources/bin/initDB.sh
@@ -0,0 +1,39 @@
+#!/bin/bash
+#
+# Copyright 2018 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.
+#
+
+######
+#test for vfc-db
+######
+
+DIRNAME=`dirname $0`
+HOME=`cd $DIRNAME/; pwd`
+MYSQL_USER=$1
+MYSQL_PASSWORD=$2
+MYSQL_PORT=$3
+MYSQL_IP=$4
+echo "start create nfvocatalog db"
+sql_path=$HOME/../
+mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -P$MYSQL_PORT -h$MYSQL_IP <$sql_path/dbscripts/mysql/vfc-nfvo-catalog-createdb.sql
+sql_result=$?
+if [ $sql_result -ne 0 ] ; then
+ echo "failed to create nfvocatalog database"
+ exit 1
+elif [ $sql_result -eq 0 ]; then
+ echo "create nfvocatalog database successfully"
+ exit 0
+fi
+
diff --git a/resources/dbscripts/mysql/vfc-nfvo-catalog-createdb.sql b/resources/dbscripts/mysql/vfc-nfvo-catalog-createdb.sql
new file mode 100644
index 00000000..a1fd3e2c
--- /dev/null
+++ b/resources/dbscripts/mysql/vfc-nfvo-catalog-createdb.sql
@@ -0,0 +1,31 @@
+--
+-- Copyright 2018 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***************************/
+use mysql;
+drop database IF EXISTS nfvocatalog;
+delete from user where User='nfvocatalog';
+FLUSH PRIVILEGES;
+
+/******************create new database and user***************************/
+create database nfvocatalog CHARACTER SET utf8;
+
+GRANT ALL PRIVILEGES ON nfvocatalog.* TO 'nfvocatalog'@'%' IDENTIFIED BY 'nfvocatalog' WITH GRANT OPTION;
+GRANT ALL PRIVILEGES ON mysql.* TO 'nfvocatalog'@'%' IDENTIFIED BY 'nfvocatalog' WITH GRANT OPTION;
+
+GRANT ALL PRIVILEGES ON nfvocatalog.* TO 'nfvocatalog'@'localhost' IDENTIFIED BY 'nfvocatalog' WITH GRANT OPTION;
+GRANT ALL PRIVILEGES ON mysql.* TO 'nfvocatalog'@'localhost' IDENTIFIED BY 'nfvocatalog' WITH GRANT OPTION;
+FLUSH PRIVILEGES;
diff --git a/resources/dbscripts/mysql/vfc-nfvo-catalog-createobj.sql b/resources/dbscripts/mysql/vfc-nfvo-catalog-createobj.sql
new file mode 100644
index 00000000..8fa81260
--- /dev/null
+++ b/resources/dbscripts/mysql/vfc-nfvo-catalog-createobj.sql
@@ -0,0 +1,49 @@
+--
+-- Copyright 2018 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.
+--
+
+use nfvocatalog;
+
+DROP TABLE IF EXISTS CATALOG_JOB;
+DROP TABLE IF EXISTS CATALOG_JOB_STATUS;
+DROP TABLE IF EXISTS CATALOG_NSPACKAGE;
+DROP TABLE IF EXISTS CATALOG_SOFTWAREIMAGEMODEL;
+DROP TABLE IF EXISTS CATALOG_VNFPACKAGE;
+DROP TABLE IF EXISTS CATALOG_PNFPACKAGE;
+
+--
+-- Create model JobModel
+--
+CREATE TABLE `CATALOG_JOB` (`JOBID` varchar(255) NOT NULL PRIMARY KEY, `JOBTYPE` varchar(255) NOT NULL, `JOBACTION` varchar(255) NOT NULL, `RESID` varchar(255) NOT NULL, `STATUS` integer NULL, `STARTTIME` varchar(255) NULL, `ENDTIME` varchar(255) NULL, `PROGRESS` integer NULL, `USER` varchar(255) NULL, `PARENTJOBID` varchar(255) NULL, `RESNAME` varchar(255) NULL);
+--
+-- Create model JobStatusModel
+--
+CREATE TABLE `CATALOG_JOB_STATUS` (`id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY, `INDEXID` integer NOT NULL, `JOBID` varchar(255) NOT NULL, `STATUS` varchar(255) NOT NULL, `PROGRESS` integer NULL, `DESCP` longtext NOT NULL, `ERRCODE` varchar(255) NULL, `ADDTIME` varchar(255) NULL);
+--
+-- Create model NSPackageModel
+--
+CREATE TABLE `CATALOG_NSPACKAGE` (`NSPACKAGEID` varchar(50) NOT NULL PRIMARY KEY, `NSPACKAGEURI` varchar(300) NULL, `CHECKSUM` varchar(50) NULL, `SDCCSARID` varchar(50) NULL, `ONBOARDINGSTATE` varchar(20) NULL, `OPERATIONALSTATE` varchar(20) NULL, `USAGESTATE` varchar(20) NULL, `DELETIONPENDING` varchar(20) NULL, `NSDID` varchar(50) NULL, `NSDNAME` varchar(50) NULL, `NSDDESIGNER` varchar(50) NULL, `NSDDESCRIPTION` varchar(100) NULL, `NSDVERSION` varchar(20) NULL, `USERDEFINEDDATA` longtext NULL, `LOCALFILEPATH` varchar(300) NULL, `NSDMODEL` longtext NULL, `INVARIANTID` varchar(50) NULL);
+--
+-- Create model SoftwareImageModel
+--
+CREATE TABLE `CATALOG_SOFTWAREIMAGEMODEL` (`IMAGEID` varchar(50) NOT NULL PRIMARY KEY, `CONTAINERFORMAT` varchar(20) NOT NULL, `DISKFORMAT` varchar(20) NOT NULL, `MINDISK` varchar(20) NOT NULL, `MINRAM` varchar(20) NOT NULL, `USAERMETADATA` varchar(1024) NOT NULL, `VNFPACKAGEID` varchar(50) NOT NULL, `FILEPATH` varchar(300) NOT NULL, `STATUS` varchar(10) NOT NULL, `VIMID` varchar(50) NOT NULL);
+--
+-- Create model VnfPackageModel
+--
+CREATE TABLE `CATALOG_VNFPACKAGE` (`VNFPACKAGEID` varchar(50) NOT NULL PRIMARY KEY, `VNFPACKAGEURI` varchar(300) NULL, `SDCCSARURI` varchar(300) NULL, `CHECKSUM` varchar(50) NULL, `ONBOARDINGSTATE` varchar(20) NULL, `OPERATIONALSTATE` varchar(20) NULL, `USAGESTATE` varchar(20) NULL, `DELETIONPENDING` varchar(20) NULL, `VNFDID` varchar(50) NULL, `VENDOR` varchar(50) NULL, `VNFDPRODUCTNAME` varchar(50) NULL, `VNFDVERSION` varchar(20) NULL, `VNFSOFTWAREVERSION` varchar(20) NULL, `USERDEFINEDDATA` longtext NULL, `LOCALFILEPATH` varchar(300) NULL, `VNFDMODEL` longtext NULL);
+--
+-- Create model PnfPackageModel
+--
+CREATE TABLE `CATALOG_PNFPACKAGE` (`PNFPACKAGEID` varchar(50) NOT NULL PRIMARY KEY, `PNFPACKAGEURI` varchar(300) NULL, `SDCCSARURI` varchar(300) NULL, `CHECKSUM` varchar(50) NULL, `ONBOARDINGSTATE` varchar(20) NULL, `USAGESTATE` varchar(20) NULL, `DELETIONPENDING` varchar(20) NULL, `PNFDID` varchar(50) NULL, `VENDOR` varchar(50) NULL, `PNFDPRODUCTNAME` varchar(50) NULL, `PNFDVERSION` varchar(20) NULL, `PNFSOFTWAREVERSION` varchar(20) NULL, `USERDEFINEDDATA` longtext NULL, `LOCALFILEPATH` varchar(300) NULL, `PNFDMODEL` longtext NULL, `PNFDNAME` varchar(100) NULL);