Announce: Facter 1.7.0 Available

Showing 1-1 of 1 messages
Announce: Facter 1.7.0 Available Matthaus Litteken 4/15/13 11:53 AM
Facter 1.7.0 is a feature release in the 1.x series with
new features and bug fixes. For current documentation on Facter 1.7.0,
please see:

To see a list of the issues addressed by this release, check out the
1.7.0 version in our issue tracker at:

Downloads are available at:
 * Source

Available in native package format in the our repositories at: and

For information on how to enable the Puppet Labs repos, see:

Gems are available via rubygems at
  or by using `gem install facter`

Mac packages are available at

Please report feedback via the Puppet Labs Redmine site, using an
affected facter version of 1.7.0:

##  Facter 1.7.0 Contributors  ##
Adrien Thebo, Andrew Elwell, Andrew Parker, Ashley Penney, Chris
Price, Christopher Webber, Daniel Black, Daniel Pittman, Eric
Sorenson, Erik Dalén, Evan Pierce, Garrett Honeycutt, Garrett Wollman,
Gary Larizza, Grant Heffernan, Hailee Kenney, Hunter Haugen, Jacob
Helwig, Jared Curtis, Jason Gill, Jeff McCune, Jeff Weiss, Jonathan
Grochowski, Josh Cooper, Joshua Hoblitt, Ken Barber, Kyle Anderson,
Luis Fernandez Alvarez, Luke Kanies, Marc Fournier, Matthaus Owens,
Max Riveiro, Michael Kincaid, Michael Moll, Michael Renz, Mikael
Fridh, Moses Mendoza, Nan Liu, Nicolas Vigier, Niels Abspoel, OMCnet
Development Team, Patrick Carlisle, Pierre-Gilles Mialon, Rahul
Gopinath, Russell Harrison, Stefan Schulte, Tim Sharpe, Timur
Batyrshin, Todd Zullinger, Wolf Noble, rlinehan

## Facter 1.7.0 Release Notes ##

External Facts

It's now possible to create external facts with structured text (e.g.
YAML, JSON, or a Facter-specific plaintext format) or with a script
that returns fact names and values in a specific format (e.g. Ruby or
Perl). Please see the custom facts guide for a detailed explanation
and caveats.

on_flush DSL method

Also new in Facter 1.7 is the on_flush DSL method, usable when
defining new custom facts. This feature is designed for those users
who are implementing their own custom facts.

The on_flush method allows the fact author to register a callback
Facter will invoke whenever a cached fact value is flushed. This is
useful to keep a set of dynamically generated facts in sync without
making lots of expensive system calls to resolve each fact value.

Please see the solaris_zones fact for an example of how the on_flush
method is used to invalidate the cached value of a model shared by
many dynamically generated facts.

##  Facter 1.7.0 Changelog  ##
Adrien Thebo (25):
      12bb73f (#2157) Add external fact support
      19f8328 (#2157) external facts command line - bin/facter
      223293c (#2157) external facts command line - lib/facter/application.rb
      87fc73e (#2157) external facts command line - lib/facter/util/config.rb
      45e5bf1 (#2157) external facts command line -
      07720aa (#2157) external facts - lib/facter/util/directory_loader.rb
      34a337e (#2157) parser classes can register an array of
extensions - lib/facter/util/config.rb
      3c12374 (#2157) raise error if parser doesn't implement #results
- lib/facter/util/parser.rb
      a4317a5 (#2157) Catch infinite infinite loop when loading json -
      cab9b7d (#2157) add support for scriptparser on windows -
      87e4691 (#2157) add powershell script parser - facter/util/parser.rb
      45b8cf3 (#2157) external facts command line - install.rb
      c22b9ff (#2157) Add external facts README to redhat spec
      da1982b (#2157) add readme for libexec external facts
      70ea5b1 (#2157) Update config spec to test ext_fact_dir
      11535d0 (#2157) Used puppetlabs spec helper for directoryloader tests
      76104aa (#2157) Update directory_spec to reference new libexec dir
      22c5a25 (#2157) directory_loader uses results instead of values
      e0668a7 (#2157) test directory loader to make sure loading
non-existing directories is all cool, yo
      becb778 (#2157) shorten spec_helper require in parser_spec.rb
      75b7cea (#2157) cleanup and reformatting of directory_loader_spec
      9285308 (#2157) Converted parser spec to use PuppetlabsSpec::Files helper
      6f9a10a (#2157) Add test coverage for parser matches? function
      f188d09 (maint) centralize system fact stubbing in virtual specs
      0818832 Revert "Merge branch 'pull-419' into 1.7.x"

Andrew Elwell (3):
      b69e21f Update version nos to match Facter development
      739879d Update version nos to match Facter development
      b292fdc Update version nos to match Facter development

Andrew Parker (7):
      83b43ff Revert "(#2157) external facts command line - install.rb"
      2fd7f6e (Maint) Ensure that the right Facter is loaded during install
      df5b95c Revert "Merge pull request #205 from
      15f36bf Revert "Merge pull request #204 from
      290842f Revert "Merge pull request #208 from
      e8ed813 Revert "Merge pull request #202 from
      1d36e02 (Maint) Properly mock SunOS in test for manufacturer

Ashley Penney (7):
      58a685b Add XenServer to operatingsystem for #5255.
      36facb3 Add OpenIndiana to operatingsystem and osfamily, as well
as check /etc/release for Solaris rather than just falling back to it.
      fa60a87 Modify this to handle Solaris a little better, via the
use of uname -v.
      d8238fa Further tweaks for XenServer.
      42d6dea In one of the more recent versions of rspec they changed
calls from expect{} to be .to and .to_not instead of
should/should_not.  This fixes the three failure tests I see every
time I run the tests.  This was driving me crazy.
      4842e0a Add XenServer test.
      3d45e2b Add the uuid from dmidecode and add appropriate unit
testing for it.

Chris Price (7):
      26918b3 (#12012) Move "with_env" utility method from test code
into lib code
      810c465 (#12012) Remove global override of LANG environment variable
      66cbfac (#12012) Add spec unit tests for env/LANG changes
      d8be0a6 (#12012) Fix ruby 1.8.5 incompatibility in new spec test
      9c2afdb (#12012) Fix bug with overriding LANG environment variable
      4595c48 (#12012) removed extraneous nils
      f77584f (#12311) use 'ensure' to restore env vars in Resolution.with_env

Christopher Webber (3):
      51119c0 Add support for distingushing which Solaris
      27ac413 Add new distros to Solaris family
      f3d9571 Update other facts to use osfamily instead of operatingsystem

Daniel Black (3):
      6c8683a (#11660) Adds feature SSHFP (#11659) Adds ssh spec
      50f6da6 (#11660) Adds feature SSHFP
      2a86219 (#11660) Adds feature SSHFP (#11659) Adds ssh spec

Daniel Pittman (7):
      2bdacfb Revert "(#11660) Adds feature SSHFP"
      0010a65 (#10232) Tests for VirtualBox detection via sysfs
      cb429df Partial revert of CFPropertyList migration.
      02ff878 Bump Facter version to 2.0.0 for the release.
      8a49948 Delete the "ARP" facts, which are pathologically bad.
      bb44774 Delete Linux-only `get_arp_value` helper.
      4b926d0 Faster MAC address load on Linux via sysfs

Eric Sorenson (1):
      b7a7f50 Fixes behaviour change if /etc/release does not exist.

Erik Dalén (1):
      a0b1acb (#17917) Allow case equality confinement matching

Evan Pierce (1):
      ec9524f (#15585) Make ext fact regex not greedy

Garrett Honeycutt (1):
      4581b17 (maint) removing trailing whitespace

Garrett Wollman (2):
      eba2036 Make zpool_version work on FreeBSD kernels as well.
      6299040 Allow zfs_version to work on FreeBSD as well as Solaris.

Gary Larizza (2):
      af682cc [#11299] Replace facter/util/plist with cfpropertylist
      635ccc4 Namespace CFPropertyList under Puppet::Util

Grant Heffernan (2):
      976b7af fix xen0/xenu detection:
      40efab4 fix tests for virtual detection

Hailee Kenney (42):
      6b9e2e5 (#7484) Domain fact should handle only TLD
      3168927 (#7484) Domain Fact should handle TLD
      3a84a0e (#3226) Strip whitespace from fact
      6e7d967 (#3226) Wire up fact preserve_whitespace DSL
      c13a517 (maint) Fix broken Windows tests
      fa38c60 (#14469) Strip whitespace from frozen strings
      e9326d7 (#14467) Warn when removing relative paths
      ffe7129 (#3909) Strip trailing dots from domain fact
      4eaa7c4 (#14521) Ensure install only strips leading lib dir
      0fa58fc (#14521) Ensure install propagates licenses
      5a8547d (14466) Warn when no facts found
      653e9e0 (#14466) Fix style issues
      417d060 (#14690) Remove preceding letters from HP-UX release kernel
      7e7fce2 (#14700) Add tests for kernel facts (#14700) Add tests
for kernel facts
      4c7abaa (#14690) Fix style issues
      21b2c29 (#12649) Add memory and swap values for FreeBSD
      7c18090 (#12649) Add specs for FreeBSD memory fact
      16b58a2 (#14700) Fix whitespace and spelling issues
      d161c3e (#14700) Fix kernel version spec
      d88d7be (#14700) Fix kernel spec on Windows
      56793c6 (#13049) Add tests for GNU/kFreeBSD
      e45ffde (#13047) Add tests for GNU/kFreeBSD
      7d933fd (#2157) Remove JSON dependencies
      b0eea43 (#2157) Add util/json.rb file to support removing JSON requirement
      5bc46a0 (#2157) Exit facter when specified directory for
external facts does not exist
      ba83da9 (#2157) Make it possible to disable custom facts
      9f3d8a9 (#2157) Make external facts compatable with facts_dot_d
      e381348 (#2157) Add composite loader
      028bb31 (#2157) Refactor parser
      008cc6c (#2157) Remove support for executable external facts on Windows
      84d8393 (#2157) Ensure externals always overwrite other facts
      70b801a (#2157) Removed skipping backup files
      0464614 (#2157) Remove redundancy in directory loader spec
      7c094f1 (#2157) Allow weight to be set during fact addition
      088c6fe (#2157) Remove unused instance variable
      e062a77 (#2157) Removed directory_loader.rb's dependency on facter.rb
      bc0d831 (#2157) Collection is now constructed with it's loaders
      03cf1d7 (#2157) Prevent external facts from attempting to parse
      5c3d635 (#15514) Add compatibility with change to operatingsystem fact
      b1bcf31 (#1424) Fix up syntax in tests
      3f0a335 Revert "(#1424) Fix up syntax in tests"
      cc8f574 Revert "(#1424) Added facts zones, zone_ & zonename for solaris."

Hunter Haugen (1):
      c12d3b6 Add Amazon to the RedHat osfamily

Jacob Helwig (1):
      e0cb1ae Revert "Merge branch 'ticket/10251' of

Jared Curtis (1):
      17bfadb (#17083) Add rhev & ovirt support to the virtual fact

Jason Gill (2):
      dd704c5 (#10238) Adds support for retrieving information about
block devices in Linux, with tests; updated to include sizes and be
more flexible for future additions
      f7c086a (#10966) Adds BIOS information facts Additionally
includes tests for other dmidecode-based facts such as

Jeff McCune (31):
      9bc2432 (maint) Whitespace error cleanup commit
      10c3986 (maint) Add trailing newlines to all files
      f85eebd (maint) Standardize on #!/usr/bin/env ruby -S rspec
      082dba6 (#2157) Rename collection loader methods
      8f7267e (#2157) Make JsonParser always available but disabled
without json gem
      5ba762c (#2157) Make parser matcher work with Enumerable
      c436ef2 (#2157) Remove needless methods
      84bc0f8 (#2157) Change parser specs to not touch the filesystem
      5075b50 (#2157) Fixup yaml typo in json spec test
      f273906 (#2157) Fix spec failures on Ruby 1.8.5
      7d1fb72 (Maint) Whitespace fixup
      250f930 (#2157) Fixup remove executable facts on Windows
      7de57ba (#2157) Fix Mocha::StubbingError in loader_spec
      2624508 (Maint) Fix Facter version to be 2.0.0-rc4
      ff60b69 Improve Facter.version API to help automate releases
      2674e0d Add helper method
      b97337c Add expectations for operatingsystemrelease on Ubuntu
      5a25b33 (#17794) Specify how zfs facts behave when tools are configured
      a43d6f8 (#17612) Follow Google docs to populate virtual => gce
      41e9468 (#15001) Use the internal loader to load ipaddress
      de8bbb6 Fix newline in operatingsystemrelease fact
      edbad6f (refactor) Send operatingsystemrelease through
      25e194e (maint) Fix Solaris 10 spec failures
      da5d140 (maint) Update Gemfile to work well on windows
      ba9e1a2 (maint) Clean up require => false in Gemfile
      9c38f19 (#16948) Fix hardwaremodel fact on windows 32 bit
      db8a80c (maint) Add pry to Gemfile as a development dependency
      00544ca Add on_flush fact resolution DSL method
      e4eb583 (#17890) Refactor the facter solaris zone facts
      80f9074 (maint) Fix unhandled exception when zoneadm is missing
      5e7b695 (#14522) Force encoding of data read from /proc/self/status

Jeff Weiss (9):
      5aa2a6f (#12864) Windows: get primary DNS from registry
      4a2d358 (#6955) Remove relative dirs from fact search path
      9810595 (#11466) Remove deprecated memorytotal fact
      9f01fe7 (#12147) Remove Darwin 6-specific iphostnumber fact
      20f2d0e (#14689) Fix SSH fact for HP-UX
      b5dcc5b (#8963) Fix swap fact failure on SunOS if no swap
      8db9596 (#8963) Test for Solaris memory & swap facts
      ec438d3 (#8923) Add real Solaris output to specs
      611005b (#14827) Fix broken swap units on Mac

Jonathan Grochowski (1):
      ce67c98 (#10251) Creating RC tarballs should be handled by rake.

Josh Cooper (6):
      c93922c (#12012) Fix ENV['LANG'] spec tests on Windows
      4a59d36 (Maint) Don't parse nil Facter::Util::Resolution output
      a9c82fd (Maint) Suppress spec test output
      9cefa22 (#22072) Execute fully resolved virt-what
      6ebe9d1 Maint: Colorize spec output on Windows
      0598806 Maint: Fix order dependent test failure

Joshua Hoblitt (1):
      459801e (#17029) add osfamily Gentoo

Ken Barber (2):
      a9140d5 (#6617) Deprecate DESTDIR environment variable for installer
      64fa8ea (maint) Fix requires for newer rspec revisions so we
don't break build

Kyle Anderson (2):
      5fc6485 (#19676) Add openwrt OS detection support
      9e1223c Added OpenWrt (19676) ps detection and unit test for ps fact

Lex Rivera (4):
      4b44b79 [virtual] improve detection of proxmox-based KVM virtual machines
      5c653e9 [virtual] rewrite cpu-based detection of KVM-based VMs
      edb7b66 [virtual] add tests for dmidecode / bochs and lspci / virtio
      3eab7bf [virtual] use manufacturer instead of product name in
Bochs/KVM detection

Luis Fernandez Alvarez (1):
      707dfc2 (#19761) Added virtual and is_virtual fact on Windows

Luke Kanies (1):
      844b67b (#10964) Adding the ability to directly set values

Marc Fournier (1):
      e12965d (#17794) remove :kernel confinement of {zfs,zpool}_version

Matthaus Owens (14):
      1368bd6 Updating CHANGELOG, conf/redhat/facter.spec for 2.0.0rc1 release.
      9006e74 (#15852) Allow RC in Puppet, Facter version strings
      edcfa9b (#17854) Allow install.rb to execute from outside of source root
      682676d Remove unused code, globs from install.rb
      7eb4d38 Add deprecation warning for --tests flag in install.rb
      28141c5 Remove CHANGELOG from Facter
      bdf668d (packaging) Make dmidecode arch specific on debian
      a80fa94 (packaging) Add amd64 cows to the cows in build_defaults
      08c9e7c (packaging) Add dependency on virt-what for rpm and deb packages
      5a0291c (packaging) Update FACTERVERSION to 1.7.0-rc1
      0c1fb74 (#20072) Redirect stderr to the correct null device on windows
      b5f50cf (#14522) Don't read /proc/self/status on Solaris
      aa4ce2d (packaging) Update FACTERVERSION to 1.7.0-rc2
      604878b (packaging) Update FACTERVERSION to 1.7.0

Max Riveiro (1):
      51cb8e2 Cleaned up Arch Linux detection routine

Michael Kincaid (1):
      2eb4ede (#9708) Confine facts by kernel not operating system and
remove confine for hardwareisa

Michael Moll (2):
      332bf64 uname prints a version like "B.11.23" on HP-UX. Delete
the first two characters.
      8001440 HP's ssh package for HP-UX uses /etc/opt/ssh for its
configuration files

Michael Renz (10):
      dd57664 Fixes Bug # 1415: truncated Infiniband MAC addresses FOR
LINUX ONLY.  If interface starts with ib, uses one of two methods to
get infiniband MAC address and fails with a MAC address of all FF
      3f78ad6 ifconfig should not run twice for Linux.
      246a70f Handles ruby hanging of of /sys/class/ with cat.
      284bc45 #16005 Puppet agent generates ifconfig warnings on
InfiniBand systems fix
      7205d59 #1415 ip_spec.rb test added for linux_ifconfig_ib0
      4c30c0c #1415 added two methods and spec tests
      b06708e ifconfig_interface should output its output
      8c86551 #1415 fixed the regex map
      29f5e22 #1415 ifconfig_interface change.
      0bfca9e #1415 updated ipaddress6_spec.rb and macaddress_spec.rb
to reflect updated ifconfig STDERR redirect

Mikael Fridh (1):
      64770d0 Try to get VirtualBox info without dmidecode

Moses Mendoza (6):
      bf4c697 Update CHANGELOG, conf/redhat/facter.spec for 2.0.0rc2
      6cc987c Update CHANGELOG, conf/redhat/facter.spec for 2.0.0rc3
      857674b Update CHANGELOG, conf/redhat/facter.spec for 2.0.0rc4
      6ab5426 Only use git describe in Rakefile if git is present
      0d141bb Fixup redhat spec file for f17
      1daadf0 Revert "Remove libexec from file list as its only in 2.x"

Nan Liu (3):
      f47c592 (#1424) Add Solaris zonename fact.
      5273842 (#6682) Add Solaris ldom facts and update virtual detection.
      c80de1c (#11969) Add zfs zpool version facts.

Nicolas Vigier (1):
      9df78a1 (#9929) Add support for Mageia to operatingsystem.rb and

Niels Abspoel (1):
      e3b8ee4 (#17521) Add osfamily fact ArchLinux

OMCnet Development Team (1):
      56d0aef added freebsd support to processor.rb

Patrick Carlisle (4):
      1dd50f4 Use absolute path for $LOAD_PATH in installer
      63d5296 Only run Facter::Memory.meminfo_number on supported platforms
      fee751e (#20053) Add missing require in ipaddress6 fact
      9b29473 (Maint) Fix environment leakage in loader spec

Pierre-Gilles Mialon (1):
      a36918a (#17612) Add Google Compute Engine support to virtual fact

Rahul Gopinath (2):
      fec2276 (#1424) Added facts zones, zone_ & zonename for solaris.
      e6ba727 (#1424) Adds zone facts for solaris.

Russell Harrison (1):
      63d2d61 (#15001) Return correct value for ipaddress6 for Fedora 17+

Stefan Schulte (3):
      7713d95 (#11082) Add fact operatingsystemrelease for Solaris
      30e068a (#11082) Add negative tests for operatingsystemrelease
      2e7a108 (#12790) Raise an exception if recursion is detected

Tim Sharpe (1):
      2fc1b0c (#9574) Add filesystem fact & tests

Timur Batyrshin (1):
      9ff4453 Removed exclusive threading

Todd Zullinger (2):
      a67d440 Improve rubysitedir fact
      2f02c82 (#19989) Filter virt-what warnings from virtual fact

Wolf Noble (1):
      43cff12 (19873) Add OS major release fact

rlinehan (6):
      6fc23a6 (#2066) Add memory facts fixed in MB units
      890a90a (#2066) Refactor memory facts
      1865953 (#2066) Refactor swap facts
      a95d38c (#2066) Add tests for AIX
      0720bed (#2066) Refactor memory size and memory free facts
      38b6ecf (#2066) Fix facts for Linux/kFreeBSD and add tests