Skip to content

Instantly share code, notes, and snippets.

@ahpook
Forked from hlindberg/Puppet 3.3.0 Relase Notes
Last active December 22, 2015 06:28
Show Gist options
  • Save ahpook/6430794 to your computer and use it in GitHub Desktop.
Save ahpook/6430794 to your computer and use it in GitHub Desktop.
Puppet 3.3.0 Release Notes
==========================
For the full list of closed issues specific to 3.3.0 see [this list in
Redmine](http://projects.puppetlabs.com/versions/401), containing 17 new
features, and 67 bugs closed.
New Features
------------
#### #2628: It would be useful if node name regexps set $1
It is now possible to use the variables `$0` to `$n` regular expression
match-variables set when using a regular expression node-name in a node
declaration.
#### #6561: Better looking CSS for puppet doc rdoc mode
The standard skin for the puppet Rdocs has been updated to increase
readability.
#### #16792: permit to remove more than 1 package using urpmi provider
It was tedious to remove some packages when using the urpmi provider since it
only allowed to remove one package at the time, and that removal must be made
in dependency order. Now, the urpmi provider behaves similar to the apt
provider.
#### #16856: puppet should support data in modules
This feature makes it possible to contribute data bindings from modules to a
site-wide hierarchy of data bindings. This feature is introduced as an opt-in,
and it is turned on via the setting `binder=true`. It is turned on by default
with using the option `parser future`. The implementation is based on [ARM-9
Data in Modules](http://links.puppetlabs.com/arm9-data_in_modules), which
contains the background, a description, and a set of examples.
#### #22375 Filebucket improvements
There were a number of problems with the remote filebucket functionality for
backing up files under puppet's management over the network. It is now possible
to back up binary files, which previously would consume lots of memory and
error out. Non-binary filebucket operations should also be faster as we
eliminated an unnecessary network round-trip that echoed the entire contents
of the file back to the agent after it was uploaded to the server.
#### #18255: accept 301 response from fileserver
Puppet http-client now follows HTTP redirects. The new functionality includes a
redirection limit, and it recreates the redirected connection with the same
certificates and store as the original (as long as the redirect new location is
ssl protected). Redirects are performed for GET, HEAD, and POST requests.
With this feature it is now possible to support custom implementation of
features like redirect to closest server.
#### #20284: Output one item per line for arrays in console output
This changes the output to console from faces applications to output array
items with one item per line.
#### #21170: enhancement of the module generate functionality
This change allows specifying the module tool skeleton directory
(`module_skeleton_dir`) directly instead of always having is set to the (now
default) `$module_working_dir/skeleton`.
#### #21427: Deprecate YAML for network data transmission
YAML has been the cause of many problems. This starts the transition to remove
the use of YAML over the network by deprecating all of the places where the
master accepts it, changing the agent to no longer request it, and also
changing the agent to no longer send it (reports and query parameters).
This has the effect that a master without these changes will not be able to
correctly understand requests from an agent with these changes. Out of the box
this causes an error submitting reports to a <= 3.3.0 master from 3.3.0 agents.
To avoid errors and retain the advantages of JSON serialization, upgrade your
masters first, then the agents. If you must run new agents against older masters,
set the new `report_serialization_format` setting to `yaml` in your agents'
puppet.conf.
#### #21452: Add s3_enabled option to the yumrepo type
It is now possible to use a yum repo stored in AWS S3 (via the yum-s3-iam
plugin). This change makes it possible to set the s3_enabled option required to
use yum repos in this way.
#### #21749: Make attributes readable on Puppet::ModuleTool::Dependency objects
This change makes it possible for those that want to deal with module meta data
programmatically in Ruby to access a dependency's attributes.
#### #21831: Generate a UUID for catalog retrieval and report posts
A UUID that spans the lifetime of a catalog is now generated and included in
reports related to that catalog. It can be used to retrieve information by
using the parameter `transaction_uuid`.
#### #22205: Order of resource application should be selectable by a setting.
The setting `ordering` has been added to control the default ordering to use in
the absence of any dependency information. By default this is `'title-hash'`,
which is an opaque, stable, random order. The value of `'manifest'` will use
the order in which the resources were added to the catalog, which matches the
order that the puppet language executes. The final value of `'random'` causes
resources to be assigned a random order, while still obeying declared
dependencies.
## Provider Improvements
#### #19875: Get package descriptions from RAL
Previously Rpm and Dpkg provider implementations obtained package information
from the system without capturing package description information.
This change adds captures of a single line description summary.
#### OpenBSD Package Enhancements
Jasper Lievisse Adriaanse contributed several improvements and fixes
to the OpenBSD package provider.
It is now possible to use `+=` when defining the `installpath` for OpenBSD.
Previously an attempt to use this was ignored. With this it's possible to have
a pkg.conf like:
installpath = foo
installpath += bar
Which will be turned into a `PKG_PATH: foo:bar`. (#21930)
It is now possible to specify `install_options` and `uninstall_options` for the
OpenBSD package provider. These were previously not available. (#22021)
It is now possible to use `purge` with the OpenBSD package provider. (#22023)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment