## 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"
}
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}':
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:
}
# 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'],
}
}
--- /dev/null
+#############################################################################
+# 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,
+ }
+
+}
--- /dev/null
+#############################################################################
+# 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}'],
+ }
+
+}