summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Mitchell <tom@tom.org>2013-12-15 07:40:07 -0500
committerTom Mitchell <tom@tom.org>2013-12-15 07:40:07 -0500
commitc605175376c4ad198d158d8e141df8a31a9c23bf (patch)
tree8dd94a7ef6d24d525e4eb75b3c8435ef1fcca720
parent7593727f637a495495a4b032a137fcf7fb314384 (diff)
downloadpuppet-apcupsd-c605175376c4ad198d158d8e141df8a31a9c23bf.tar.gz
puppet-apcupsd-c605175376c4ad198d158d8e141df8a31a9c23bf.tar.bz2
added support for /etc/apcupsd/change, which is a script designed to email someone when the UPS battery needs to be changed. Added two defaulted paramters to the apcupsd class, admin (the email address of the admin to receive the mail (defaults to root)), and mail (the program used to send the email (defaults to mail)).
-rw-r--r--manifests/init.pp12
-rw-r--r--templates/changeme.erb25
2 files changed, 37 insertions, 0 deletions
diff --git a/manifests/init.pp b/manifests/init.pp
index 2035f47..9c963f6 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -22,6 +22,8 @@ class apcupsd(
$device = '/dev/ttyS0',
$ensure = 'present',
$nisip = '127.0.0.1',
+ $admin = 'root',
+ $mail = 'mail',
$polltime = '60' )
{
@@ -56,6 +58,16 @@ class apcupsd(
content => template('apcupsd/apcupsd.conf.erb'),
}
+ file { "/etc/apcupsd/changeme":
+ ensure => present,
+ owner => root,
+ group => root,
+ mode => 0755,
+ notify => Service["apcupsd"],
+ require => File["/etc/apcupsd"],
+ content => template('apcupsd/changeme.erb'),
+ }
+
file { "/etc/default/apcupsd":
ensure => present,
owner => root,
diff --git a/templates/changeme.erb b/templates/changeme.erb
new file mode 100644
index 0000000..13cc553
--- /dev/null
+++ b/templates/changeme.erb
@@ -0,0 +1,25 @@
+#!/bin/sh
+#
+# THIS FILE IS BEING MANAGED BY PUPPET
+# ANY MODIFICATIONS MADE MANUALLY WILL BE OVERWRITTEN
+# ON THE NEXT PUPPET RUN
+#
+# This shell script if placed in /etc/apcupsd
+# will be called by /etc/apcupsd/apccontrol when apcupsd
+# detects that the battery should be replaced.
+# We send an email message to root to notify him.
+#
+SYSADMIN=<%= admin %>
+APCUPSD_MAIL=<%= mail %>
+
+HOSTNAME=`hostname`
+MSG="$HOSTNAME UPS battery needs changing NOW."
+#
+(
+ echo "Subject: $MSG"
+ echo " "
+ echo "$MSG"
+ echo " "
+ /sbin/apcaccess status
+) | $APCUPSD_MAIL -s "$MSG" $SYSADMIN
+exit 0