-
-
Notifications
You must be signed in to change notification settings - Fork 269
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Skip Load:ReportRelative is problematic for collectd9
Refixes #901 The bug was that a ReportRelative configuration to the load plugin for collectd 5.9.0 was causing a parse error. It has been fixed for 5.9.1 collectd module now skips this configuration for collectd for collectd == 5.9.0 Previously it was '!=' 5.9. * Upsteam bug for collectd: #901 * Previous incorrect commit: 8edc014
- Loading branch information
1 parent
8c0e6a0
commit bb889ed
Showing
2 changed files
with
131 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,127 @@ | ||
require 'spec_helper_acceptance' | ||
|
||
describe 'collectd::plugin::load class' do | ||
context 'basic parameters' do | ||
# Using puppet_apply as a helper | ||
it 'works idempotently with no errors' do | ||
pp = <<-EOS | ||
class{'collectd': | ||
utils => true, | ||
} | ||
class{'collectd::plugin::load': } | ||
# Add one write plugin to keep logs quiet | ||
class{'collectd::plugin::csv':} | ||
# Create a socket to query | ||
class{'collectd::plugin::unixsock': | ||
socketfile => '/var/run/collectd-sock', | ||
socketgroup => 'root', | ||
} | ||
EOS | ||
# Run 3 times since the collectd_version | ||
# fact is impossible until collectd is | ||
# installed. | ||
apply_manifest(pp, catch_failures: false) | ||
apply_manifest(pp, catch_failures: true) | ||
apply_manifest(pp, catch_changes: true) | ||
# Wait to get some data | ||
shell('sleep 10') | ||
end | ||
|
||
describe service('collectd') do | ||
it { is_expected.to be_running } | ||
end | ||
|
||
describe command('collectdctl -s /var/run/collectd-sock listval') do | ||
its(:exit_status) { is_expected.to eq 0 } | ||
its(:stdout) { is_expected.to match %r{load/load$} } | ||
its(:stdout) { is_expected.not_to match %r{load/load-relative$} } | ||
end | ||
end | ||
context 'report relative false' do | ||
# Using puppet_apply as a helper | ||
it 'works idempotently with no errors' do | ||
pp = <<-EOS | ||
class{'collectd': | ||
utils => true, | ||
} | ||
class{'collectd::plugin::load': | ||
report_relative => false, | ||
} | ||
# Add one write plugin to keep logs quiet | ||
class{'collectd::plugin::csv':} | ||
# Create a socket to query | ||
class{'collectd::plugin::unixsock': | ||
socketfile => '/var/run/collectd-sock', | ||
socketgroup => 'root', | ||
} | ||
EOS | ||
# Run 3 times since the collectd_version | ||
# fact is impossible until collectd is | ||
# installed. | ||
apply_manifest(pp, catch_failures: false) | ||
apply_manifest(pp, catch_failures: true) | ||
apply_manifest(pp, catch_changes: true) | ||
# Wait to get some data | ||
shell('sleep 10') | ||
end | ||
|
||
describe service('collectd') do | ||
it { is_expected.to be_running } | ||
end | ||
|
||
describe command('collectdctl -s /var/run/collectd-sock listval') do | ||
its(:exit_status) { is_expected.to eq 0 } | ||
its(:stdout) { is_expected.to match %r{load/load$} } | ||
its(:stdout) { is_expected.not_to match %r{load/load-relative$} } | ||
end | ||
end | ||
context 'report relative true' do | ||
# Using puppet_apply as a helper | ||
it 'works idempotently with no errors' do | ||
pp = <<-EOS | ||
class{'collectd': | ||
utils => true, | ||
} | ||
class{'collectd::plugin::load': | ||
report_relative => true, | ||
} | ||
# Add one write plugin to keep logs quiet | ||
class{'collectd::plugin::csv':} | ||
# Create a socket to query | ||
class{'collectd::plugin::unixsock': | ||
socketfile => '/var/run/collectd-sock', | ||
socketgroup => 'root', | ||
} | ||
EOS | ||
# Run 3 times since the collectd_version | ||
# fact is impossible until collectd is | ||
# installed. | ||
apply_manifest(pp, catch_failures: false) | ||
apply_manifest(pp, catch_failures: true) | ||
apply_manifest(pp, catch_changes: true) | ||
# Wait to get some data | ||
shell('sleep 10') | ||
end | ||
|
||
describe service('collectd') do | ||
it { is_expected.to be_running } | ||
end | ||
|
||
describe command('collectdctl -s /var/run/collectd-sock listval') do | ||
its(:exit_status) { is_expected.to eq 0 } | ||
# https://github.com/voxpupuli/puppet-collectd/issues/901 | ||
# following will fail once 5.9.1 is released in EPEL8 | ||
if fact('osfamily') == 'RedHat' && fact('os.release.major') == '8' || | ||
fact('osfamily') == 'Debian' && fact('os.release.major') == '8' | ||
its(:stdout) { is_expected.not_to match %r{load/load-relative$} } | ||
its(:stdout) { is_expected.to match %r{load/load$} } | ||
else | ||
its(:stdout) { is_expected.to match %r{load/load-relative$} } | ||
its(:stdout) { is_expected.not_to match %r{load/load$} } | ||
end | ||
end | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters