summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--manifests/init.pp14
-rw-r--r--templates/changeme.erb25
2 files changed, 38 insertions, 1 deletions
diff --git a/manifests/init.pp b/manifests/init.pp
index 5374ba5..06c0d02 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -22,10 +22,12 @@ class apcupsd(
$device = '/dev/ttyS0',
$ensure = 'present',
$nisip = '127.0.0.1',
- $polltime = '60',
$onbatterydelay = '6',
$batterylevel = '5',
$minutes = '3')
+ $admin = 'root',
+ $mail = 'mail',
+ $polltime = '60' )
{
package { "apcupsd":
@@ -59,6 +61,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