From dd7eae17aca39d609e28afd5fadf110c5e1e769e Mon Sep 17 00:00:00 2001 From: wangyaoguang Date: Wed, 13 Apr 2016 15:57:00 +0800 Subject: [PATCH] add a script for loading data into mysql database JIRA: BOTTLENECK-54 Change-Id: Iad7c56b67618fbf2a21b3872735e692c08e53175 Signed-off-by: wangyaoguang --- .../rubbos_mysql/files/prepare_rubbos_mysql_db.sh | 49 ++++++++++++++++++++++ .../rubbos_mysql/manifests/rubbos_mysql_off.pp | 8 ++++ .../rubbos_mysql/manifests/rubbos_mysql_on.pp | 9 ++++ 3 files changed, 66 insertions(+) create mode 100755 testsuites/rubbos/puppet_manifests/modules/rubbos_mysql/files/prepare_rubbos_mysql_db.sh 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, -- 2.16.6