Puppet 3.2.1发布

On 2013年05月27日, in soft, by netoearth

Puppet,是基于Ruby的一个工具,您可以集中管理每一个重要方面,您的系统使用的是跨平台的规范语言,管理所有的单独的元素通常聚集在不同的文件,如用户, CRON作业,和主机一起显然离散元素,如包装,服务和文件。


发布3.2.1正式版。2013-05-23 经过2个RC版。这是新的产品系列,未正式发布3.2.0,其他产品线为3.1.1/3.0.2/2.7.21/2.6.18 此版本包括支持Ruby 2.0,支持OpenWRT OS,支持External CA,新的modulo (%) 以及Bug修正等。


Puppet 3.2.1

3.2.1 is a bugfix release of the Puppet 3.2 series. It addresses two major issues that were uncovered in 3.2.0 and caused us to pull that release (#20726 and #20742). It also includes a fix for Solaris support (#19760).

Issues fixed:

  • Bug #19760: install sun packages failed with:Error: /Stage[main]/Inf_sol10defaultpkg/Package[SMCcurl]: Could not evaluate: Unable to get information about package SMCcurl because of: No message
  • Bug #20726: usermod command arguments out of order
  • Bug #20742: unauthenticated clients unable to communicate with puppet master (running in passenger)

Known Regressions

On Windows, Puppet 3.2.1 is unable to manage the home directory for a user account. (Bug #20768) This is a regression from Puppet 3.1.1; it was introduced by switching to Ruby 1.9 in the Windows .msi package. This bug will be fixed soon in a point release, but wasn’t severe enough to delay shipping.

All 3.2.1 Changes

See here for a list of all changes in the 3.2.1 release.

Puppet 3.2.0

3.2.0 is a backward-compatible features and fixes release in the Puppet 3 series. It was never officially released, as major bugs were discovered after the release was tagged but before it was published; 3.2.1 was the first official Puppet 3.2 release.

The most notable changes are:

  • An optional, experimental “Future” parser
  • Ruby 2.0 support
  • OpenWRT OS support
  • External CA support
  • A new modulo (%) operator
  • New slow catalog profiling capabilities
  • General improvements and fixes, including improved splay behavior, fixes to the cron type, improvements to the module tool, and some Hiera-related fixes

Ruby Bug Warning: Ruby 1.9.3-p0 has bugs that cause a number of known issues with Puppet 3.2.0 and later, and you should use a different release. To the best of our knowledge, these issues were fixed in the second public release of Ruby 1.9.3 (p125), and we are positive they are resolved in p392 (which ships with Fedora 18). Unfortunately, Ubuntu Precise ships with p0 for some reason, and there’s not a lot we can do about it. If you’re using Precise, we recommend using Puppet Enterprise or installing a third-party Ruby package.

Experimental “Future” Parser With Iteration

In a first for Puppet, we’re shipping two versions of the Puppet language in one release.

By default, Puppet 3.2 is backward compatible with Puppet 3.1, with only minimal new language features (the modulo operator). However, if you setparser = futurein puppet.conf, you can try out new, proposed language features like iteration (as defined in arm-2). See the documents linked above for complete details.

Note that features in the experimental parser are exempt from semantic versioning. They might change several times before being released in the “current” parser.

(Issues 19983 and 11331)

Ruby 2.0 Support

Special thanks to: Dominic Cleal.

Previous releases almost worked on Ruby 2.0; this one officially works.

(Issue 18494)

OpenWRT OS Support

Special thanks to: Kyle Anderson.

OpenWRT is a distribution of Linux that runs on small consumer-grade routers, and you can now manage more of it with Puppet. This requires Facter 1.7.0-rc1 or later, as well as Puppet 3.2. Puppet Labs doesn’t ship any packages for OpenWRT.

New OpenWRT support includes:

  • Facter values:
    • operatingsystemandosfamilywill report asOpenWrt
    • operatingsystemreleasewill resolve correctly, by checking the/etc/openwrt_versionfile
    • General Linux facts will generally resolve as expected.
  • Packages:
    • The newopkgprovider can install packages and dependencies from the system repositories (set in/etc/opkg.conf), can ensure specific package versions, and can install packages from files.
  • Services:
    • The newopenwrtprovider can enable/disable services on startup, as well as ensuring started/stopped states. Since OpenWRT init scripts don’t have status commands, it uses the system process table to detect status; if a service’s process name doesn’t match the init script name, be sure to specify astatusorpatternattribute in your resources.

(Issue 19877)

External CA Support

Special thanks to: Dustin Mitchell.

We now officially support using an external certificate authority with Puppet. See the documentation linked above for complete details.

If you were stalled on 2.7.17 due to bug 15561, upgrading to 3.2 should fix your problems.

(Issues 155611786419271, and 20027)

Modulo Operator

Special thanks to: Erik Dalén.

The new %modulo operator will return the remainder of dividing two values.

(Issue 18950)

Better Profiling and Debugging of Slow Catalog Compilations

Special thanks to: Andy Parker and Chris Price.

If you set theprofilesetting totruein an agent node’s puppet.conf (or specify–profileon the command line), the puppet master will log additional debug-level messages about how much time each step of its catalog compilation takes.

If you’re trying to profile, be sure to check the–logdestand–debugcommand-line options on the master — debug must be on, and messages will go to the log destination, which defaults to syslog. If you’re running via Passenger or another Rack server, these options will be set in the config.ru file.

To find the msessages, look for the stringPROFILEin the master’s logs — each catalog request will get a unique ID, so you can tell which messages are for which request.

(Issue 17190)

General Improvements and Fixes

Splay Fixes for Puppet Agent

The splaysetting promised relief from thundering-herd problems, but it was broken; the agents would splay on their first run, then they’d all sync up on their second run. That’s fixed now.

(Issues 14766 and 18211)

Cron Fixes

Special thanks to: Felix Frank, Stefan Schulte, and Charlie Sharpsteen.

The cron resource type is now much better behaved, and some truly ancient bugs are fixed.

(Issues 5936561453225130475752161211680919716, and 19876)

Module Tool Improvements

Thepuppet modulecommand no longer misbehaves on systems without GNUtarinstalled, and it works on Windows now.

(Issues 112761354214728182291912819409, and 15841)

Hiera-Related Fixes

The calling_moduleandcalling_classpseudo-variables were broken, and automatic parameter lookup would die when it foundfalsevalues. These bugs are both fixed.

(Issues 14985 and 17474)

puppet:///URIs Pointing to Symlinks Work Now

Special thanks to: Chris Boot.

In older versions, asource => puppet:///…..URI pointing to a symlink on the puppet master would fail annoyingly. Now Puppet follows the symlink and serves the linked content.

(Issue 7680)

Puppet Apply Writes Data Files Now

Special thanks to: R.I. Pienaar.

Puppet apply now writes the classes file and resources file. If you run a masterless Puppet site, you can now integrate with systems like MCollective that use these files.

(Issue 14544)


Tagged with:  

Comments are closed.