The problem was that Facter wasn't telling Puppet to read your puppet.conf, so if you'd set vardir or libdir in it then you didn't get the appropriate settings and thus not know where to find the facter plugins.
This is a bit of a ham-handed approach, but it always works. Signed-off-by: Luke Kanies <[email protected]> --- bin/facter | 15 ++++++++++++++- 1 files changed, 14 insertions(+), 1 deletions(-) diff --git a/bin/facter b/bin/facter index 6ee5b48..4ffd50a 100755 --- a/bin/facter +++ b/bin/facter @@ -58,6 +58,19 @@ rescue Exception $haveusage = false end +def load_puppet + require 'puppet' + Puppet.parse_config + + # If you've set 'vardir' but not 'libdir' in your + # puppet.conf, then the hook to add libdir to $: + # won't get triggered. This makes sure that it's setup + # correctly. + unless $LOAD_PATH.include?(Puppet[:libdir]) + $LOAD_PATH << Puppet[:libdir] + end +end + $debug = 0 config = nil @@ -83,7 +96,7 @@ begin exit when "--puppet" begin - require 'puppet' + load_puppet() rescue LoadError => detail $stderr.puts "Could not load Puppet: %s" % detail end -- 1.6.1 --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/puppet-dev?hl=en -~----------~----~----~----~------~----~------~--~---
