From 9dca19736cd11ed42cfdb8aed30c8628b22231cb Mon Sep 17 00:00:00 2001 From: mh Date: Thu, 24 Apr 2008 13:26:14 +0000 Subject: merged with puzzle upstream git-svn-id: https://svn/ipuppet/trunk/modules/munin@1254 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/client.pp | 168 ++++++++++++++-------------------------------------- 1 file changed, 46 insertions(+), 122 deletions(-) (limited to 'manifests/client.pp') diff --git a/manifests/client.pp b/manifests/client.pp index 8181845..69e9f2e 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -11,47 +11,14 @@ class munin::client { default => $munin_host } - case $operatingsystem { - darwin: { include munin::client::darwin } - debian: { - include munin::client::debian - include munin::plugins::debian - } - ubuntu: { - info ( "Trying to configure Ubuntu's munin with Debian class" ) - include munin::client::debian - include munin::plugins::debian - } - gentoo: { - include munin::client::gentoo - include munin::plugins::gentoo - } - centos: { - include munin::client::centos - include munin::plugins::centos - } - default: { fail ("Don't know how to handle munin on $operatingsystem") } - } - - case $kernel { - linux: { - case $vserver { - guest: { include munin::plugins::vserver } - default: { - include munin::plugins::linux - } - } - } - default: { - err( "Don't know which munin plugins to install for $kernel" ) - } - } - case $virtual { - physical: { include munin::plugins::physical } - xen0: { include munin::plugins::dom0 } - xenu: { include munin::plugins::domU } + case $operatingsystem { + darwin: { include munin::client::darwin } + debian: { include munin::client::debian } + ubuntu: { include munin::client::ubuntu } + centos: { include munin::client::centos } + gentoo: { include munin::client::gentoo } + default: { include munin::client::base } } - } define munin::register() @@ -66,7 +33,7 @@ define munin::register() @@file { "${NODESDIR}/${name}_${munin_port_real}": ensure => present, content => template("munin/defaultclient.erb"), - tag => 'munin', + tag => 'munin', } } @@ -75,12 +42,34 @@ define munin::register_snmp() @@file { "munin_snmp_${name}": path => "${NODESDIR}/${name}", ensure => present, content => template("munin/snmpclient.erb"), - tag => 'munin', + tag => 'munin', } } -class munin::client::darwin -{ +class munin::client::base { + package { "munin-node": ensure => installed } + service { "munin-node": + ensure => running, + hasstatus => true, + hasrestart => true, + require => Package[munin-node], + } + file { + "/etc/munin/": + ensure => directory, + mode => 0755, owner => root, group => 0; + "/etc/munin/munin-node.conf": + content => template("munin/munin-node.conf.$operatingsystem.$lsbdistrelease"), + mode => 0644, owner => root, group => 0, + # this has to be installed before the package, so the postinst can + # boot the munin-node without failure! + before => Package["munin-node"], + } + munin::register { $fqdn: } + include munin::plugins::base +} + +class munin::client::darwin { file { "/usr/share/snmp/snmpd.conf": mode => 744, content => template("munin/darwin_snmpd.conf.erb"), @@ -102,95 +91,30 @@ class munin::client::darwin munin::register_snmp { $fqdn: } } -class munin::client::debian -{ - package { "munin-node": ensure => installed } +class munin::client::debian inherits munin::client::base { # the plugin will need that package { "iproute": ensure => installed } - file { - "/etc/munin/": - ensure => directory, - mode => 0755, owner => root, group => 0; - "/etc/munin/munin-node.conf": - content => template("munin/munin-node.conf.${operatingsystem}.${lsbdistcodename}"), - mode => 0644, owner => root, group => 0, - # this has to be installed before the package, so the postinst can - # boot the munin-node without failure! - before => Package["munin-node"], - notify => Service["munin-node"], - } - - service { "munin-node": - ensure => running, + Service["munin-node"]{ # sarge's munin-node init script has no status hasstatus => $lsbdistcodename ? { sarge => false, default => true } } - - munin::register { $fqdn: } - # workaround bug in munin_node_configure - munin::plugin { "postfix_mailvolume": ensure => absent } + plugin { "postfix_mailvolume": ensure => absent } + include munin::plugins::debian } -class munin::client::gentoo -{ - $acpi_available = "absent" - package { 'munin-node': - name => 'munin', - ensure => present, - category => $operatingsystem ? { - gentoo => 'net-analyzer', - default => '', - }, - } - - file { - "/etc/munin/": - ensure => directory, - mode => 0755, owner => root, group => 0; - "/etc/munin/munin-node.conf": - content => template("munin/munin-node.conf.Gentoo."), - mode => 0644, owner => root, group => 0, - # this has to be installed before the package, so the postinst can - # boot the munin-node without failure! - before => Package["munin-node"], - # notify => Service["munin"], - } - - service { "munin-node": - ensure => running, - } - - munin::register { $fqdn: } -} +class munin::client::ubuntu inherits munin::client::debian {} -class munin::client::centos -{ - package { 'munin-node': - ensure => present, +class munin::client::gentoo inherits munin::client::base { + Package['munin-node'] { + name => 'munin', + category => 'net-analyzer', } - - file { - "/etc/munin/": - ensure => directory, - mode => 0755, owner => root, group =>0; - "/etc/munin/munin-node.conf": - content => template("munin/munin-node.conf.CentOS."), - mode => 0644, owner => root, group => 0, - # this has to be installed before the package, so the postinst can - # boot the munin-node without failure! - before => Package["munin-node"], - notify => Service["munin-node"], - } - - service { "munin-node": - ensure => running, - } - - munin::register { $fqdn: } - + include munin::plugins::gentoo } - +class munin::client::centos inherits munin::client::base { + include munin::plugins::centos +} -- cgit v1.2.3