summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xtestsuites/rubbos/puppet_manifests/modules/rubbos_mysql/files/prepare_rubbos_mysql_db.sh49
-rw-r--r--testsuites/rubbos/puppet_manifests/modules/rubbos_mysql/manifests/rubbos_mysql_off.pp8
-rw-r--r--testsuites/rubbos/puppet_manifests/modules/rubbos_mysql/manifests/rubbos_mysql_on.pp9
3 files changed, 66 insertions, 0 deletions
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
index 00000000..ee073684
--- /dev/null
+++ b/testsuites/rubbos/puppet_manifests/modules/rubbos_mysql/files/prepare_rubbos_mysql_db.sh
@@ -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}
diff --git a/testsuites/rubbos/puppet_manifests/modules/rubbos_mysql/manifests/rubbos_mysql_off.pp b/testsuites/rubbos/puppet_manifests/modules/rubbos_mysql/manifests/rubbos_mysql_off.pp
index 8401470b..ec9a8717 100644
--- a/testsuites/rubbos/puppet_manifests/modules/rubbos_mysql/manifests/rubbos_mysql_off.pp
+++ b/testsuites/rubbos/puppet_manifests/modules/rubbos_mysql/manifests/rubbos_mysql_off.pp
@@ -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}",
diff --git a/testsuites/rubbos/puppet_manifests/modules/rubbos_mysql/manifests/rubbos_mysql_on.pp b/testsuites/rubbos/puppet_manifests/modules/rubbos_mysql/manifests/rubbos_mysql_on.pp
index 15fe06c0..81d45427 100644
--- a/testsuites/rubbos/puppet_manifests/modules/rubbos_mysql/manifests/rubbos_mysql_on.pp
+++ b/testsuites/rubbos/puppet_manifests/modules/rubbos_mysql/manifests/rubbos_mysql_on.pp
@@ -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,