d396f309a12fd0594300b924993b41d29cca4322
[bottlenecks.git] / testsuites / rubbos / puppet_manifests / modules / rubbos_monitor / manifests / rubbos_monitor_on.pp
1 #############################################################################
2 # Copyright (c) 2016 Huawei Technologies Co.,Ltd and others.
3 #
4 # All rights reserved. This program and the accompanying materials
5 # are made available under the terms of the Apache License, Version 2.0
6 # which accompanies this distribution, and is available at
7 # http://www.apache.org/licenses/LICENSE-2.0
8 ##############################################################################
9
10
11 class rubbos_monitor::rubbos_monitor_on {
12
13   include params::rubbos_params
14   require rubbos_common::rubbos_common_on
15
16   # Declare some variables
17   $rubbos_app           = $params::rubbos_params::rubbos_app
18   $rubbos_home          = $params::rubbos_params::rubbos_home
19
20   # Prepare bench folder and related files
21   file {'${rubbos_home}/bench.tar.gz':
22         ensure  => file,
23         path    => "${rubbos_home}/bench.tar.gz",
24         source  => "puppet:///modules/rubbos_monitor/bench.tar.gz",
25         backup  => false,
26   }
27
28   exec {'tar zxvf ${rubbos_home}/bench.tar.gz':
29         cwd             => "${rubbos_home}",
30         command         => "tar zxvf ${rubbos_home}/bench.tar.gz",
31         path            => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
32         subscribe       => File['${rubbos_home}/bench.tar.gz'],
33   }
34
35   # Prepare monitoring tool
36   file {'${rubbos_app}/sysstat-9.0.6.tar.gz':
37         ensure  => file,
38         path    => "${rubbos_app}/sysstat-9.0.6.tar.gz",
39         source  => "puppet:///modules/rubbos_monitor/sysstat-9.0.6.tar.gz",
40         backup  => false,
41   }
42
43   exec {'tar xzvf ${rubbos_app}/sysstat-9.0.6.tar.gz':
44         cwd     => "${rubbos_app}",
45         command => "tar xzvf ${rubbos_app}/sysstat-9.0.6.tar.gz",
46         path    => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
47         require => File['${rubbos_app}/sysstat-9.0.6.tar.gz'],
48   }
49
50   file {'flush_cache':
51         ensure  => file,
52         path    => "${rubbos_home}/bench/flush_cache",
53         source  => "puppet:///modules/rubbos_monitor/flush_cache",
54         backup  => false,
55         mode    => 0755,
56         require => Exec['tar zxvf ${rubbos_home}/bench.tar.gz'],
57   }
58
59   file {'cpu_mem.sh':
60         ensure  => file,
61         path    => "${rubbos_app}/cpu_mem.sh",
62         source  => "puppet:///modules/rubbos_monitor/cpu_mem.sh",
63         backup  => false,
64         mode    => 0755,
65   }
66
67   # Build and install sysstat
68   exec {'configure sysstat':
69         cwd     => "${rubbos_app}/sysstat-9.0.6",
70         command => "${rubbos_app}/sysstat-9.0.6/configure --prefix=${rubbos_app}/sysstat-9.0.6 --disable-nls",
71         path    => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
72         require => [
73                 Exec['tar xzvf ${rubbos_app}/sysstat-9.0.6.tar.gz'],
74                 Package['make'],Package['gcc'],Package['g++']],
75   }
76
77   exec {'make sysstat':
78         cwd     => "${rubbos_app}/sysstat-9.0.6",
79         command => "make",
80         path    => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
81         require => Exec['configure sysstat'],
82   }
83
84   exec {'make install sysstat':
85         cwd     => "${rubbos_app}/sysstat-9.0.6",
86         command => "make install",
87         path    => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
88         require => Exec['make sysstat'],
89   }
90
91 }