diff options
author | Michael Scherer <misc@mageia.org> | 2012-01-15 10:11:53 +0000 |
---|---|---|
committer | Michael Scherer <misc@mageia.org> | 2012-01-15 10:11:53 +0000 |
commit | 0f615f32ebfa86ed1ede83ebf346cead0caa7720 (patch) | |
tree | 2f4abc13136953ee62855afaed2168f5ca7476ed | |
parent | a11676dcfcbf97ffc5ab20b8cbd6724e18948682 (diff) | |
download | puppet-0f615f32ebfa86ed1ede83ebf346cead0caa7720.tar puppet-0f615f32ebfa86ed1ede83ebf346cead0caa7720.tar.gz puppet-0f615f32ebfa86ed1ede83ebf346cead0caa7720.tar.bz2 puppet-0f615f32ebfa86ed1ede83ebf346cead0caa7720.tar.xz puppet-0f615f32ebfa86ed1ede83ebf346cead0caa7720.zip |
add a module using ii for reporting, based on http://www.kartar.net/tag/reports/
-rw-r--r-- | modules/report-irc_ii/lib/puppet/reports/irc_ii.rb | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/modules/report-irc_ii/lib/puppet/reports/irc_ii.rb b/modules/report-irc_ii/lib/puppet/reports/irc_ii.rb new file mode 100644 index 00000000..4d3dbb01 --- /dev/null +++ b/modules/report-irc_ii/lib/puppet/reports/irc_ii.rb @@ -0,0 +1,25 @@ +require 'puppet' +require 'yaml' + +unless Puppet.version >= '2.6.5' + fail "This report processor requires Puppet version 2.6.5 or later" +end + +Puppet::Reports.register_report(:irc_ii) do + configfile = File.join([File.dirname(Puppet.settings[:config]), "irc_ii.yaml"]) + raise(Puppet::ParseError, "XMPP report config file #{configfile} not readable") unless File.exist?(configfile) + + config = YAML.load_file(configfile) + II_PATH = config[:ii_path] + + desc <<-DESC + Send notification of failed reports to an IRC channel, using a existing ii setup. + DESC + + def process + if self.status == 'failed' + message = "Puppet run for #{self.host} #{self.status} at #{Time.now.asctime}." + Puppet::Util::SUIDManager.run_and_capture("echo #{message} > #{II_PATH}" , "nobody", "nogroup") + end + end +end |