summaryrefslogtreecommitdiffstats
path: root/testsuites/rubbos/puppet_manifests/modules/rubbos_mysql
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 /testsuites/rubbos/puppet_manifests/modules/rubbos_mysql
parent87d58363042410a1641fd97734d45c17b4acb0e5 (diff)
add puppet manifests for rubbos mysql module
Change-Id: I73cfeede59d590bca677def89d9fc3f2fe991889 JIRA: BOTTLENECK-54
Diffstat (limited to 'testsuites/rubbos/puppet_manifests/modules/rubbos_mysql')
-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
2 files changed, 167 insertions, 0 deletions
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}'],
+ }
+
+}