集中式系统管理工具Puppet发布3.1.0。2013-02-04。上个版本是2012-12-26的3.0.2 .其他产品线还是2012-11-19的2.7.20和2012-07-10的2.6.17 经过2个RC 增加了一些新功能修正一些Bug等。puppetlabs-products的rpm库已同步更新到3.1.0。
A word about versioning
This is the first “minor” release in the Puppet 3 series. It introduces some new functionality and fixes a number of bugs, but is intended to be completely backwards-compatible with 3.0. There will be no further 3.0.x point releases, so any current Puppet 3 users should upgrade to 3.1.0. For users upgrading from a 2.x series release, please read through the long-form Puppet 3 release notes for a full list of new features, deprecations, and backwards-incompatible changes.
Ruby DSL Deprecated, new Puppet Ruby DSL removed
We introduced deprecation warnings for the (not-well-documented, mostly-unused) Ruby DSL; if you are using the Ruby DSL in production we want to hear from you to learn what you’re doing with it — please reply to this message on email@example.com!
Additionally, after testing the revamped Ruby DSL that was in RC1, we made the call not to ship it. This was a tough decision, but the number and severity of issues that came up in exploratory testing led us to the conclusion that it was not supportable code. Again, if there are issues you run into with the Puppet DSL that you wanted to solve with the Ruby DSL, we want to hear about this on the puppet-dev mailing list.
Improvements When Loading Ruby Code
A major area of focus for this release was loading extension code. As people wrote and distributed Faces (new puppet subcommands that extend Puppet’s capabilities), bugs like #7316 started biting them. Additionally, seemingly simple things like retrieving configuration file settings quickly got complicated, causing problems both for Puppet Labs’ code like Cloud Provisioner as well as third-party integrations like Foreman. The upshot is that it’s now possible to fully initialize puppet when using it as a library, loading Ruby code from Forge modules works correctly, and tools like puppetlabs_spec_helper now work correctly.
YARD API Documentation
To go along with the improved usability of Puppet as a library, we’ve added YARD documentation throughout the codebase. YARD generates browsable code documentation based on in-line comments. This is a first pass through the codebase but about half of it’s covered now. To use the YARD docs, simply rungem install yardthenyard server –nocachefrom inside a puppet source code checkout (the directory containinglib/puppet).
YAML Node Cache Restored on Master
In 3.0.0, we inadvertently removed functionality that people relied upon to get a list of all the nodes checking into a particular puppet master. This had actually flip-flopped a few times but now it’s enabled for good, added to the test harness, and available for use as:
# shell snippet export CLIENTYAML=`puppet master --configprint yamldir` puppet node search "*" --node_terminus yaml --clientyamldir $CLIENTYAML
Other bugfixes and improvements
In addition to the headline features, Puppet 3.1 includes a number of improvements and bugfixes, many of which were community-contributed — many thanks to the community members who submitted documentation, test, and code improvements. Some of the more interesting ones follow.
- The Solaris package manager now supports theholdablefeature (aka “freezing”) (#16120)
- managehome => truenow works on Oracle Enterprise Linux 6 (#18298)
- create_resourcescan now create virtual and exported resources (#15081)
- SRV record improvements for fileserving and certificate service (#18161, #18162)
Complete list of bugs fixed in this release
For a hyperlinked list of bugs addressed in the release, please visit the Puppet Version 3.1.0 Roadmap page.