Skip to content
This repository was archived by the owner on Sep 29, 2020. It is now read-only.

Commit 125b28c

Browse files
committed
Merge pull request voxpupuli#297 from ChrisHeerschap/master
adding ValuesAbsolute and ValuesPercentage to memory and swap
2 parents a35e172 + ebbe129 commit 125b28c

File tree

6 files changed

+116
-7
lines changed

6 files changed

+116
-7
lines changed

manifests/plugin/memory.pp

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,19 @@
11
# https://collectd.org/wiki/index.php/Plugin:Memory
22
class collectd::plugin::memory (
3-
$ensure = present,
4-
$interval = undef,
3+
$ensure = present,
4+
$valuesabsolute = true,
5+
$valuespercentage = false,
6+
$interval = undef,
57
) {
8+
9+
validate_bool(
10+
$valuesabsolute,
11+
$valuespercentage,
12+
)
13+
614
collectd::plugin {'memory':
715
ensure => $ensure,
16+
content => template('collectd/plugin/memory.conf.erb'),
817
interval => $interval,
918
}
1019
}

manifests/plugin/swap.pp

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
# https://collectd.org/wiki/index.php/Plugin:Swap
22
class collectd::plugin::swap (
3-
$ensure = present,
4-
$interval = undef,
5-
$reportbydevice = false,
6-
$reportbytes = true,
3+
$ensure = present,
4+
$interval = undef,
5+
$reportbydevice = false,
6+
$reportbytes = true,
7+
$valuesabsolute = true,
8+
$valuespercentage = false,
79
) {
810
validate_bool(
911
$reportbydevice,
10-
$reportbytes
12+
$reportbytes,
13+
$valuesabsolute,
14+
$valuespercentage
1115
)
1216

1317
collectd::plugin {'swap':
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
require 'spec_helper'
2+
3+
describe 'collectd::plugin::memory', :type => :class do
4+
5+
context ':ensure => present, default params' do
6+
let :facts do
7+
{:osfamily => 'RedHat'}
8+
end
9+
it 'Will create /etc/collectd.d/10-memory.conf' do
10+
should contain_file('memory.load').with({
11+
:ensure => 'present',
12+
:path => '/etc/collectd.d/10-memory.conf',
13+
:content => /LoadPlugin memory/,
14+
})
15+
end
16+
end
17+
18+
context ':ensure => present, specific params, collectd version 5.4.2' do
19+
let :facts do
20+
{ :osfamily => 'Redhat',
21+
:collectd_version => '5.4.2'
22+
}
23+
end
24+
25+
it 'Will create /etc/collectd.d/10-memory.conf for collectd < 5.5' do
26+
should contain_file('memory.load').with({
27+
:ensure => 'present',
28+
:path => '/etc/collectd.d/10-memory.conf',
29+
:content => /LoadPlugin memory/,
30+
})
31+
end
32+
33+
it 'Will not include ValuesPercentage in /etc/collectd.d/10-memory.conf' do
34+
should_not contain_file('memory.load').with_content(/ValuesPercentage/)
35+
end
36+
end
37+
38+
context ':ensure => present, specific params, collectd version 5.5.0' do
39+
let :facts do
40+
{ :osfamily => 'Redhat',
41+
:collectd_version => '5.5.0'
42+
}
43+
end
44+
45+
it 'Will create /etc/collectd.d/10-memory.conf for collectd >= 5.5' do
46+
should contain_file('memory.load').with({
47+
:ensure => 'present',
48+
:path => '/etc/collectd.d/10-memory.conf',
49+
:content => "# Generated by Puppet\n<LoadPlugin memory>\n Globals false\n</LoadPlugin>\n\n<Plugin memory>\n ValuesAbsolute = true\n ValuesPercentage = false\n</Plugin>\n\n",
50+
})
51+
end
52+
end
53+
54+
context ':ensure => absent' do
55+
let :facts do
56+
{:osfamily => 'RedHat'}
57+
end
58+
let :params do
59+
{:ensure => 'absent'}
60+
end
61+
62+
it 'Will not create /etc/collectd.d/10-memory.conf' do
63+
should contain_file('memory.load').with({
64+
:ensure => 'absent',
65+
:path => '/etc/collectd.d/10-memory.conf',
66+
})
67+
end
68+
end
69+
end
70+

spec/classes/collectd_plugin_swap_spec.rb

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,22 @@
4747
end
4848
end
4949

50+
context ':ensure => present, specific params, collectd version 5.5.0' do
51+
let :facts do
52+
{ :osfamily => 'Redhat',
53+
:collectd_version => '5.5.0'
54+
}
55+
end
56+
57+
it 'Will create /etc/collectd.d/10-swap.conf for collectd >= 5.5' do
58+
should contain_file('swap.load').with({
59+
:ensure => 'present',
60+
:path => '/etc/collectd.d/10-swap.conf',
61+
:content => "# Generated by Puppet\n<LoadPlugin swap>\n Globals false\n</LoadPlugin>\n\n<Plugin swap>\n ReportByDevice false\n ReportBytes true\n ValuesAbsolute = true\n ValuesPercentage = false\n</Plugin>\n\n",
62+
})
63+
end
64+
end
65+
5066
context ':ensure => absent' do
5167
let :facts do
5268
{:osfamily => 'RedHat'}

templates/plugin/memory.conf.erb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<% if @collectd_version and (scope.function_versioncmp([@collectd_version, '5.5']) >= 0) -%>
2+
<Plugin memory>
3+
ValuesAbsolute = <%= @valuesabsolute %>
4+
ValuesPercentage = <%= @valuespercentage %>
5+
</Plugin>
6+
<% end -%>

templates/plugin/swap.conf.erb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,8 @@
33
<% if @collectd_version and scope.function_versioncmp([@collectd_version, '5.2']) > 0 -%>
44
ReportBytes <%= @reportbytes %>
55
<% end -%>
6+
<% if @collectd_version and scope.function_versioncmp([@collectd_version, '5.5']) > 0 -%>
7+
ValuesAbsolute = <%= @valuesabsolute %>
8+
ValuesPercentage = <%= @valuespercentage %>
9+
<% end -%>
610
</Plugin>

0 commit comments

Comments
 (0)