summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--testsuites/rubbos/puppet_manifests/modules/params/manifests/rubbos_params.pp18
-rw-r--r--testsuites/rubbos/puppet_manifests/modules/rubbos_common/manifests/rubbos_common_on.pp72
-rw-r--r--testsuites/rubbos/puppet_manifests/modules/rubbos_monitor/manifests/rubbos_monitor_off.pp36
-rw-r--r--testsuites/rubbos/puppet_manifests/modules/rubbos_monitor/manifests/rubbos_monitor_on.pp91
4 files changed, 217 insertions, 0 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
new file mode 100644
index 00000000..db1fa828
--- /dev/null
+++ b/testsuites/rubbos/puppet_manifests/modules/params/manifests/rubbos_params.pp
@@ -0,0 +1,18 @@
+##############################################################################
+# 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
+##############################################################################
+
+
+## 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"
+
+}
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
new file mode 100644
index 00000000..8e7539eb
--- /dev/null
+++ b/testsuites/rubbos/puppet_manifests/modules/rubbos_common/manifests/rubbos_common_on.pp
@@ -0,0 +1,72 @@
+##############################################################################
+# 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_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
+
+ # Prepare RUBBOS_APP folder
+ exec {'mkdir -p ${rubbos_app}':
+ command => "mkdir -p ${rubbos_app}",
+ unless => "test -d ${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}",
+ 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}'],
+ }
+
+ # Prepare common packages:
+ package {'make':
+ name => "make",
+ ensure => installed,
+ }
+ package {'gcc':
+ name => "gcc",
+ ensure => installed,
+ }
+ package {'g++':
+ name => "g++",
+ ensure => installed,
+ }
+
+ # Install jdk
+ file {'${rubbos_app_tool}/jdk-6u27-linux-x64.bin':
+ ensure => file,
+ path => "${rubbos_app_tool}/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}'],
+ }
+ exec {'jdk-6u27-linux-x64.bin':
+ cwd => "${rubbos_app_tool}",
+ command => "${rubbos_app_tool}/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'],
+ }
+
+}
diff --git a/testsuites/rubbos/puppet_manifests/modules/rubbos_monitor/manifests/rubbos_monitor_off.pp b/testsuites/rubbos/puppet_manifests/modules/rubbos_monitor/manifests/rubbos_monitor_off.pp
new file mode 100644
index 00000000..ed8dabbf
--- /dev/null
+++ b/testsuites/rubbos/puppet_manifests/modules/rubbos_monitor/manifests/rubbos_monitor_off.pp
@@ -0,0 +1,36 @@
+#############################################################################
+# 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_monitor::rubbos_monitor_off {
+
+ include params::rubbos_params
+
+ # Declare some variables
+ $rubbos_app = $params::rubbos_params::rubbos_app
+
+ # Make uninstall sysstat
+ exec {'make uninstall sysstat':
+ cwd => "${rubbos_app}/sysstat-9.0.6",
+ command => "make uninstall",
+ path => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
+ onlyif => "test -d ${rubbos_app}/sysstat-9.0.6",
+ }
+
+ # Remove folder
+ file {'${rubbos_app}/sysstat-9.0.6':
+ ensure => absent,
+ path => "${rubbos_app}/sysstat-9.0.6",
+ force => true,
+ recurse => true,
+ backup => false,
+ require => Exec['make uninstall sysstat'],
+ }
+
+}
diff --git a/testsuites/rubbos/puppet_manifests/modules/rubbos_monitor/manifests/rubbos_monitor_on.pp b/testsuites/rubbos/puppet_manifests/modules/rubbos_monitor/manifests/rubbos_monitor_on.pp
new file mode 100644
index 00000000..d396f309
--- /dev/null
+++ b/testsuites/rubbos/puppet_manifests/modules/rubbos_monitor/manifests/rubbos_monitor_on.pp
@@ -0,0 +1,91 @@
+#############################################################################
+# 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_monitor::rubbos_monitor_on {
+
+ include params::rubbos_params
+ require rubbos_common::rubbos_common_on
+
+ # Declare some variables
+ $rubbos_app = $params::rubbos_params::rubbos_app
+ $rubbos_home = $params::rubbos_params::rubbos_home
+
+ # Prepare bench folder and related files
+ file {'${rubbos_home}/bench.tar.gz':
+ ensure => file,
+ path => "${rubbos_home}/bench.tar.gz",
+ source => "puppet:///modules/rubbos_monitor/bench.tar.gz",
+ backup => false,
+ }
+
+ exec {'tar zxvf ${rubbos_home}/bench.tar.gz':
+ cwd => "${rubbos_home}",
+ command => "tar zxvf ${rubbos_home}/bench.tar.gz",
+ path => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
+ subscribe => File['${rubbos_home}/bench.tar.gz'],
+ }
+
+ # Prepare monitoring tool
+ file {'${rubbos_app}/sysstat-9.0.6.tar.gz':
+ ensure => file,
+ path => "${rubbos_app}/sysstat-9.0.6.tar.gz",
+ source => "puppet:///modules/rubbos_monitor/sysstat-9.0.6.tar.gz",
+ backup => false,
+ }
+
+ exec {'tar xzvf ${rubbos_app}/sysstat-9.0.6.tar.gz':
+ cwd => "${rubbos_app}",
+ command => "tar xzvf ${rubbos_app}/sysstat-9.0.6.tar.gz",
+ path => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
+ require => File['${rubbos_app}/sysstat-9.0.6.tar.gz'],
+ }
+
+ file {'flush_cache':
+ ensure => file,
+ path => "${rubbos_home}/bench/flush_cache",
+ source => "puppet:///modules/rubbos_monitor/flush_cache",
+ backup => false,
+ mode => 0755,
+ require => Exec['tar zxvf ${rubbos_home}/bench.tar.gz'],
+ }
+
+ file {'cpu_mem.sh':
+ ensure => file,
+ path => "${rubbos_app}/cpu_mem.sh",
+ source => "puppet:///modules/rubbos_monitor/cpu_mem.sh",
+ backup => false,
+ mode => 0755,
+ }
+
+ # Build and install sysstat
+ exec {'configure sysstat':
+ cwd => "${rubbos_app}/sysstat-9.0.6",
+ command => "${rubbos_app}/sysstat-9.0.6/configure --prefix=${rubbos_app}/sysstat-9.0.6 --disable-nls",
+ path => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
+ require => [
+ Exec['tar xzvf ${rubbos_app}/sysstat-9.0.6.tar.gz'],
+ Package['make'],Package['gcc'],Package['g++']],
+ }
+
+ exec {'make sysstat':
+ cwd => "${rubbos_app}/sysstat-9.0.6",
+ command => "make",
+ path => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
+ require => Exec['configure sysstat'],
+ }
+
+ exec {'make install sysstat':
+ cwd => "${rubbos_app}/sysstat-9.0.6",
+ command => "make install",
+ path => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
+ require => Exec['make sysstat'],
+ }
+
+}