diff options
author | LeLutin <gabster@lelutin.ca> | 2016-02-25 06:59:19 +0000 |
---|---|---|
committer | LeLutin <gabster@lelutin.ca> | 2016-02-25 06:59:19 +0000 |
commit | c0dee4a2393e23b226e123a427898de94b342141 (patch) | |
tree | 449a726cec957808bdc52fd8e46a6acdaead777c /manifests/nrpe.pp | |
parent | 5163d89155eec6b6b39994d0cd18e6ceeff8b180 (diff) | |
parent | 2892e1795a823c2bee2893bc339854dd4f5e5b94 (diff) |
Merge branch 'nrpe_params' into 'master'
Nrpe params
The nagios::nrpe class is currently completely unusable with puppet 3.x+
This is because it's still relying on global variables. When one tries to setup an nrpe client with nagios::nrpe with puppet 3.x, the following error occurs:
~~~
==> jessiepuppet: Error: Failed to parse template nagios/nrpe/nrpe.cfg:
==> jessiepuppet: Filepath: /usr/lib/ruby/vendor_ruby/puppet/parser/templatewrapper.rb
==> jessiepuppet: Line: 81
==> jessiepuppet: Detail: Could not find value for 'nagios_nrpe_pid_file' at /etc/puppet/modules/nagios/templates/nrpe/nrpe.cfg:19
==> jessiepuppet: at /etc/puppet/modules/nagios/manifests/nrpe/base.pp:22 on node jessie.vagrantup.com
==> jessiepuppet: Error: Failed to parse template nagios/nrpe/nrpe.cfg:
==> jessiepuppet: Filepath: /usr/lib/ruby/vendor_ruby/puppet/parser/templatewrapper.rb
==> jessiepuppet: Line: 81
==> jessiepuppet: Detail: Could not find value for 'nagios_nrpe_pid_file' at /etc/puppet/modules/nagios/templates/nrpe/nrpe.cfg:19
==> jessiepuppet: at /etc/puppet/modules/nagios/manifests/nrpe/base.pp:22 on node jessie.vagrantup.com
~~~
This is because the values of variables defined within nagios::nrpe are not propagated into other classes anymore.
This series also changes a default behaviour for creating saner configurations by default: the dont_blame_nrpe option is changed to disable command arguments by default.
It also adds some documentation for the nagios::nrpe class since it had no explanation whatsoever of how it should be used in the README.
See merge request !18
Diffstat (limited to 'manifests/nrpe.pp')
-rw-r--r-- | manifests/nrpe.pp | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/manifests/nrpe.pp b/manifests/nrpe.pp index ad7dbbb..b7984b6 100644 --- a/manifests/nrpe.pp +++ b/manifests/nrpe.pp @@ -1,22 +1,35 @@ # setup nrpe stuff -class nagios::nrpe { +class nagios::nrpe ( + $cfg_dir = '', + $pid_file = '', + $plugin_dir = '', + $server_address = '', + $allowed_hosts = '', + $dont_blame = '0', +) { + + if !($dont_blame in ['0', '1']) { + fail('Unrecognized value for $dont_blame, must be one of "0", or "1".') + } case $::operatingsystem { 'FreeBSD': { - if $nagios_nrpe_cfgdir == '' { $nagios_nrpe_cfgdir = '/usr/local/etc' } - if $nagios_nrpe_pid_file == '' { $nagios_nrpe_pid_file = '/var/spool/nagios/nrpe2.pid' } - if $nagios_plugin_dir == '' { $nagios_plugin_dir = '/usr/local/libexec/nagios' } + if $cfg_dir == '' { $real_cfg_dir = '/usr/local/etc' } + if $pid_file == '' { $real_pid_file = '/var/spool/nagios/nrpe2.pid' } + if $plugin_dir == '' { $real_plugin_dir = '/usr/local/libexec/nagios' } include ::nagios::nrpe::freebsd } 'Debian': { - if $nagios_nrpe_pid_file == '' { $nagios_nrpe_pid_file = '/var/run/nagios/nrpe.pid' } - if $nagios_plugin_dir == '' { $nagios_plugin_dir = '/usr/lib/nagios/plugins' } + if $cfg_dir == '' { $real_cfg_dir = '/etc/nagios' } + if $pid_file == '' { $real_pid_file = '/var/run/nagios/nrpe.pid' } + if $plugin_dir == '' { $real_plugin_dir = '/usr/lib/nagios/plugins' } include ::nagios::nrpe::linux } default: { - if $nagios_nrpe_pid_file == '' { $nagios_nrpe_pid_file = '/var/run/nrpe.pid' } - if $nagios_plugin_dir == '' { $nagios_plugin_dir = '/usr/lib/nagios/plugins' } + if $cfg_dir == '' { $real_cfg_dir = '/etc/nagios' } + if $pid_file == '' { $real_pid_file = '/var/run/nrpe.pid' } + if $plugin_dir == '' { $real_plugin_dir = '/usr/lib/nagios/plugins' } case $::kernel { 'Linux': { include ::nagios::nrpe::linux } |