Permalink
Browse files

Adding a --puppet option to facter to load Puppet facts.

Also updating the changelog for previous work.
  • Loading branch information...
1 parent bb41db0 commit edbfc44b2c032e489d082664bf011e543b0cba87 @lak lak committed May 16, 2008
Showing with 24 additions and 3 deletions.
  1. +11 −0 CHANGELOG
  2. +1 −1 README
  3. +12 −2 bin/facter
View
@@ -1,4 +1,15 @@
?:
+ The 'facter' executable now has an option (-p|--puppet) for loading the
+ Puppet libraries, which gives it access to Puppet's facts.
+
+ Added autoloading to Facter with a default of not loading all facts,
+ which results in a significant speedup when only one fact is sought.
+ Facts are autoloaded in either a single file named after the fact or
+ in any file in a directory named after the fact.
+
+ Significantly refactored Facter's internals, including creating tests
+ for all internal classes.
+
A netmask fact has been added closing ticket #46. It only returns the
netmask of the primary interface (in the same behaviour as the ipaddress
and macaddress facts).
View
2 README
@@ -6,5 +6,5 @@ processors, etc.
It currently cannot collect very much information, but it is architected to be
both OS and OS version specific.
-See bin/facter or http://reductivelabs.com/project/enhost for an example of the
+See bin/facter or http://reductivelabs.com/trac/enhost for an example of the
interface.
View
@@ -6,7 +6,7 @@
#
# = Usage
#
-# facter [-d|--debug] [-h|--help] [-v|--version] [-y|--yaml] [fact] [fact] [...]
+# facter [-d|--debug] [-h|--help] [-p|--puppet] [-v|--version] [-y|--yaml] [fact] [fact] [...]
#
# = Description
#
@@ -24,6 +24,9 @@
# help::
# Print this help message
#
+# puppet::
+# Load the Puppet libraries, thus allowing Facter to load Puppet-specific facts.
+#
# version::
# Print the version and exit.
#
@@ -64,7 +67,8 @@ result = GetoptLong.new(
[ "--help", "-h", GetoptLong::NO_ARGUMENT ],
[ "--debug", "-d", GetoptLong::NO_ARGUMENT ],
[ "--yaml", "-y", GetoptLong::NO_ARGUMENT ],
- [ "--config", "-c", GetoptLong::REQUIRED_ARGUMENT ]
+ [ "--config", "-c", GetoptLong::REQUIRED_ARGUMENT ],
+ [ "--puppet", "-p", GetoptLong::NO_ARGUMENT ]
)
options = {
@@ -76,6 +80,12 @@ result.each { |opt,arg|
when "--version"
puts "%s" % Facter.version
exit
+ when "--puppet"
+ begin
+ require 'puppet'
+ rescue LoadError => detail
+ $stderr.puts "Could not load Puppet: %s" % detail
+ end
when "--yaml"
options[:yaml] = true
when "--debug"

0 comments on commit edbfc44

Please sign in to comment.