summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJerome Charaoui <jcharaoui@cmaisonneuve.qc.ca>2010-05-14 11:02:03 -0400
committerJerome Charaoui <jcharaoui@cmaisonneuve.qc.ca>2010-05-14 18:11:55 -0400
commitf1586a7fbcc79fee6542790b1f4c930929af7e04 (patch)
tree1d68310b76034c20095dc0969b03a7d3b40d56f6
parent4591a91f7a8b169d0aa3ccb46357c60f8dcb7079 (diff)
refactor register class and client template
-rw-r--r--manifests/client/base.pp4
-rw-r--r--manifests/register.pp40
-rw-r--r--manifests/register/snmp.pp22
-rw-r--r--manifests/register_snmp.pp21
-rw-r--r--templates/client.erb18
-rw-r--r--templates/defaultclient.erb15
-rw-r--r--templates/snmpclient.erb10
7 files changed, 65 insertions, 65 deletions
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 %>