summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwangyaoguang <sunshine.wang@huawei.com>2016-04-05 11:04:50 +0800
committerwangyaoguang <sunshine.wang@huawei.com>2016-04-05 11:07:45 +0800
commit2313d6c41a0ed086c3035cd17c2ca6952960a521 (patch)
treefd8b17098f5c261939af1fc5f5b6f26b4a820481
parent87d58363042410a1641fd97734d45c17b4acb0e5 (diff)
add puppet manifests for rubbos mysql module
Change-Id: I73cfeede59d590bca677def89d9fc3f2fe991889 JIRA: BOTTLENECK-54
-rw-r--r--testsuites/rubbos/puppet_manifests/modules/params/manifests/rubbos_params.pp9
-rw-r--r--testsuites/rubbos/puppet_manifests/modules/rubbos_common/manifests/rubbos_common_on.pp36
-rw-r--r--testsuites/rubbos/puppet_manifests/modules/rubbos_mysql/manifests/rubbos_mysql_off.pp78
-rw-r--r--testsuites/rubbos/puppet_manifests/modules/rubbos_mysql/manifests/rubbos_mysql_on.pp89
4 files changed, 191 insertions, 21 deletions
diff --git a/testsuites/rubbos/puppet_manifests/modules/params/manifests/rubbos_params.pp b/testsuites/rubbos/puppet_manifests/modules/params/manifests/rubbos_params.pp
index db1fa828..95951433 100644
--- a/testsuites/rubbos/puppet_manifests/modules/params/manifests/rubbos_params.pp
+++ b/testsuites/rubbos/puppet_manifests/modules/params/manifests/rubbos_params.pp
@@ -11,8 +11,11 @@
## Variables used in {rubbos} test suite
class params::rubbos_params {
- $rubbos_app = "/bottlenecks/rubbos/app"
- $rubbos_app_tools = "/bottlenecks/rubbos/app_tools"
- $rubbos_home = "/bottlenecks/rubbos/app/RUBBoS"
+ $rubbos_app = "/bottlenecks/rubbos/app"
+ $rubbos_app_tools = "/bottlenecks/rubbos/app_tools"
+ $rubbos_home = "/bottlenecks/rubbos/app/RUBBoS"
+ $mysql_user_group = "mysql"
+ $mysql_user_name = "mysql"
+ $mysql_user_password = "mysql"
}
diff --git a/testsuites/rubbos/puppet_manifests/modules/rubbos_common/manifests/rubbos_common_on.pp b/testsuites/rubbos/puppet_manifests/modules/rubbos_common/manifests/rubbos_common_on.pp
index 8e7539eb..ca192f73 100644
--- a/testsuites/rubbos/puppet_manifests/modules/rubbos_common/manifests/rubbos_common_on.pp
+++ b/testsuites/rubbos/puppet_manifests/modules/rubbos_common/manifests/rubbos_common_on.pp
@@ -9,13 +9,13 @@
class rubbos_common::rubbos_common_on {
-
+
include params::rubbos_params
# Declare some variables
- $rubbos_app = $params::rubbos_params::rubbos_app
- $rubbos_app_tool = $params::rubbos_params::rubbos_app_tool
- $rubbos_home = $params::rubbos_params::rubbos_home
+ $rubbos_app = $params::rubbos_params::rubbos_app
+ $rubbos_app_tools = $params::rubbos_params::rubbos_app_tools
+ $rubbos_home = $params::rubbos_params::rubbos_home
# Prepare RUBBOS_APP folder
exec {'mkdir -p ${rubbos_app}':
@@ -24,19 +24,19 @@ class rubbos_common::rubbos_common_on {
path => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
}
- # Prepare RUBBOS_APP_TOOLS folder
- exec {'mkdir -p ${rubbos_app_tool}':
- command => "mkdir -p ${rubbos_app_tool}",
- unless => "test -d ${rubbos_app_tool}",
+ # Prepare RUBBOS_APP_TOOLS folder
+ exec {'mkdir -p ${rubbos_app_tools}':
+ command => "mkdir -p ${rubbos_app_tools}",
+ unless => "test -d ${rubbos_app_tools}",
path => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
}
# Prepare RUBBOS_HOME folder
exec {'mkdir -p ${rubbos_home}':
- command => "mkdir -p ${rubbos_home}",
- unless => "test -d ${rubbos_home}",
- path => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
- require => Exec['mkdir -p ${rubbos_app}'],
+ command => "mkdir -p ${rubbos_home}",
+ unless => "test -d ${rubbos_home}",
+ path => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
+ require => Exec['mkdir -p ${rubbos_app}'],
}
# Prepare common packages:
@@ -54,19 +54,19 @@ class rubbos_common::rubbos_common_on {
}
# Install jdk
- file {'${rubbos_app_tool}/jdk-6u27-linux-x64.bin':
+ file {'${rubbos_app_tools}/jdk-6u27-linux-x64.bin':
ensure => file,
- path => "${rubbos_app_tool}/jdk-6u27-linux-x64.bin",
+ path => "${rubbos_app_tools}/jdk-6u27-linux-x64.bin",
source => "puppet:///modules/rubbos_common/jdk-6u27-linux-x64.bin",
mode => 0711,
backup => false,
- require => Exec['mkdir -p ${rubbos_app_tool}'],
+ require => Exec['mkdir -p ${rubbos_app_tools}'],
}
exec {'jdk-6u27-linux-x64.bin':
- cwd => "${rubbos_app_tool}",
- command => "${rubbos_app_tool}/jdk-6u27-linux-x64.bin",
+ cwd => "${rubbos_app_tools}",
+ command => "${rubbos_app_tools}/jdk-6u27-linux-x64.bin",
path => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
- require => File['${rubbos_app_tool}/jdk-6u27-linux-x64.bin'],
+ require => File['${rubbos_app_tools}/jdk-6u27-linux-x64.bin'],
}
}
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
new file mode 100644
index 00000000..8401470b
--- /dev/null
+++ b/testsuites/rubbos/puppet_manifests/modules/rubbos_mysql/manifests/rubbos_mysql_off.pp
@@ -0,0 +1,78 @@
+#############################################################################
+# 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
+##############################################################################
+
+
+class rubbos_mysql::rubbos_mysql_off {
+
+ include params::rubbos_params
+
+ # Declare some variables
+ $rubbos_app_tools = $params::rubbos_params::rubbos_app_tools
+ $mysql_user_group = $params::rubbos_params::mysql_user_group
+ $mysql_user_name = $params::rubbos_params::mysql_user_name
+ $mysql_user_password = $params::rubbos_params::mysql_user_password
+
+ file {'${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64.tar.gz':
+ path => "${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64.tar.gz",
+ ensure => absent,
+ backup => false,
+ }
+
+ # Stop mysql
+ service {'stop mysql':
+ ensure => stopped,
+ hasstatus => false,
+ provider => "upstart",
+ status => "${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64/support-files/mysql.server status | grep 'MySQL running'",
+ start => "${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64/bin/mysqld_safe &",
+ stop => "${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64/bin/mysqladmin shutdown",
+ }
+
+ file {'${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64':
+ ensure => absent,
+ path => "${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64",
+ force => true,
+ recurse => true,
+ backup => false,
+ require => Service['stop mysql'],
+ }
+
+ # Remove user and group
+ user {'${mysql_user_name}':
+ name => "${mysql_user_name}",
+ ensure => absent,
+ groups => "${mysql_user_group}",
+ password => "${mysql_user_password}",
+ require => File['${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64'],
+ }
+
+ group {'${mysql_user_group}':
+ name => "${mysql_user_group}",
+ ensure => absent,
+ require => User['${mysql_user_name}'],
+ }
+
+ # Remove softlink
+ exec {'rm -rf /usr/local/mysql':
+ cwd => "/usr/local",
+ command => "rm -rf /usr/local/mysql",
+ onlyif => "test -h /usr/local/mysql",
+ path => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
+ require => Group['mysql'],
+ }
+
+ # Remove packages
+ package {'libaio-dev':
+ ensure => absent,
+ }
+ package {'libaio1':
+ ensure => absent,
+ }
+
+}
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
new file mode 100644
index 00000000..15fe06c0
--- /dev/null
+++ b/testsuites/rubbos/puppet_manifests/modules/rubbos_mysql/manifests/rubbos_mysql_on.pp
@@ -0,0 +1,89 @@
+#############################################################################
+# 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
+##############################################################################
+
+
+class rubbos_mysql::rubbos_mysql_on {
+
+ include params::rubbos_params
+ require rubbos_common::rubbos_common_on
+
+ # Declare some variables
+ $rubbos_app = $params::rubbos_params::rubbos_app
+ $rubbos_app_tools = $params::rubbos_params::rubbos_app_tools
+ $rubbos_home = $params::rubbos_params::rubbos_home
+ $mysql_user_group = $params::rubbos_params::mysql_user_group
+ $mysql_user_name = $params::rubbos_params::mysql_user_name
+ $mysql_user_password = $params::rubbos_params::mysql_user_password
+
+ # Add group and user
+ group {'${mysql_user_group}':
+ name => "${mysql_user_group}",
+ ensure => present,
+ before => User['${mysql_user_name}'],
+ }
+ user {'${mysql_user_name}':
+ name => "${mysql_user_name}",
+ ensure => present,
+ groups => "${mysql_user_group}",
+ password => "${mysql_user_password}",
+ before => File['${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64.tar.gz'],
+ }
+
+ # Prepare needed packages for mysql installation
+ package {'libaio-dev':
+ ensure => installed,
+ before => Exec['scripts/mysql_install_db --user=${mysql_user_name}'],
+ }
+ package {'libaio1':
+ ensure => installed,
+ before => Exec['scripts/mysql_install_db --user=${mysql_user_name}'],
+ }
+
+ # Prepare and install mysql
+ file {'${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64.tar.gz':
+ path => "${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64.tar.gz",
+ ensure => present,
+ source => "puppet:///modules/rubbos_mysql/mysql-5.5.46-linux2.6-x86_64.tar.gz",
+ backup => false,
+ notify => Exec['tar -xf ${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64.tar.gz'],
+ }
+
+ exec {'tar -xf ${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64.tar.gz':
+ cwd => "${rubbos_app_tools}",
+ command => "tar -xf ${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64.tar.gz",
+ creates => "${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64/scripts/mysql_install_db",
+ path => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
+ }
+
+ exec {'ln -s ${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64 mysql':
+ cwd => "/usr/local",
+ command => "ln -s ${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64 mysql",
+ path => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
+ subscribe => Exec['tar -xf ${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64.tar.gz'],
+ }
+
+ exec {'scripts/mysql_install_db --user=${mysql_user_name}':
+ cwd => "${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64",
+ command => "${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64/scripts/mysql_install_db --user=${mysql_user_name}",
+ path => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
+ require => Exec['ln -s ${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64 mysql'],
+ }
+
+ # Start mysql service
+ service {'mysql':
+ ensure => running,
+ hasstatus => false,
+ provider => upstart,
+ status => "${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64/support-files/mysql.server status | grep 'MySQL running'",
+ start => "${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64/bin/mysqld_safe &",
+ stop => "${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64/bin/mysqladmin shutdown",
+ require => Exec['scripts/mysql_install_db --user=${mysql_user_name}'],
+ }
+
+}