add a script for loading data into mysql database 23/12223/1
authorwangyaoguang <sunshine.wang@huawei.com>
Wed, 13 Apr 2016 07:57:00 +0000 (15:57 +0800)
committerwangyaoguang <sunshine.wang@huawei.com>
Wed, 13 Apr 2016 07:59:19 +0000 (15:59 +0800)
JIRA: BOTTLENECK-54

Change-Id: Iad7c56b67618fbf2a21b3872735e692c08e53175
Signed-off-by: wangyaoguang <sunshine.wang@huawei.com>
testsuites/rubbos/puppet_manifests/modules/rubbos_mysql/files/prepare_rubbos_mysql_db.sh [new file with mode: 0755]
testsuites/rubbos/puppet_manifests/modules/rubbos_mysql/manifests/rubbos_mysql_off.pp
testsuites/rubbos/puppet_manifests/modules/rubbos_mysql/manifests/rubbos_mysql_on.pp

diff --git a/testsuites/rubbos/puppet_manifests/modules/rubbos_mysql/files/prepare_rubbos_mysql_db.sh b/testsuites/rubbos/puppet_manifests/modules/rubbos_mysql/files/prepare_rubbos_mysql_db.sh
new file mode 100755 (executable)
index 0000000..ee07368
--- /dev/null
@@ -0,0 +1,49 @@
+#!/bin/bash
+#############################################################################
+# Copyright (c) 2016 Huawei Technologies Co.,Ltd and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+
+## Usage: prepare_rubbos_mysql_db.sh rubbos_data_sql.tar.gz rubbos_data_sql_dir
+##   It is used for loading data into mysql database.
+if [ ! -d '/usr/local/mysql' ] || [ $# -ne 2 ] || [ ! -f $1 ];then
+    echo "It requires: Mysql is installed, two arguments, and the second points to a data_sql file."
+    exit 1;
+fi
+
+rubbos_mysql_db_compressed_file=$1
+rubbos_mysql_db_uncompressed_dir=$2
+
+# clear database
+echo "BEGIN RUBBOS DATABASE GIVE PRIVILEGES"
+cat << EOF | /usr/local/mysql/bin/mysql -uroot
+
+DROP DATABASE IF EXISTS rubbos;
+
+CREATE DATABASE rubbos;
+
+GRANT ALL PRIVILEGES ON rubbos.* TO 'rubbos'@'%' \
+    IDENTIFIED BY 'rubbos';
+    flush privileges;
+GRANT ALL PRIVILEGES ON rubbos.* TO 'rubbos'@'localhost' \
+    IDENTIFIED BY 'rubbos';
+    flush privileges;
+EOF
+echo "END RUBBOS DATABASE GIVE PRIVILEGES"
+
+# import sql data
+echo "BEGIN IMPORT SQL DATA"
+if [ -d '${rubbos_mysql_db_uncompressed_dir}' ]; then
+   rm -rf ${rubbos_mysql_db_uncompressed_dir}
+fi
+mkdir -p ${rubbos_mysql_db_uncompressed_dir}
+tar zxvf ${rubbos_mysql_db_compressed_file} --directory ${rubbos_mysql_db_uncompressed_dir}
+/usr/local/mysql/bin/mysql -uroot rubbos < ${rubbos_mysql_db_uncompressed_dir}/rubbos_data_sql
+echo "END IMPORT SQL DATA"
+
+rm -rf ${rubbos_mysql_db_uncompressed_dir}
index 8401470..ec9a871 100644 (file)
@@ -43,6 +43,14 @@ class rubbos_mysql::rubbos_mysql_off {
         require => Service['stop mysql'],
   }
 
+  file {'${rubbos_home}/prepare_rubbos_mysql_db.sh':
+        ensure          => absent,
+        path            => "${rubbos_home}/prepare_rubbos_mysql_db.sh",
+        backup          => false,
+        show_diff       => false,
+        require         => Service['stop mysql'],
+  }
+
   # Remove user and group
   user {'${mysql_user_name}':
         name            => "${mysql_user_name}",
index 15fe06c..81d4542 100644 (file)
@@ -75,6 +75,15 @@ class rubbos_mysql::rubbos_mysql_on {
         require => Exec['ln -s ${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64 mysql'],
   }
 
+  # Prepare a script
+  file {'${rubbos_home}/prepare_rubbos_mysql_db.sh':
+        path            => "${rubbos_home}/prepare_rubbos_mysql_db.sh",
+        ensure          => present,
+        source          => "puppet:///modules/rubbos_mysql/prepare_rubbos_mysql_db.sh",
+        backup          => false,
+        show_diff       => false,
+  }
+
   # Start mysql service
   service {'mysql':
         ensure          => running,