diff options
Diffstat (limited to 'ext/puppetlast')
-rwxr-xr-x | ext/puppetlast | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/ext/puppetlast b/ext/puppetlast new file mode 100755 index 000000000..e8c2ea1a7 --- /dev/null +++ b/ext/puppetlast @@ -0,0 +1,40 @@ +#!/usr/bin/env ruby +# +# Script to print out when puppet ran successfully last +# AJ Christensen <aj@junglist.gen.nz> +# + +require 'puppet' +require 'puppet/defaults' +require 'yaml' + +Puppet[:config] = "/etc/puppet/puppet.conf" +Puppet.parse_config + +print "puppetlast\n" + +nodes = {} + +yfdir = Puppet.settings.value(:vardir) + "/yaml/facts" + +if yfdir + begin + Dir.chdir(yfdir) do + Dir.glob("*.yaml").each do |yaml| + data = YAML.load_file(yaml) + t = Time.now + age = t - data.version + nodes[data.name] = age.to_i + end + end + + nodes.sort.each do |node,age| + minutes = age / 60 + 0.5 + print minutes.floor.to_s + ' minutes ago: ' + node + "\n" + end + + rescue + print 'error: ' + $! + "\n" + end + +end |