14Jan/100
Better way to query facts
Facter has some annoying bug where it won't always print all facts when called like facter fact, ones that require dynamic lookups etc just won't print.
This is a long standing bug that doesn't seem to get any love, so I hacked up a little wrapper that works better.
#!/usr/bin/ruby require 'facter' require 'puppet' Puppet.parse_config unless $LOAD_PATH.include?(Puppet[:libdir]) $LOAD_PATH << Puppet[:libdir] end facts = Facter.to_hash if ARGV.size > 0 ARGV.each do |f| puts "#{f} => #{facts[f]}" if facts.include?(f) end else facts.each_pair do |k,v| puts("#{k} => #{v}") end end
It behaves by default as if you ran facter -p but you can supply as many fact names as you want on the command line to print just the ones requested.
$ fctr uptime puppetversion processorcount uptime => 8 days puppetversion => 0.25.2 processorcount => 1

