add puppet manifests for rubbos client module
[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   $rubbos_os_username   = $params::rubbos_params::rubbos_os_username
20   $rubbos_os_usergroup  = $params::rubbos_params::rubbos_os_usergroup
21
22   # Prepare the bench folder and related files
23   file {'${rubbos_home}/bench.tar.gz':
24         ensure  => file,
25         path    => "${rubbos_home}/bench.tar.gz",
26         source  => "puppet:///modules/rubbos_monitor/bench.tar.gz",
27         backup  => false,
28   }
29
30   exec {'tar zxvf ${rubbos_home}/bench.tar.gz':
31         cwd             => "${rubbos_home}",
32         command         => "tar zxvf ${rubbos_home}/bench.tar.gz",
33         path            => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
34         subscribe       => File['${rubbos_home}/bench.tar.gz'],
35   }
36
37   file {'flush_cache':
38         ensure  => file,
39         path    => "${rubbos_home}/bench/flush_cache",
40         source  => "puppet:///modules/rubbos_monitor/flush_cache",
41         backup  => false,
42         mode    => 0755,
43         require => Exec['tar zxvf ${rubbos_home}/bench.tar.gz'],
44   }
45
46   # Change owner and group for the bench folder
47   exec {'chown -R ${rubbos_os_username}:${rubbos_os_usergroup} ${rubbos_home}/bench':
48        cwd      => "${rubbos_home}",
49        command  => "chown -R ${rubbos_os_username}:${rubbos_os_usergroup} ${rubbos_home}/bench",
50        path     => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
51        require  => File['flush_cache'],
52   }
53
54   # Prepare cpu_mem.sh
55   file {'cpu_mem.sh':
56         ensure  => file,
57         path    => "${rubbos_app}/cpu_mem.sh",
58         source  => "puppet:///modules/rubbos_monitor/cpu_mem.sh",
59         backup  => false,
60         mode    => 0755,
61         owner   => "${rubbos_os_username}",
62         group   => "${rubbos_os_usergroup}",
63   }
64
65   # Prepare monitoring tool
66   file {'${rubbos_app}/sysstat-9.0.6.tar.gz':
67         ensure  => file,
68         path    => "${rubbos_app}/sysstat-9.0.6.tar.gz",
69         source  => "puppet:///modules/rubbos_monitor/sysstat-9.0.6.tar.gz",
70         backup  => false,
71   }
72
73   exec {'tar xzvf ${rubbos_app}/sysstat-9.0.6.tar.gz':
74         cwd     => "${rubbos_app}",
75         command => "tar xzvf ${rubbos_app}/sysstat-9.0.6.tar.gz",
76         path    => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
77         require => File['${rubbos_app}/sysstat-9.0.6.tar.gz'],
78   }
79
80   # Build and install sysstat
81   exec {'configure sysstat':
82         cwd     => "${rubbos_app}/sysstat-9.0.6",
83         command => "${rubbos_app}/sysstat-9.0.6/configure --prefix=${rubbos_app}/sysstat-9.0.6 --disable-nls",
84         path    => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
85         require => Exec['tar xzvf ${rubbos_app}/sysstat-9.0.6.tar.gz'],
86   }
87
88   exec {'make sysstat':
89         cwd     => "${rubbos_app}/sysstat-9.0.6",
90         command => "make",
91         path    => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
92         require => Exec['configure sysstat'],
93   }
94
95   exec {'make install sysstat':
96         cwd     => "${rubbos_app}/sysstat-9.0.6",
97         command => "make install",
98         path    => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
99         require => Exec['make sysstat'],
100   }
101
102   # Change owner and group for the sysstat
103   exec {'chown -R ${rubbos_os_username}:${rubbos_os_usergroup} ${rubbos_app}/sysstat-9.0.6':
104         cwd     => "${rubbos_app}",
105         command => "chown -R ${rubbos_os_username}:${rubbos_os_usergroup} ${rubbos_app}/sysstat-9.0.6",
106         path    => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
107         require => Exec['make install sysstat'],
108   }
109
110 }