From f1586a7fbcc79fee6542790b1f4c930929af7e04 Mon Sep 17 00:00:00 2001 From: Jerome Charaoui Date: Fri, 14 May 2010 11:02:03 -0400 Subject: refactor register class and client template --- manifests/client/base.pp | 4 +++- manifests/register.pp | 40 ++++++++++++++++++++++------------------ manifests/register/snmp.pp | 22 ++++++++++++++++++++++ manifests/register_snmp.pp | 21 --------------------- templates/client.erb | 18 ++++++++++++++++++ templates/defaultclient.erb | 15 --------------- templates/snmpclient.erb | 10 ---------- 7 files changed, 65 insertions(+), 65 deletions(-) create mode 100644 manifests/register/snmp.pp delete mode 100644 manifests/register_snmp.pp create mode 100644 templates/client.erb delete mode 100644 templates/defaultclient.erb delete mode 100644 templates/snmpclient.erb diff --git a/manifests/client/base.pp b/manifests/client/base.pp index afa12a0..17387e8 100644 --- a/manifests/client/base.pp +++ b/manifests/client/base.pp @@ -18,6 +18,8 @@ class munin::client::base { notify => Service['munin-node'], mode => 0644, owner => root, group => 0, } - munin::register { $fqdn: } + munin::register { $fqdn: + config => [ 'use_node_name yes', 'load.load.warning 5', 'load.load.critical 10'], + } include munin::plugins::base } diff --git a/manifests/register.pp b/manifests/register.pp index 05d8f2a..21f1d35 100644 --- a/manifests/register.pp +++ b/manifests/register.pp @@ -1,30 +1,34 @@ -define munin::register( +define munin::register ( $host = 'absent', - $port = 'absent' + $port = 'absent', + $description = 'absent', + $config = [] ) { + $fhost = $name + $client_type = 'client' + $munin_port_real = $port ? { - 'absent' => $munin_port ? { - '' => 4949, - default => $munin_port - }, - default => $port - } + 'absent' => $munin_port ? { + '' => 4949, + default => $munin_port + }, + default => $port + } $munin_host_real = $host ? { - 'absent' => $munin_host ? { - '' => $fqdn, - 'fqdn' => $fqdn, - default => $munin_host - }, - default => $host + 'absent' => $munin_host ? { + '' => $fqdn, + 'fqdn' => $fqdn, + default => $munin_host + }, + default => $host } - @@file { "/var/lib/puppet/modules/munin/nodes/${name}_${munin_port_real}": + @@file { "munin_client_${fhost}_${munin_port_real}": ensure => present, - content => template("munin/defaultclient.erb"), + path => "/var/lib/puppet/modules/munin/nodes/${fhost}_${munin_port_real}", + content => template("munin/client.erb"), tag => 'munin', } } - - diff --git a/manifests/register/snmp.pp b/manifests/register/snmp.pp new file mode 100644 index 0000000..c0d9279 --- /dev/null +++ b/manifests/register/snmp.pp @@ -0,0 +1,22 @@ +define munin::register::snmp ( + $community = 'public', + $description = 'absent' +) +{ + $fhost = $name + $munin_host_real = $fqdn + $client_type = 'snmp' + $config = [ 'use_node_name no' ] + + exec { "munin_register_snmp_${fhost}": + command => "munin-node-configure --snmp ${fhost} --snmpcommunity ${community} | sh", + unless => "ls /etc/munin/plugins/snmp_${fhost}_* &> /dev/null", + } + + @@file { "munin_snmp_${fhost}": + ensure => present, + path => "/var/lib/puppet/modules/munin/nodes/${fhost}", + content => template("munin/client.erb"), + tag => 'munin', + } +} diff --git a/manifests/register_snmp.pp b/manifests/register_snmp.pp deleted file mode 100644 index ebd494a..0000000 --- a/manifests/register_snmp.pp +++ /dev/null @@ -1,21 +0,0 @@ -# snmp_testplugin: the plugin we use to test if it's set -define munin::register_snmp( - $snmpd_testplugin = 'load' -) -{ - $munin_port_real = $munin_port ? { '' => 4949, default => $munin_port } - $munin_host_real = $munin_host ? { - '' => '*', - 'fqdn' => '*', - default => $munin_host - } - exec{"register_snmp_munin_for_${name}": - command => "munin-node-configure-snmp ${name} | sh", - unless => "test -e /etc/munin/plugins/snmp_${name}_${snmpd_testplugin}", - } - @@file { "munin_snmp_${name}": path => "/var/lib/puppet/modules/munin/nodes/${name}", - ensure => present, - content => template("munin/snmpclient.erb"), - tag => 'munin', - } -} diff --git a/templates/client.erb b/templates/client.erb new file mode 100644 index 0000000..e7c6730 --- /dev/null +++ b/templates/client.erb @@ -0,0 +1,18 @@ +<% + # Downcase all information + dom = domain.downcase + host = hostname.downcase +%> + +### Munin client from Puppet template +# Domain: <%= dom %> +# Registered on: <%= host %> +# Type: <%= client_type %> +<% if description != 'absent' -%> +# Description: <%= description.gsub!(/\n/, ' ') %> +<% end -%> +[<%= fhost.downcase %>] + address <%= munin_host_real -%> +<% if config -%><% config.each do |val| -%> + <%= val -%> +<% end -%><% end -%> diff --git a/templates/defaultclient.erb b/templates/defaultclient.erb deleted file mode 100644 index 5611bf4..0000000 --- a/templates/defaultclient.erb +++ /dev/null @@ -1,15 +0,0 @@ -<% - # Downcase all information - dom = domain.downcase - host = hostname.downcase - fhost = name.downcase -%> -### This syntax can be extended, it might get better ... -#+<%= dom %> -#-<%= host %>=<%= fhost %>:load.load -[<%= fhost %>] # linux box - address <%= munin_host_real %> - port <%= munin_port_real %> - use_node_name yes - load.load.warning 5 - load.load.critical 10 diff --git a/templates/snmpclient.erb b/templates/snmpclient.erb deleted file mode 100644 index 44ecc6d..0000000 --- a/templates/snmpclient.erb +++ /dev/null @@ -1,10 +0,0 @@ -<% - # Downcase all information - dom = domain.downcase - host = hostname.downcase - fhost = name.downcase -%> -### This syntax can be extended, it might get better ... -#<%= dom %> snmp -> <%= fhost %> -[<%= fhost %>] # snmp box - address <%= munin_host_real %> -- cgit v1.2.3