munin: Make source optional for munin::plugin to allow deploying just configurations

This commit is contained in:
Ossi Salmi 2013-07-18 18:42:20 +03:00
parent 05ac584cbf
commit 21f4caa533

View file

@ -135,7 +135,7 @@ define munin::snmpnode($snmp_community="public", $snmp_version="2") {
} }
# Add new custom munin plugin. # Add new munin plugin or plugin configuration.
# #
# === Parameters # === Parameters
# #
@ -144,9 +144,9 @@ define munin::snmpnode($snmp_community="public", $snmp_version="2") {
# $enable: # $enable:
# Set to false to disable plugin. # Set to false to disable plugin.
# $source: # $source:
# Source path for the plugin. # Source path of the plugin.
# $config: # $config:
# Source path of plugin configuration file. Defaults to none. # Source path of plugin configuration file.
# #
# === Sample usage # === Sample usage
# #
@ -158,10 +158,6 @@ define munin::snmpnode($snmp_community="public", $snmp_version="2") {
define munin::plugin($enable=true, $source=undef, $config=undef) { define munin::plugin($enable=true, $source=undef, $config=undef) {
if $enable == true { if $enable == true {
if ! $source {
fail("Must define source parameter for Munin::Plugin[${name}]")
}
case $::operatingsystem { case $::operatingsystem {
"openbsd": { "openbsd": {
$plugindir = "/usr/local/libexec/munin/plugins" $plugindir = "/usr/local/libexec/munin/plugins"
@ -171,6 +167,7 @@ define munin::plugin($enable=true, $source=undef, $config=undef) {
} }
} }
if $source {
file { "${plugindir}/${name}": file { "${plugindir}/${name}":
ensure => present, ensure => present,
mode => "0755", mode => "0755",
@ -183,12 +180,11 @@ define munin::plugin($enable=true, $source=undef, $config=undef) {
notify => Exec["munin-node-configure"], notify => Exec["munin-node-configure"],
require => Package["munin-node"], require => Package["munin-node"],
} }
}
if $config {
file { "/etc/munin/plugin-conf.d/${name}": file { "/etc/munin/plugin-conf.d/${name}":
ensure => $config ? { ensure => present,
undef => absent,
default => present,
},
mode => "0644", mode => "0644",
owner => "root", owner => "root",
group => $::operatingsystem ? { group => $::operatingsystem ? {
@ -199,6 +195,7 @@ define munin::plugin($enable=true, $source=undef, $config=undef) {
notify => Exec["munin-node-configure"], notify => Exec["munin-node-configure"],
require => Package["munin-node"], require => Package["munin-node"],
} }
}
} else { } else {
file { "/etc/munin/plugin-conf.d/${name}": file { "/etc/munin/plugin-conf.d/${name}":
ensure => present, ensure => present,