From d75dfe453857b34fb48886d5e74839572e019236 Mon Sep 17 00:00:00 2001 From: Paulo Schneider Date: Fri, 6 Jan 2017 13:15:57 +0000 Subject: [PATCH] Add CounterSum support to statsd config Collectd has add a 'CounterSum' configration which is not currently supported by puppetd-collected. More information on: * Current config options: https://github.com/collectd/collectd/blob/master/src/collectd.conf.pod#plugin-statsd * PR introducing CounterSum: https://github.com/collectd/collectd/pull/1363 * Commit adding CounterSum: * https://github.com/octo/collectd/commit/eaf8c7a28723dc81fc035e3a15a0ca1dbb46090c This PR adds support for CounterSum and a basic spec for statsd, which was previously missing. --- manifests/plugin/statsd.pp | 1 + spec/classes/collectd_plugin_statsd_spec.rb | 67 +++++++++++++++++++++ templates/plugin/statsd.conf.erb | 3 + 3 files changed, 71 insertions(+) create mode 100644 spec/classes/collectd_plugin_statsd_spec.rb diff --git a/manifests/plugin/statsd.pp b/manifests/plugin/statsd.pp index c8b983de5..06737c362 100644 --- a/manifests/plugin/statsd.pp +++ b/manifests/plugin/statsd.pp @@ -7,6 +7,7 @@ $deletetimers = undef, $deletegauges = undef, $deletesets = undef, + $countersum = undef, $interval = undef, $timerpercentile = undef, $timerlower = undef, diff --git a/spec/classes/collectd_plugin_statsd_spec.rb b/spec/classes/collectd_plugin_statsd_spec.rb new file mode 100644 index 000000000..a74a13aa6 --- /dev/null +++ b/spec/classes/collectd_plugin_statsd_spec.rb @@ -0,0 +1,67 @@ +require 'spec_helper' + +describe 'collectd::plugin::statsd', type: :class do + let :facts do + { + osfamily: 'RedHat', + collectd_version: '4.8.0', + operatingsystemmajrelease: '7', + python_dir: '/usr/local/lib/python2.7/dist-packages' + } + end + + let :pre_condition do + 'include ::collectd' + end + + context ':ensure => present' do + context ':ensure => present and default parameters' do + it 'Will create /etc/collectd.d/10-statsd.conf' do + is_expected.to contain_file('statsd.load').with(ensure: 'present', + path: '/etc/collectd.d/10-statsd.conf', + content: %r{\n}) + end + end + + context ':ensure => present and hostname and port' do + let :params do + { + ensure: 'present', + host: '192.0.0.1', + port: '9876' + } + end + it 'Will create /etc/collectd.d/10-statsd.conf' do + is_expected.to contain_file('statsd.load').with(ensure: 'present', + path: '/etc/collectd.d/10-statsd.conf', + content: %r{Host "192.0.0.1".+Port 9876}m) + end + end + + context ':ensure => present and countersum' do + let :params do + { + ensure: 'present', + countersum: true + } + end + it 'Will create /etc/collectd.d/10-statsd.conf' do + is_expected.to contain_file('statsd.load').with(ensure: 'present', + path: '/etc/collectd.d/10-statsd.conf', + content: %r{CounterSum true}m) + end + end + end + + context ':ensure => absent' do + let :params do + { + ensure: 'absent' + } + end + it 'Will not create /etc/collectd.d/10-statsd.conf' do + is_expected.to contain_file('statsd.load').with(ensure: 'absent', + path: '/etc/collectd.d/10-statsd.conf') + end + end +end diff --git a/templates/plugin/statsd.conf.erb b/templates/plugin/statsd.conf.erb index c8cbc0e2c..4c6309084 100644 --- a/templates/plugin/statsd.conf.erb +++ b/templates/plugin/statsd.conf.erb @@ -17,6 +17,9 @@ <% unless @deletesets.nil? -%> Deletesets <%= @deletesets %> <% end -%> +<% unless @countersum.nil? -%> + CounterSum <%= @countersum %> +<% end -%> <% @timerpercentile_real.each do |percentile| -%> TimerPercentile <%= percentile %> <% end -%>