Announce: Facter 2.0.1-rc1 Now Available

34 views
Skip to first unread message

Melissa Stone

unread,
Feb 28, 2014, 6:26:01 PM2/28/14
to puppet...@googlegroups.com, puppe...@googlegroups.com
Facter 2.0.1-rc1
-----------------------------------
** Pre-release **
  • RC1: February 28, 2014.

Facter 2.0.1-rc1 Downloads
------------------------------------------
Source: https://downloads.puppetlabs.com/facter/facter-2.0.1-rc1.tar.gz

Available in native package format in the pre-release repositories at:
http://yum.puppetlabs.com and http://apt.puppetlabs.com

For information on how to enable the Puppet Labs pre-release repos, see:
http://docs.puppetlabs.com/guides/puppetlabs_package_repositories.html#enabling-the-prerelease-repos

Gems are available via rubygems at
https://rubygems.org/downloads/facter-2.0.1.rc1.gem
  or by using `gem install --pre facter`

Mac packages are available at
https://downloads.puppetlabs.com/mac/facter-2.0.1-rc1.dmg

Please report feedback via the Puppet Labs tickets site, using an 
affected facter version of 2.0.1-rc1:
https://tickets.puppetlabs.com/browse/FACT


Facter 2.0.1-rc1 release notes
---------------------------------------------------
Release Candidate: Facter 2.0.1 is not yet released. It entered RC 1 on February 28, 2014.

Facter 2.0.1 is the first release in the Facter 2 series. (See the note below about Facter 2.0.0.)

Features

FACT-134: Perform basic sanity checks on Facter output

Facter now does sanity checking on the output of facts. Facter previously assumed that all facts would be of type String but did not enforce this; Facter now validates that facts are one of (Integer, Float, TrueClass, FalseClass, NilClass, String, Array, Hash).

FACT-237: Allow fact resolutions to be built up piece-wise

FACT-239: Expose different resolution types in DSL

Introduces aggregate resolutions for facts. Aggregate resolutions allow facts to be extended at runtime and provide a simplified way of building up complex fact values.

FACT-341: Windows operatingsystemrelease support

On Windows, the operatingsystemrelease fact now returns XP,2003, 2003 R2, Vista, 2008, 7, 2008 R2,8, or 2012, depending on the version reportedy by WMI.

Improvements

FACT-94: Unvendor CFPropertyList

Removes vendored code for CFPropertyList in favor of treating it as a separate dependency and managing it with Rubygems.

FACT-163: Fact loading logic is overly complicated

In Facter 1.x the fact search path would be recursively loaded, but only when using Facter via the command line. In Facter 2.0 only fact files at the top level of the search path will be loaded, which matches the behavior when loading facts with Puppet.

FACT-266: Backport Facter::Util::Confine improvements to Facter 2

Adds several improvements to Facter::Util::Confine, including the ability to confine a fact to a block.

FACT-321: Remove deprecated code for 2.0

Code that had previously been marked deprecated has now been removed.

FACT-322: Remove special casing of the empty string

Previous versions of Facter would interpret an empty string (and only an empty string) as nil. Now that facts can return more than just strings (i.e., they can directly return nil), empty strings no longer have this special case.

FACT-186: Build Windows-specific gem

Adds Windows-specific gem dependencies for Facter 2.

FACT-194: Merge external facts support to Facter 2

Adds pluginsync support for external facts to Facter 2.

FACT-207: Remove deprecated ldapname

Removes all instances of ldapname, completing its deprecation.

FACT-272: Update Facter man page for 2.0

The man page for Facter 2 now includes the new command line options.

Bug Fixes

FACT-202: Fix undefined path in macaddress.rb

One of the possible resolutions for the macaddress fact would incorrectly return nil. This release fixes the bug.

Facter 2.0.0

For historical reasons, Facter 2.0.0 was never released. Facter 2.0.1 is the first release in the Facter 2 series.

In May 2012, several release candidates were published for a Facter 2.0.0 release, using code that had diverged from the 1.6 series. After testing it, the Puppet community and developers decided that this code wasn’t yet usable and the release was cancelled, in favor of continuing work that became the Facter 1.7 series.

Since the 2.0.0rc1 tag in the Facter repo was already occupied by that cancelled release, and since issuing a RC5 out of nowhere might have been confusing, we decided to go directly to 2.0.1 instead.


Facter 2.0.1-rc1 Contributors
------------------------------------------
Adrien Thebo, Andrew Parker, Chris Portman, Erik Dalén, Franz Pletz, Jasper Lievisse Adriaanse, Jeff McCune, John Julien, Josh Cooper, Joshua Hoblitt, Kylo Ginsberg, Luis Fernandez Alvarez, Matthaus Owens, Melissa Stone, Patrick Carlisle, Rob Reynolds, Ryan McKern, Stefan Schulte, john


Facter 2.0.1-rc1 Changelog
----------------------------------------
Adrien Thebo (80):
      647c0a4 (maint) processorcount on solaris should return a string
      84a981e (refactor) Remove double negation from resolution confine check
      0850724 (maint) clean up Facter::Application#run
      f1bf77b (FACT-159) Extract facter command line formatting
      ab4d7c4 (FACT-134) Add module for normalizing fact values
      9d2ef21 (FACT-134) Normalize and validate fact values
      d9449ed Extract Facter execution methods to mixin
      1998cda Move execution module from util to core
      818b58b (FACT-207) Remove all uses of :ldapname
      a64a1fa (maint) extract Execution#with_env method specs
      05ee7ce (FACT-65) Allow resolutions to be created and looked up by name
      1e63a6b (refactor) Extract fact options handling
      9a02a2f (FACT-207) Simplify Fact options hash evaluation
      37ac68e (FACT-65) Collections should be able to directly create facts
      dc65014 (maint) set resolution properties from an options hash
      697a3c3 (maint) decouple option settings on facts and resolutions
      6f74062 (maint) Reuse fact creation logic in collection
      23345eb (FACT-65) Allow resolutions to specify their name as an option
      8f45e71 (FACT-65) Extract Resolvable and Suitable mixins
      ddfd832 (maint) Remove normalization tests from resolvable
      3431c2d (FACT-237) Add directed graph for handling dependencies
      b5c4293 (FACT-237) Add aggregate resolution class
      733d2af (FACT-237) Implement deep_merge for composing facts
      c5a0ecd (FACT-237) Implement deep_freeze for composed facts
      1921fa3 (FACT-237) Use specific error classes for deep_merge and deep_freeze
      a4b2fa1 (FACT-237) Freeze results of each aggregate chunk
      083e0aa (FACT-237) Define default aggregate action
      ddb8cfb (maint) Pin windows compiled gem versions
      7a78e74 Merge pull request #509 from mzeren-vmw/fix/22060/undefined_path_in_macaddress
      5b90132 (FACT-94) Unvendor CFPropertyList
      fc93a4f (maint) Extract Facter logging functionality
      905f209 (maint) Simplify logging controls
      421748c (maint) Simplify argument handling for `warn` messages
      6c6c394 (FACT-273) Always log warnings regardless of log level
      b34eb1e (maint) Delegate #warnonce printing to #warn
      3e5db04 (maint) Emit warnings when log methods called without string
      a039139 (maint) Remove Facter.method_missing
      319abe8 (maint) Don't warn on non-existent paths
      b1f70c3 (doc) Update documentation for Facter#search
      329b609 (maint) Update loader specs to use let blocks over ivars
      9e59aeb (maint) Reset facter search path when resetting facts
      4eac9df (FACT-321) Remove interpreter arg for command execution
      e02fb64 (FACT-321) Remove interpeter arg from resolution
      3d11d4e (FACT-321) Remove deprecated interpreter from resolution
      1d87674 (FACT-321) Remove deprecated 'memorytotal' fact
      99841e2 (FACT-321) Remove deprecated Resolution#to_s()
      0500739 (FACT-321) Remove ENV['DESTDIR'] and --test from install.rb
      6632a23 (FACT-321) Remove deprecated windows shell builtin execution
      f938652 (FACT-321) Remove deprecated file extension expansion
      48ea431 (maint) refactor solaris virtual fact to use timeouts
      c8df160 (FACT-273) Resolutions should be able to reference their facts
      928282a (maint) Add more context when resolutions fail to evaluate
      7a581bb [FACT-239] Cleanly evaluate blocks in resolution context
      e86ff8d (FACT-239) Delegate Fact#add to Fact#define_resolution
      b534273 (FACT-239) Move resolution interaction to facts
      b93d261 (FACT-239) Expose resolution type controls
      0bb2246 (maint) Iteratively deep merge values for default aggregate
      71f1d66 (maint) Clean up facter specs
      c5d4654 (FACT-239) Implement Facter.define_fact
      71f650f (maint) Remove nonfunctional tests
      35aca22 (maint) Explicitly require tsort
      1edaea5 (maint) Update facts to use Facter::Core::Execution
      bae6c15 (FACT-322) Remove special casing of resolution command
      41e766e (FACT-322) Remove execution empty string special casing
      40863af (FACT-322) Remove fact special casing of empty string
      19382e4 (maint) Return the empty string on exec error
      bc85e8d (doc) Update documentation for Exection.exec
      a7f4cb6 (FACT-327) Move Process.waitall to Execution.exec
      491660a (FACT-327) Extract command execution base class
      74840eb (FACT-327) Extract windows/posix execution classes
      01b8f2d (maint) zoneadm_output should always be a string
      a381187 (maint) Add zone_global_uuid to schema
      790da64 (FACT-346) Remove deprecated selinux_mode fact
      518c2f1 (FACT-272) Format facter --help to work with ronn
      47ab11a (FACT-272) Update manpage based on facter --help
      3c3ef4c Revert "Merge branch 'feature/facter-2/patition_uuid_fact' into facter-2"
      df76094 Revert "(fact-234) Add newly defined blockdevice dynamic facts to the schema"
      e07c48f (FACT-349) Surface error messages when rescuing exceptions
      893a1c0 (maint) Handle string output in zfs/zpool version facts
      680f32e (maint) Simplify aggregate error message

Andrew Parker (3):
      e38555d (Maint) Remove loader test dependence on ENV
      098a248 (Maint) Remove unneeded mocking
      32062c1 (doc) Update to point to the new Jira instance

Chris Portman (1):
      f7b09c7 (FACT-234) Add blockdevice uuid fact

Erik Dalén (1):
      e4c8689 (#19845) Allow a block to be supplied as a confine

Franz Pletz (1):
      0d8ec34 (#20216) Print timings to stderr instead of stdout

Jasper Lievisse Adriaanse (1):
      daa68fd Add support for ssh-ed25519 keys

Jeff McCune (5):
      cfbcbdc (maint) Add newlines to all files (whitespace only)
      b04d701 (maint) Remove rspec from shebang lines
      9a2ff51 (doc) Update COMMITTERS and CONTRIBUTING
      c841645 (maint) Update link to the contributor license agreement
      21f10c0 (doc) Update the Resolution#confine API docs

John Julien (1):
      5e369e0 (#9546) Do not execute com, cmd, exe, or bat files if not on windows

Josh Cooper (7):
      521ead9 (FACT-186) Express windows specific gem dependencies
      294ef91 (FACT-186) Consolidate gem runtime dependencies
      9592879 (FACT-134) Normalize copies of fact string values
      1de2d8d (FACT-134) Redo tests so the work on ruby 1.8.x
      832b59a (Maint) Handle NoMethodError on 2003
      f82cf01 (FACT-346) Remove selinux_mode from schema
      7e5af1e (FACT-351) Fix netmask fact on Darwin and *BSD

Joshua Hoblitt (1):
      4e41e42 (FACT-163) refactor fact [file] loading

Kylo Ginsberg (28):
      4ec07ca (fact-163) Remove relative path for FACTERLIB paths (which was unintentional)
      4faecb0 (fact-163) Fix path construction in load_all
      58901c0 (fact-79) Document builtin facts in a json schema
      beb37b2 (fact-79) Add facter_json_output_validate.rb
      c436f40 (fact-79) Commonize non-nil physicalprocessorcount values to string
      5e4e265 (fact-79) Enforce that all built-in facts must have a schema defined
      7ae5189 (fact-79) Add a README.md for the schema and clearer validate.rb output
      9036329 (fact-79) Add a bunch of missing facts
      8ebffec (fact-79) Extend acceptance test to ruby 1.8.x platforms
      fccc67a (fact-79) Specify the agent name in the step
      9876059 (fact-79) Convert ip and mac addreses to use a regex
      e81bd67 (fact-79) Don't try 'gem install json' on windows
      6231ec1 (fact-79): Add Solaris zone facts
      7fd3d1f (fact-79) Enforce standard format for all macaddresses
      d75e5c6 (maint) Remove monkey patch
      1da7261 (fact-207) Issue deprecation warning for ldapname
      1590a4c (fact-194) Add Facter.search_external{,_path}
      6258ae0 (maint) Remove test which tests nothing (but can provoke a failure in tests run after it)
      b6a0a65 (fact-81) Use Emit.dump rather than to_plist
      d56f472 (fact-273) Return a string for stub of :kernel fact
      9c221b7 (fact-273) Expect a warning message that can be expected
      fae7a76 (fact-273) Remove a test which was a subset of the following test
      5de8102 (fact-273) Add expectation for Facter.warn on timeouts
      b53fc4d (fact-273) Add expectation for Facter.warn on exceptions retrieving operatingsystemrelease
      b67894b (fact-273) Add expectation for Facter.warn on ignored file extensions
      c57c7dc (fact-273) Add expectation for Facter.warn on resolutions that throw an exception
      2600f04 (maint) Update docs to reflect use of facter-2 branch
      0b1d424 (fact-234) Add newly defined blockdevice dynamic facts to the schema

Luis Fernandez Alvarez (1):
      6464e5b (FACT-341) - Added operatingsystemrelease support to Windows

Matthaus Owens (4):
      88d23b0 (FACT-332) Add cfpropertylist task to facter
      1002e2a (FACT-332) Make the package:apple task depend on cfpropertylist
      86d4f61 (maint) Load extra tasks before loading packaging
      aa9ee28 (FACT-332) Warn when the packaging tasks aren't loaded

Melissa Stone (1):
      1951623 (packaging) Update FACTERVERSION to 2.0.1-rc1

Patrick Carlisle (2):
      4ce8f7d Document Facter API with YARD
      0dbfebd Use the API to test resolution weight

Rob Reynolds (1):
      d93d684 (FACT-186) Pessimistic version binding gem dependencies

Ryan McKern (1):
      1df7494 (RE-814) Add initial support for building in a RHEL 7 mock

Stefan Schulte (1):
      7c3e366 (maint) Remove trailing spaces in blockdevices_spec

john (1):
      14d3f65 (#22636) Allow list of external fact directories to be appended to

--
Melissa Stone
Release Engineer, Puppet Labs

Join us at PuppetConf 2014September 23-24 in San Francisco - http://bit.ly/pupconf14
Register now and save $350! 
Reply all
Reply to author
Forward
0 new messages