All,

Due to an error on my part munging the various commits for the
changelog, a substantial number of commits didn't make it into the
changelog in the original email. Below is an updated changelog. I
sincerely apologize for any confusion.  A more accurate reflection of
the contributors for this release is:

Dustin J. Mitchell, Patrick Carlisle, Nick Lewis, Jakob Holy, R. Tyler
Croy, Michael Stahnke, Josh Cooper, Moses Mendoza, Will Hopper,
nfagerlund, Daniel Pittman, Ken Barber, Dominic Cleal, Stefan Shulte,
Dominic Maraglia, Matthaus Litteken, Jeff McCune, Franz Pletz, Andy
Sykes, and codec.

Rather than add even more confusion to this email by including commit
messages I'm updating the Puppet Release Notes at
http://projects.puppetlabs.com/projects/puppet/wiki/Release_Notes with
additional substantial changes and highlights I missed.

Moses

## Changelog ##
 Andrew Parker (5)
     1dd660a (Maint) Remove reference to Patchwork
     b73d0dd (#15595) Improve message on SSL errors
     9567ec8 (#15595) Clear up tests around ssl errors
     57a74f7 (13070) Mark files as loaded before we load
     690c39b (Maint) Require the right file for md5

 Hailee Kenny (6)
     a26d1ee Replace "the short version" with outline
     6a43e96 Update CONTRIBUTING.md
     c44973c (Maint) Remove some more ambiguity
     00b563d (Maint) Be more honest about submission methods
     b90c92b (Maint) Clarify that Redmine tickets are mandatory
     62c14bd (Maint) Clarify which branches changes should be based on

 Dustin J. Mitchell (3)
     ccca77f use error_message instead of error
     3809b59 updates as requested
     e7b3049 (#15595) Offer better errors for certificate validation errors

 Patrick Carlisle (7)
     c236001 Use rspec 2.11 compatible block syntax
     04fbccd Try again to avoid circular dependency in file indirections
     3e23686 Avoid circular requirement in FileMetadata indirection
     44ada58 Extract host validation in store report processor
     91df2f3 Use cross-platform absolute paths in file_serving tests
     b227aa1 Remove useless tests for Envelope
     86ccca4 Clear deprecation warnings between tests

 Nick Lewis (2)
     b504ab7 Fix buggy resource title tests
     cc4d8d2 Don't allow resource titles which aren't strings

 Jakob Holy (1)
     c0a0a45 tidy.rb: Added info about the default value of 'type' to the doc.

 R. Tyler Croy (1)
     2d994c2 Switch Rakefile off deprecated rake/gempackagetask

 Michael Stahnke (1)
     7324f54 Update main readme to have links to contrib and dev docs

 Josh Cooper (11)
     a23cf6e (Maint) Don't assume paths are absolute
     125ecec (Maint) Spec test wasn't testing anything
     4c18d08 (#14964) Unlink Tempfiles consistently across different
ruby versions
     8efc492 (#13489) Use let to memoize instance variables
     03d546e (Maint) Document common Windows issues
     761b48f (#11868) Use `Installer` automation interface to query
package state
     dc5f57c (#13489) Synchronously start and stop services
     3ada851 (#14964) Don't fail if we can't unlink the Tempfile on Windows
     d7e77eb (#14749) Clear reference to invalid task after saving
     a2d9597  (#13008) Allow scheduled task arguments to be specified
     c6af946 (#13009) Compare scheduled task commands using backslashes

 Moses Mendoza (1)
     dd96d84 Determine packaging version with git describe

 Will Hopper (3)
     c7e4ca7 (#15221) Create /etc/puppet/modules directory for puppet
module tool
     300fce9 (#14909) Update createpackage.sh to resolve permissions issues
     ddf8358 Update logrotate config to not restart puppetmasterd

 nfagerlund (1)
     c05489b (Maint:) Fix bad doc strings for two settings ("wether")

 Daniel Pittman (6)
     37742db Eliminate require calls at runtime.
     be5fcf4 Fix broken TransBucket transformation tests.
     8f99187 Fix broken ability to remove resources from the catalog.
     9bd4fd3 Fix type check when transforming catalog.
     825b80d Fix all trivial "should to must" errors in our tests.
     7a7bea7 Enforce "must not should" on Puppet::Type instances in tests.

 Ken Barber (1)
     9f0bf4 (#14962) PMT doesn't support setting a relative modulepath

 Dominic Cleal (3)
     39f425f (#15078) Document USR2 log rotation signal
     5146397 (#13379) Add path of pluginsync'd lenses to Augeas
load_path automatically
     087d5ae (#7285) Add spec for Augeas initialisation and file loading

 Stefan Shulte (5)
     0d5a46a (#14600) Fix cleanup of tempfiles in file_spec
     0219818 (#14531) Change default ensure value from symlink to link
     b572810 (#14599) Handle ENOTDIR in file type
     0859364 (#13880) Add openrc spec - service with extreme long name
     af6f7ba (#13880) Add openrc service provider for Gentoo and Funtoo

 Dominic Maraglia (1)
     2141905 (maint) Add --test to puppet run

 Matthaus Litteken (8)
     da771cb (maint) Add symlink stub to gentoo service provider spec
     0e87fe1 Add comment to upstart provider explaining exclusion of
'wait-for-state'
     0cab9ee Upstart code cleanup, init provider improvement
     91628be Add spec test for network-interface-security
     b60ad19 Add basic service resource test to upstart acceptance
     a6245f9 Handle network-interface-security in upstart
     60e37b6 Add exclude list to upstart provider
     2911fec (#15027, #15028, #15029) Fix upstart version parsing

 Jeff McCune (1)
     0b01bb3 (#14860) Fix puppet cert exit status on failures

 Franz Pletz (1)
     2fc7191 (#9160) Change logging facility to debug for not
supported provider features

 Andy Sykes (1)
     06eb9a9 Fixes for #10915 and #11200 - user provider for AIX

codec (1)
     ed73845 (#10354) added delete command to fix missing userdel flag
in useradd provider



On Wed, Aug 1, 2012 at 5:51 PM, Moses Mendoza <[email protected]> wrote:
> Puppet 2.7.19rc1 is a maintenance release candidate for Puppet in the
> 2.7.x series. It includes bug fixes, including improvements around the
> Windows package provider. This release is largely the result of a
> recent effort to reduce open Pull Requests against Puppet and contains
> a number of contributions from Puppet community members.
>
> Downloads are available at:
>  * Source https://downloads.puppetlabs.com/puppet/puppet-2.7.19rc1.tar.gz
>
> Windows package is available at
> https://downloads.puppetlabs.com/windows/puppet-2.7.19rc1.msi
>
> RPMs are available at https://yum.puppetlabs.com/el or /fedora
>
> Debs are available at  https://apt.puppetlabs.com
>
> Mac package is available at
> https://downloads.puppetlabs.com/mac/puppet-2.7.19rc1.dmg
>
> See the Verifying Puppet Download section at:
> https://projects.puppetlabs.com/projects/puppet/wiki/Downloading_Puppet
>
> Please report feedback via the Puppet Labs Redmine site, using an
> affected puppet version of 2.7.19rc1:
> http://projects.puppetlabs.com/projects/puppet/
>
> This release contains contributions from Andrew Parker, Hailee Kenny,
> Dustin J. Mitchell, Patrick Carlisle, Nick Lewis, Jakob Holy, R. Tyler
> Croy, Michael Stahnke, Josh Cooper, Moses Mendoza, Will Hopper,
> nfagerlund, Daniel Pittman, Ken Barber, Dominic Cleal, and Stefan
> Shulte.
>
> This release does not address (#15561) regarding slashes in certnames.
> This remains a known issue.
>
> ## Puppet 2.7.19c1 Release Notes ##
>
> (#11868) Use `Installer` automation interface to query package state
>
>     Previously, Puppet recorded MSI packages it had installed in a YAML
>     file. However, if the file was deleted or the system modified, e.g.
>     Add/Remove Programs, then Puppet did not know the package state had
>     changed.
>
>     Also, if the name of the package did not change across versions, e.g.
>     VMware Tools, then puppet would report the package as insync even though
>     the installed version could be different than the one pointed to by the
>     source parameter.
>
>     Also, `msiexec.exe` returns non-zero exit codes when either the package
>     requests a reboot (194), the system requires a reboot (3010), e.g. due
>     to a locked file, or the system initiates a reboot (1641). This would
>     cause puppet to think the install failed, and it would try to reinstall
>     the packge the next time it ran (since the YAML file didn't get
>     updated).
>
>     This commit changes the msi package provider to use the `Installer`
>     Automation (COM) interface to query the state of the system[1]. It will
>     now accurately report on installed packages, even those it did not
>     install, including Puppet itself (#13444). If a package is removed via
>     Add/Remove Programs, Puppet will re-install it the next time it runs.
>
>     The MSI package provider will now warn in the various reboot scenarios,
>     but report the overall install/uninstall as successful (#14055).
>
>     When using the msi package resource, the resource title should match the
>     'ProductName' property in the MSI Property table, which is also the
>     value displayed in Add/Remove Programs, e.g.
>
>         package { 'Microsoft Visual C++ 2008 Redistributable - x86
> 9.0.30729.4148':
>           ensure => installed,
>           ...
>         }
>
>     In cases where the ProductName does not change across versions, e.g.
>     VMware Tools, you MUST use the PackageCode as the name of the resource
>     in order for puppet to accurately determine the state of the system:
>
>         package { '{0E3AA38E-EAD3-4348-B5C5-051B6852CED6}':
>           ensure => installed,
>           ...
>         }
>
>     You can obtain the PackageCode in ruby using:
>
>         require 'win32ole'
>         installer = WIN32OLE.new('WindowsInstaller.Installer')
>         db = installer.OpenDatabase(path, 0)
>         puts db.SummaryInformation.Property(9)
>
>     where <path> is the path to the MSI.
>
>     The msi provider does not automatically compare PackageCodes when
>     determining if the resource is insync, because the source MSI could be
>     on a network share, and we do not want to copy the potentially large
>     file just to see if changes need to be made.
>
>     The msi provider does not use the `Installer` interface to perform
>     install and uninstall, because I have not found a way to obtain useful
>     error codes when reboots are requested. Instead the methods
>     `InstallProduct` and `ConfigureProduct` raise exceptions with the
>     general 0x80020009 error, which means 'Exception occurred'. So for now
>     we continue to use msiexec.exe for install and uninstall, though the msi
>     provider may not uninstall multi-instance transforms correctly, since
>     the transform (MST) used to install the package needs to be respecified
>     during uninstall. This could be resolved by allowing uninstall_options
>     to be specified, or figuring out how to obtain useful error codes when
>     using the `Installer` interface.
>
>     [1] 
> http://msdn.microsoft.com/en-us/library/windows/desktop/aa369432(v=vs.85).aspx
>
> (#14964) Unlink Tempfiles consistently across different ruby versions
>
>     The previous fix for #14964 relied on inconsisent behavior of ruby 1.8's
>     `Tempfile#close!` method, which is called by `close(true)`.  Although
>     the ruby documentation says `close!` is the same as `delete` followed by
>     `unlink`, the exact semantics are different.  The former calls the
>     Tempfile's finalizer callback directly and can raise an `Errno::EACCES`,
>     while `unlink` never does.
>
>     In ruby 1.9, the `Tempfile#close!` method was changed to call `unlink`,
>     making the two APIs consistent.  As a result, the begin-ensure block
>     added previously to fix #14964 was wrong.
>
>     Also, previously if the call to `read` failed, then the Tempfile would
>     not be closed and deleted until its finalizer ran.
>
>     This commit changes the `wait_for_output` method to close and unlink the
>     Tempfile in two steps.  The `unlink` method will not raise an
>     `Errno::EACCES` in either ruby 1.8 or 1.9.   It also changes the `read`
>     call to occur within the begin-ensure block, so that the Tempfile is
>     closed and unlinked as soon as we are done with it.
>
> (Maint) Require the right file for md5
>
>     md5 doesn't exist on 1.9.3. It seems to have been an alias in previous
>     versions of ruby for digest/md5. Requiring the other file directly
>     allows this to work on all supported rubies.
>
> *Don't allow resource titles which aren't strings
>
>     It was possible to create resources whose titles weren't strings, by
>     using a variable containing a hash, or the result of a function which
>     doesn't return a string. This can cause problems resolving relationships
>     when the stringified version of the title differs between master and
>     agent.
>
>     Now we will only accept primitives, and will stringify them. That is:
>     string, symbol, number, boolean. Arrays or nested arrays will still be
>     flattened and used to create multiple resources. Any other value (for
>     instance: a hash) will cause a parse error.
>
> *Eliminate require calls at runtime.
>
>     Calling `require` is a surprisingly expensive operation, especially if
>     ActiveRecord has been loaded.  Consequently, the places where we do that 
> in
>     the body of a function are hot-spots in the profile.
>
>     They are also, generally, pretty simple and clear wins: almost all
> of them can
>     simply require the library the first time they are loaded and
> everything will
>     work fine.
>
>     In my testing with a complex, real-world set of manifests this reduces 
> time
>     spent by ~ 3 wall-clock seconds in require and all children.
>
> *Fix broken ability to remove resources from the catalog.
>
>     For the last forever, the Puppet catalog object has unable to
> remove resources
>     correctly - they used the wrong key to remove items from an internal map.
>
>     Because the test was broken we also ran into a situation where this simply
>     wasn't noticed - and, presumably, we simply didn't depend on this
> in the real
>     world enough to actually discover the failure.
>
>     This fixes that, as well as the bad test, to ensure that the feature works
>     correctly, and that it stays that way.
>
> (#14962) PMT doesn't support setting a relative modulepath
>
>     We previously fixed expansion for the target_dir, but this only
> worked when the
>     target_dir was set explicitly, it didn't support relative paths
> being passed in
>     the modulepath. This patch fixes that and adds tests.
>
>     As a side-effect, this should also fixes cases where the first modulepath
>     defined in the configuration file is relative.
>
>     It also corrects the tests previously applied for expanding the
> target_dir, as
>     it used to rely on expanding the target_dir before adding it to
> the modulepath.
>     This wasn't necessary, so now we don't bother testing that the targetdir 
> is
>     expanded in the modulepath after being added.
>
>     Acceptance tests have been added for testing modulepath, with absolute
>     and relative paths.
>
> (#15221) Create /etc/puppet/modules directory for puppet module tool
>
>     Previously, this directory was not created by the package,
>     which caused errors when the puppet module tool was used
>     to install modules. This commit updates the RPM spec file
>     to create this directory upon installation of the package.
>
> (13070) Mark files as loaded before we load
>
>     There is a loading cycle that occurs in some situations. It showed up as
>     not being able to describe certain types because the description
>     depended on the name of the type's class. For some reason (that is not
>     entirely clear) the multiple loading of code seems to cause the name of
>     the class to be wrong.
>
>     This patch changes it to mark the file as loaded first, so that we don't
>     get into a loading cycle.
>
> ## Puppet 2.7.16rc1 Changelog ##
>
> Andrew Parker (5)
>     1dd660a (Maint) Remove reference to Patchwork
>     b73d0dd (#15595) Improve message on SSL errors
>     9567ec8 (#15595) Clear up tests around ssl errors
>     57a74f7 (13070) Mark files as loaded before we load
>     690c39b (Maint) Require the right file for md5
>
> Hailee Kenny (6)
>     a26d1ee Replace "the short version" with outline
>     6a43e96 Update CONTRIBUTING.md
>     c44973c (Maint) Remove some more ambiguity
>     00b563d (Maint) Be more honest about submission methods
>     b90c92b (Maint) Clarify that Redmine tickets are mandatory
>     62c14bd (Maint) Clarify which branches changes should be based on
>
> Dustin J. Mitchell (3)
>     ccca77f use error_message instead of error
>     3809b59 updates as requested
>     e7b3049 (#15595) Offer better errors for certificate validation errors
>
> Patrick Carlisle (7)
>     c236001 Use rspec 2.11 compatible block syntax
>     04fbccd Try again to avoid circular dependency in file indirections
>     3e23686 Avoid circular requirement in FileMetadata indirection
>     44ada58 Extract host validation in store report processor
>     91df2f3 Use cross-platform absolute paths in file_serving tests
>     b227aa1 Remove useless tests for Envelope
>     86ccca4 Clear deprecation warnings between tests
>
> Nick Lewis (2)
>     b504ab7 Fix buggy resource title tests
>     cc4d8d2 Don't allow resource titles which aren't strings
>
> Jakob Holy (1)
>     c0a0a45 tidy.rb: Added info about the default value of 'type' to the doc.
>
> R. Tyler Croy (1)
>     2d994c2 Switch Rakefile off deprecated rake/gempackagetask
>
> Michael Stahnke (1)
>     7324f54 Update main readme to have links to contrib and dev docs
>
> Josh Cooper (5)
>     a23cf6e (Maint) Don't assume paths are absolute
>     125ecec (Maint) Spec test wasn't testing anything
>     4c18d08 (#14964) Unlink Tempfiles consistently across different
> ruby versions
>     03d546e (Maint) Document common Windows issues
>     761b48f (#11868) Use `Installer` automation interface to query package 
> state
>
> Moses Mendoza (1)
>     dd96d84 Determine packaging version with git describe
>
> Will Hopper (2)
>     c7e4ca7 (#15221) Create /etc/puppet/modules directory for puppet module 
> tool
>     300fce9 (#14909) Update createpackage.sh to resolve permissions issues
>
> nfagerlund (1)
>     c05489b (Maint:) Fix bad doc strings for two settings ("wether")
>
> Daniel Pittman (6)
>     37742db Eliminate require calls at runtime.
>     be5fcf4 Fix broken TransBucket transformation tests.
>     8f99187 Fix broken ability to remove resources from the catalog.
>     9bd4fd3 Fix type check when transforming catalog.
>     825b80d Fix all trivial "should to must" errors in our tests.
>     7a7bea7 Enforce "must not should" on Puppet::Type instances in tests.
>
> Ken Barber (1)
>     9f0bf4 (#14962) PMT doesn't support setting a relative modulepath
>
> Dominic Cleal (1)
>     39f425f (#15078) Document USR2 log rotation signal
>
> Stefan Shulte (1)
>     0d5a46a (#14600) Fix cleanup of tempfiles in file_spec

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en.

Reply via email to