add manifests for rubbos monitor module 61/11661/1
authorwangyaoguang <sunshine.wang@huawei.com>
Mon, 28 Mar 2016 08:46:43 +0000 (16:46 +0800)
committerwangyaoguang <sunshine.wang@huawei.com>
Mon, 28 Mar 2016 08:52:19 +0000 (16:52 +0800)
Change-Id: I73c8de4c63c46bd172056f1dff927d45a0ebc2c6
JIRA: BOTTLENECK-51

testsuites/rubbos/puppet_manifests/modules/rubbos_monitor/manifests/rubbos_monitor_off.pp [new file with mode: 0644]
testsuites/rubbos/puppet_manifests/modules/rubbos_monitor/manifests/rubbos_monitor_on.pp [new file with mode: 0644]

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 (file)
index 0000000..ed8dabb
--- /dev/null
@@ -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 (file)
index 0000000..d396f30
--- /dev/null
@@ -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'],
+  }
+
+}