diff options
Diffstat (limited to 'testsuites')
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'], + } + +} |