Puppet 2.7.14rc1 is a maintenance release candidate for Puppet in the
2.7.x series.

This release is on the heels of Puppet 2.7.13 because our regular
monthly release for April got preempted by our security release.

Downloads are available:
 * Source http://downloads.puppetlabs.com/puppet/puppet-2.7.14rc1.tar.gz

## Community MVP for this release: Dominic Cleal for
     #11988 and #13204 - Augeas provider improvements

## Puppet 2.7.14rc1 Highlights ##

## Features ##
    Puppet Module Tool Face - the module tool has seen a host of
improvements including dependency resolution, environment handling,
and searching the forge. There are more details available at
http://docs.puppetlabs.com/puppet/2.7/reference/modules_installing.html

## Bug Fixes ##
Better warnings about scoping
        Make new scoping look through inherited scopes

    Previous to this commit, Puppet would look through a given scope
    hierarchy and give deprecation warnings when a value was found in either
    an inherited class scope or included class scope, when it should only
    give the warning in the case of the included class scope.

    This commit makes the new-scope behavior also examine inherited scopes,
    though continuing to ignore included scopes.

        Implement newlookupvar() to replace dynamic scope

    lookupvar() is shifted to oldlookupvar() and newlookupvar() is added. An
    intermediary lookupvar() function will query both and if the answer
    varies then it will throw a deprecation warning for dynamic scoping. The
    intermediary and old lookup functions may be removed at a later date,
    thus completing the transition.

    A test case has been introduced to detect dynamic scoping and the
    deprecation warning. Slight modifications to the spec test scoping
    objects were made to bring them more in line with the real world.

    All scope tests pass. When oldlookupvar is replaced, the deprecated
    dynamic scoping test case will fail and all other scope test cases will
    pass.


Augeas Improvements
        (#11988) Work around Augeas reload bug when changing save modes

    After saving a file in one save mode and switching to another,
Augeas realise
    to reload the file when Augeas#load is called again.  Work around this by
    explicitly reloading all files we saved while using the first save mode.

        (#11988) Don't overwrite symlinks in augeas provider

    Previously, if not running with `force` set, we would try to write the
    file in SAVE_NEWFILE mode to create a <filename>.augnew file with the
    changes. We determined whether there were changes to be made based on
    that file (and used it to show a diff). When it came time to actually
    make the changes, we would simply move the .augnew file over the file
    being managed. Unfortunately, if the file being managed were a symlink,
    this would clobber it.

    There was a fallback path in the case of force (or older versions of
    augeas not supporting SAVE_NEWFILE) in which we would make the
    changes in SAVE_OVERWRITE mode as normal. Now, the behavior is a
    combination of the two; we still use SAVE_NEWFILE to determine whether
    changes need to be made and to show a diff, but then remove the .augnew
    file and always run again in SAVE_OVERWRITE mode to save the changes.
    This effectively delegates the behavior of preserving the file, etc.
    to augeas, so we don't duplicate effort or bugs.

        (#13204) Don't ignore missing PATH.augnew files

    The original fix for #13204 may have masked other potential bugs if the
    PATH.augnew file was missing.  It simply tested for the file
existance and not
    only when duplicate save events occurred.

    This change de-duplicates the list of save events instead, so if a
bug appeared
    where PATH.augnew was genuinely missing, the error wouldn't be squashed.

        (#13204) Workaround duplicate Augeas save events

    Bug #264 in Augeas causes duplicate save events to be returned when editing
    under /boot in newfile mode.  Because we loop around these events,
diffing and
    unlinking the files, this causes an ENOENT error when we process
the same event
    twice.

    This commit checks that the file we intend to operate on exists.

        (#7592) Remove redundant call to String#to_s

    Previously, the augeas provider made calls like the following:

     @aug.get(key).to_s

    Since the Augeas#get method returns a String not an array, the to_s
    call is redundant. (Note the #match method does return an array.)

    The augeas tests were stubbing the #get method to return an array in
    some places (and a string in others). Prior to 1.9.2, ruby will
    automatically convert ["foo"].to_s to "foo", so everything worked as
    expected. However, under 1.9.2, ["foo"].to_s becomes "[\"foo\"]".

    These failures weren't noticed earlier, because our 1.9.2@allFeatures
    jenkins nodes do not have ruby-augeas installed. In other words, tests
    that require Puppet.features.augeas? were never running in
    Jenkins. The recent change to improve augeas testing, removed the
    dependency on this feature being installed, so these tests started
    failing.

    This commit just removes the redundant call to String#to_s, and
    updates the spec tests to match what the Augeas#get method really
    returns.

Zypper Provider Improvements
        (#8312) Fix zypper provider so ensure => 'latest' now works

    Previously the regular expression to match the correct column from
    'zypper list-updates' was wrong, it seems to have been based on the command
    'zypper packages' instead. This was caused ensure => 'latest' to fail as the
    provider couldn't adequately figure out what newer versions were actually
    availabe.

    So I've fixed the regular expression (based on Felix Frank's
patch) and updated
    the spec test so that it uses the real output from zypper
list-updates and now
    references an external spec file, as apposed to referencing the
content inline.

Windows Bugfixes
        (#12392) Created Windows eventlog message resource dll

    This commit adds the ability to build a message resource dll used to
    display localized eventlog messages on Windows. Windows eventlog expects
    that each log event has a unique id, which can then be localized in a
    resource dll, one for each locale. However, puppet does not yet support
    this, see #11076. So this commit defines three puppet event ids
    corresponding to the three levels of Windows events that we support
    (info, warn, and error).

    In order to build the dll, you need the Windows SDK installed that
    contains the mc, rc, and link utilities.

        (Maint) Don't assume eventlog gem is installed on Windows

    Previously, the test would fail when run on a Windows box that didn't
    have the eventlog gem installed. Since the Windows agent should be able
    to run without the gem installed, and fall back to writing to a log
    file, this commit changes the test to only run when the gem is
    installed. There is already a test that verifies that we fall back if
    the eventlog feature is not available.


It includes contributions from the following people:
Andrew Parker, Chris Price, Daniel Pittman, Dominic Cleal, Gary
Larizza, Hunter Haugen, Jeff McCune, Jeff Weiss, Josh Cooper, Justin
Stoller, Kelsey Hightower, Ken Barber, Lauri Tirkkonen, Matt Robinson,
Matthaus Litteken, Moses Mendoza, Nicholas Hubbard, Nick Lewis, Nick
Fagerlund, Nigel Kersten, Patrick Carlisle, Pieter van de Bruggen,
Reid Vandewiele, and Stefan Schulte

See the Verifying Puppet Download section at:
 
http://projects.puppetlabs.com/projects/puppet/wiki/Downloading_Puppet#Verifying+Puppet+Downloads

Please report feedback via the Puppet Labs Redmine site, using an
affected version of 2.7.14rc1:
 http://projects.puppetlabs.com/projects/puppet

Full Release Notes at:
http://projects.puppetlabs.com/projects/puppet/wiki/Release_Notes#2.7.14rc1

Puppet 2.7.14rc1 Changelog
===

Andrew Parker (9):
      b85cdc9 Fixup tests to work on CentOS 5
      9aa302f Increased test coverage of scoping rules
      9711d50 Created test that shows enc warning problem
      72d3b56 Default autoflushing of log files to true
      878127f Make sure the log file writable
      fb96747 Fixed old log test to match new autoflush behavior
      2d3cc63 Fixing problem caused by activerecord
      d67711d Cleaner test for create_resources doing nothing
      0d9e852 Removed duplication of compiling a catalog

Chris Price (5):
      e24755d (#13397) fix gem provider ensure=>latest bug
      fc2964f fix bug in Util#symbolizehash!
      b6ee08a (#13690) Update 2.7.x for spec_helper compatibility with
external projects
      2ff6fe4 (#13690) add comments to spec_helper
      2957ffe Fix tempfile cleanup in specs

Daniel Pittman (23):
      2732f25 (#12479) Don't make undef regexp match as the string undef.
      d00c5cc (#12457) add users primary group, not Process.gid, in initgroups
      50909b9 (#12458) default to users primary group, not root, in `asuser`
      76d0749 (#12459) drop supplementary groups when permanently dropping UID
      0ad532a (#12463) add secure `replace_file` to Puppet::Util
      8461203 (#12462) user_role_add: use `replace_file` for /etc/shadow
      1469538 (#12460) use `replace_file` for the .k5login file
      ead36ff (#12463) eliminate `secure_open` in favour of `replace_file`
      dd6d36c Fix Rails compatibility code to be less stupid.
      3857e2b Fix stubbing of ActiveRecord that doesn't work in AR 3.2.*
      17a5302 Make PuppetSpec::Files methods available at module level.
      600a6e7 Clean up and unify scratch database setup logic.
      30a23ac (#4862) Stop using EventLoop in the Puppet daemon.
      11501a7 (#4862) `returning` is not a standard Ruby method.
      8e11766 (#4862) define_method is not a public method in Ruby.
      dba27c9 (#4862) Finally remove the event-loop library.
      01c8623 Don't stub the database in Puppet::Rails tests.
      d27af92 Stubbing time is risky, better an approximate compare.
      d6da1b7 Fix hash comparison under RSpec with 1.8.5
      ec5c4bf Document the problem with the `apply_to_device` and
related methods.
      eb2c71b Clean up "foo" name in global resource state.
      245f1b9 Clean up the "foo" name in create_resources_spec.
      40ee256 Finally, stop using the `foo` name in the type_spec test.

Dominic Cleal (3):
      2973d5c (#11988) Work around Augeas reload bug when changing save modes
      0498d55 (#13204) Workaround duplicate Augeas save events
      c01cac9 (#13204) Don't ignore missing PATH.augnew files

Gary Larizza (1):
      a26ff16 [#13686] Fix directoryservices ShadowHashData code

Hunter Haugen (6):
      9c94586 Tests for deprecation warnings for dynamic scoping
      2e78aad Implement newlookupvar() to replace dynamic scope
      48bce6b Remove dynamic option for lookupvar
      b519e24 Add tests for mixed inheritence/inclusion
      2ddb3d6 Make new scoping look through inherited scopes
      163ab8c Use more descriptive terms for the differing scopes

Jeff McCune (1):
      1306611 (maint) Remove unnecessary step from puppet module build help

Jeff Weiss (1):
      db17d7c (#13380) Cron acceptance tests don't ensure cron
actually installed

Josh Cooper (8):
      452e2c4 (#7592) Remove redundant call to String#to_s
      bdb5922 (Maint) Don't change permissions on /etc/hosts
      43003f5 (Maint) Consistently use the same agent fqdn
      f0625ef (#12392) Created Windows eventlog message resource dll
      8d2ff89 (#12392) Add eventlog destination and log to it by
default on Windows
      100f42c (#12392) Don't require eventlog gem on non-Windows platforms
      f531400 (Maint) Don't assume eventlog gem is installed on Windows
      d54100d (Maint) Fix order-dependent test failure

Justin Stoller (1):
      60b7aa5 Prior to this commit we hard coded paths in two tests
that depended on our CI system directory structure. This made it hard
to use our acceptance suite without also including the exact same
setup. It also increased the cost of maintaining our CI setup.

Kelsey Hightower (10):
      1b810b1 (#3581) Stop forking around: Add fork helper method
      245c6b7 (#9167) Do not send email when nothing changes
      a2990a8 (#13737) Swap build_tree and format_tree method names
      45f8009 (#13638) Add SemVer#pre function
      28531f8 (#13639) Don't send errors directly to stderr
      6819cf3 (#13642) Move search notice message
      9cbda49 (#13643) Make the use of FileUtils.rm_rf secure
      e7d3911 (#13649) Restrict module name matching
      bca4849 (#13636) Update Module Face copyright date
      7afcb04 (#9167) Do not send email when nothing changes

Ken Barber (1):
      27bd6bc (#8312) Fix zypper provider so ensure => 'latest' now works

Lauri Tirkkonen (1):
      6a31287 (#12981) Fix external subcommand exit status

Matt Robinson (3):
      1342558 Monkey patch FileUtils.mv in Ruby 1.8.5
      271c7f2 Make core changes needed for the puppet module tool
      1de8bd7 Add Module Tool

Matthaus Litteken (3):
      a61c785 Updating CHANGELOG and lib/puppet.rb for 2.6.14
      5178adc Update puppet.spec for rpm packaging
      3a4ac60 Updating CHANGELOG, lib/puppet.rb for 2.7.14rc1

Moses Mendoza (1):
      8f84207 (#12466) unset X-Forwarded-For header

Nicholas Hubbard (1):
      27a5eb7 options[:ca_location] is a string not a symbol. Safer to
pull Puppet::SSL::Host.ca_location since it is already set correctly.

Nick Lewis (5):
      2599d56 Copy owner/group in replace_file
      0a09a64 Document uid/gid-related methods in Puppet::Util
      ade5965 Remove unnecessary fallbacks in change_{user,group}
      dfefc23 (#11988) Don't overwrite symlinks in augeas provider
      49eabd4 Quote strings containing hex numbers when generating ZAML

Nigel Kersten (1):
      ee554eb (#10722) Display errors on HTTP report submission failures

Patrick Carlisle (14):
      c4b3c84 (#9491) Preserve trailing slashes in FileSettings
      7207b68 (#10722) Refactor http_spec to use expectations
      a2208d0 (#10722) Add spec to verify that an error is logged on bad http
      ca32364 (#13117) Fix selmodule error on each_lines
      95c2b90 Stub execpipe using StringIO
      772f756 (#12101) Add shared context for specs to imitate windows or posix
      3f28268 (#12101) Make Puppet::Util::absolute_path? usable in autoloader
      7e78094 (#13659) Convert fact values to string when searching database
      a7181c8 (#13640) Only agents should use next_agent_run
      876785a Use :as_platform in the redhat service spec
      7d27cd2 Use :as_platform in the smf service spec
      e2d6915 Fix communication_error acceptance test
      79bf4fa (#13299) Fix error message when agent is disabled
      f1331ba Put back require 'puppet' in Puppet::Util

Pieter van de Bruggen (1):
      7994400 (#13367) Patch SemVer to permit ranges including
pre-release components.

Reid Vandewiele (1):
      46d8973 (#13567) Fix create_resources name parameter bug

Stefan Schulte (13):
      36e6642 (#8193) Support new keytypes for ssh_authorized_key
      5dfc436 (#8193) Support new keytypes for sshkey
      0efc65d (#8193) Add unit tests for new ssh keytypes
      a62f711 (#8193) Add support for new ssh keytypes in
authorized_key provider
      d28c62a Maint: Remove unused variable in user spec
      7eb4f5b Maint: Add a real provider class to user spec
      bc64d9b Maint: Use real objects in user spec
      e1f9957 Maint: Remove unused mock objects in user spec
      c6d656a (#1076) Show warning if an empty group is specified
      113fc54 (#7986) Cleanup pkg provider #1
      2e32924 (#7986) Cleanup pkg provider #2
      54e5d18 (#7986) Modify pkg provider to handle publisher
      0b7841a (#12960) Fix puppet resource <type> if type has no providers

cprice (1):
      f5487bd (#13439) refactor spec helper for spec compatibility
between 2.7 and master

nfagerlund (1):
      7048e88 (#3022) File type's force attribute's description is incomplete

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" 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-users?hl=en.

Reply via email to