1 #############################################################################
2 # Copyright (c) 2016 Huawei Technologies Co.,Ltd and others.
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 ##############################################################################
11 class rubbos_monitor::rubbos_monitor_on {
13 include params::rubbos_params
14 require rubbos_common::rubbos_common_on
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
22 # Prepare the bench folder and related files
23 file {'${rubbos_home}/bench.tar.gz':
25 path => "${rubbos_home}/bench.tar.gz",
26 source => "puppet:///modules/rubbos_monitor/bench.tar.gz",
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'],
39 path => "${rubbos_home}/bench/flush_cache",
40 source => "puppet:///modules/rubbos_monitor/flush_cache",
43 require => Exec['tar zxvf ${rubbos_home}/bench.tar.gz'],
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'],
57 path => "${rubbos_app}/cpu_mem.sh",
58 source => "puppet:///modules/rubbos_monitor/cpu_mem.sh",
61 owner => "${rubbos_os_username}",
62 group => "${rubbos_os_usergroup}",
65 # Prepare monitoring tool
66 file {'${rubbos_app}/sysstat-9.0.6.tar.gz':
68 path => "${rubbos_app}/sysstat-9.0.6.tar.gz",
69 source => "puppet:///modules/rubbos_monitor/sysstat-9.0.6.tar.gz",
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'],
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'],
89 cwd => "${rubbos_app}/sysstat-9.0.6",
91 path => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
92 require => Exec['configure sysstat'],
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'],
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'],