Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
branch: master
Commits on Jan 18, 2012
  1. @daniel-pittman

    Merge pull request #298 from zsprackett/gitignore

    daniel-pittman authored
    Add gitignore to default puppet module
  2. @jeffmccune

    Merge branch 'feature/master/merge-2.7.x-branch'

    jeffmccune authored
    * feature/master/merge-2.7.x-branch: (21 commits)
      (#5246) Fix spec test expectations in 2.7.x branch
      (#11929) Always serve files in binary mode
      (#2927) Support symbolic file modes.
      Finer-grained protocol for property `insync?`.
      Whitespace damage cleanup on property.rb
      (#8341) Only load facts once per puppet run
      (#3419) Fix OS X Ruby supplementary group handling
      (#11888) Switch up2date,systemd,redhat providers to osfamily fact
      (#5246) Puppetd does not remove it's pidfile when it exits
      (#4855) Fix group resource in OS X
      Build a Rake task for building Apple Packages
      (#2773) Use launchctl load -w in launchd provider
      (#11714) Use `%~dp0` to resolve bat file's install directory
      Clean up launchd spec tests
      (#11714) Add envpuppet batch file to run Puppet from source on Windows
      (#11847) Don't hard code ruby install paths in Windows batch files
      (#11641) Properly track blockers when generating additional resources
      (#10807) Use SMF's svcadm -s option to wait for errors
      (#8341) Remove duplicate loading of facter files.
      Fix tests for #1886 with ActiveRecord 3.x
      ...
    
    Closes: GH-335
    
    Reviewed-by: Jeff McCune
Commits on Jan 13, 2012
  1. @daniel-pittman
  2. @jeffmccune

    Merge pull request #334 from daniel-pittman/feature/2.7.x/merge-2.6.x…

    jeffmccune authored
    …-branch
    
    2.7.x - merge 2.6.x branch up
  3. @daniel-pittman

    (#5246) Fix spec test expectations in 2.7.x branch

    daniel-pittman authored
    The 2.6 spec tests didn't catch the SystemExit exception thrown by the call to
    Kernel#exit in the one-time agent, while the 2.7 branch demands that.  This
    adds the extra expectation to ensure that the specs pass.
    
    Signed-off-by: Daniel Pittman <daniel@puppetlabs.com>
  4. @daniel-pittman
  5. @daniel-pittman

    Merge pull request #331 from joshcooper/ticket/2.7.x/11929-serve-file…

    daniel-pittman authored
    …s-in-binary-mode
    
    (#11929) serve files in binary mode
  6. @joshcooper

    (#11929) Always serve files in binary mode

    joshcooper authored
    Previously, Windows agents were reading files in text mode when serving
    them locally, such as when serving files from a local module, corrupting
    binary files in the process.
    
    This commit reads files in binary mode, which is a noop on Unix.
    
    Serving files from remote puppet masters was fixed in #9983.
  7. @jeffmccune

    Merge pull request #230 from daniel-pittman/feature/2.7.x/symbolic-mo…

    jeffmccune authored
    …des-for-the-file-type
    
    Feature/2.7.x/symbolic modes for the file type
  8. @daniel-pittman

    (#2927) Support symbolic file modes.

    daniel-pittman authored
    This adds a new feature, support for symbolic file modes, to Puppet.  In
    addition to being able to specify the octal mode, you can now use the same
    symbolic mode style that chmod supports:
    
        file { "/example": mode => "u=rw,go=r" }
    
    This also supports relative file modes:
    
        file { "/relative": mode = "u+w,go-wx" }
    
    Support is based on the common GNU and BSD symbolic modes of operation; you
    specify a comma separated list of actions to take in each you can sit:
    
    The user (u), group (g), other (o), or all (a) of the permission map.
    
    You can modify the ability to read (r), write (w), execute / search (x) on a
    file or directory.
    
    You can also modify the sticky bit (t), or the setuid and setgid bits (s).
    
    Finally, you can set conditional execute permissions (X), which will result in
    the file having the execute bit if the target is a directory, or if the target
    had *any* execute bit set.  (eg: g+X will set x if the original was u=x,g=.)
    
    Signed-off-by: Daniel Pittman <daniel@puppetlabs.com>
  9. @daniel-pittman

    Finer-grained protocol for property `insync?`.

    daniel-pittman authored
    Previously the protocol for a property was that it should override the entire
    `insync?` method when it wanted to do custom matching.  This worked, but meant
    that a number of bits of logic had to be replicated in each property
    individually.
    
    This changes that by introducing `property_match?(current, desired)` to the
    protocol, which is used to compare an individual current and desired propriety
    value pair.
    
    The default implementation mirrors the previous behaviour of this code, but
    now individual property implementations can override only the direct
    comparison operation and get the right behaviour more easily.
    
    Signed-off-by: Daniel Pittman <daniel@puppetlabs.com>
  10. @daniel-pittman

    Whitespace damage cleanup on property.rb

    daniel-pittman authored
    There was some whitespace damage - a function call with odd indentation and
    extraneous blank links - cleaned up; no functional changes.
    
    Signed-off-by: Daniel Pittman <daniel@puppetlabs.com>
  11. @daniel-pittman

    Merge pull request #222 from grimradical/tickets/master/7660_puppetqu…

    daniel-pittman authored
    …eue_init_script
    
    (#7660) Add init script for puppet queue
  12. @daniel-pittman

    Merge pull request #217 from domcleal/tickets/2.7.x/10807

    daniel-pittman authored
    tickets/2.7.x/10807: Use SMF's svcadm -s option to wait for errors
Commits on Jan 12, 2012
  1. @daniel-pittman

    Merge pull request #297 from nicklewis/ticket/2.7.x/11641

    daniel-pittman authored
    Ticket/2.7.x/11641 Properly track blockers when generating additional resources
  2. @daniel-pittman
  3. @pcarlisle

    (#8341) Only load facts once per puppet run

    pcarlisle authored
    Make the facter terminus the only place that loads facts (with the notable
    exception of pluginsync which loads any ruby code it syncs).
    
    This should satisfy several requirements:
        * daemonized puppet agent can get fresh facts on each run
        * puppet master can load facts
        * facts are not loaded more than once by the puppet agent fact handler
  4. @daniel-pittman

    Merge pull request #320 from joshcooper/ticket/2.7.x/11847-relocatabl…

    daniel-pittman authored
    …e-puppet-bat
    
    (#11847) Don't hard code ruby install paths in Windows batch files
  5. @daniel-pittman

    Merge pull request #328 from glarizza/bug/2.7.x/3419_osx_groups

    daniel-pittman authored
    (#3419) Fix OS X Ruby supplementary group handling
Commits on Jan 11, 2012
  1. @glarizza

    (#3419) Fix OS X Ruby supplementary group handling

    glarizza authored
    Catch Errno::EINVAL as some operating systems (OS X in particular) can
    cause troubles when using Process#groups= to change the user/process
    list of supplementary groups membership.
    
    Test coverage has been added to check for regressions.
    
    Add a test for the expected failure
  2. @daniel-pittman

    Merge pull request #327 from ripienaar/bug/2.6.x/5246

    daniel-pittman authored
    (#5246) Puppetd does not remove it's pidfile when it exits
  3. @jeffmccune

    Merge pull request #325 from glarizza/bug/2.7.x/4855_osx_group_failure

    jeffmccune authored
    (#4855) Fix group provider in OS X
  4. @jeffmccune

    Merge branch 'tickets/2.7.x/11888' into 2.7.x

    jeffmccune authored
    * tickets/2.7.x/11888:
      (#11888) Switch up2date,systemd,redhat providers to osfamily fact
    
    Closes: #326
  5. @jamtur01 @jeffmccune

    (#11888) Switch up2date,systemd,redhat providers to osfamily fact

    jamtur01 authored jeffmccune committed
    Previously the up2date, redhat and systemd providers used the
    operatingsystem fact to select defaults and constraints. This often
    meant that new operating systems using the same providers had to be
    manually added to the list of supported operating systems.
    
    This commit replaces the use of operatingsystem with osfamily meaning
    addition of new operating systems is now centralised in one place in
    Facter rather than requiring multiple updates.
    
    Tests supporting this have been added to prevent regressions.
  6. @ripienaar

    (#5246) Puppetd does not remove it's pidfile when it exits

    ripienaar authored
    The Puppet::Daemon instance sets up the pid file when it starts
    but it's up to the user of that object to arrange for stop to be
    called
    
    There are signal handlers setup to call stop but in a onetime run
    those are never called
    
    This change arrange for the stop method to be called after a onetime
    run is done but do not hand the task of exiting the application over
    to that so that the agent application can handle the report status
    based exit codes
  7. @glarizza

    (#4855) Fix group resource in OS X

    glarizza authored
    The group provider on OS X uses “dseditgroup” to manage group
    membership. Due to Apple bug 8481241 (“dseditgroup can’t remove unknown
    users from groups”), however, if the puppet group provider needs to
    remove a non-existant user from a group it manages, it will fail.
    
    To remedy this, in the meantime, the provider will call dscl to delete
    the non-existant member from the group. If that fails then the error
    is rescued and feedback is provided.
  8. @joshcooper

    Merge branch 'ticket/master/acceptance-test-breakage'

    joshcooper authored
    * ticket/master/acceptance-test-breakage:
      Maint: Actually test that a file can be sourced from remote master
      Maint: Don't use cached catalogs
  9. @joshcooper

    Maint: Actually test that a file can be sourced from remote master

    joshcooper authored
    Previously, the test was redirecting the manifest to the wrong file,
    so the master was serving an empty catalog to agents. This change was
    made in 803e92f, however, it did not actually cause an acceptance test
    failure because of bug #11764 in the acceptance test framework
    itself. The framework was fixed in commit b8cda1d, merged into master
    1/5/12, and the next run of the acceptance tests in the morning of
    1/6/12 is when the failure started.
    
    This commit changes the test to write the manifest to the right
    file. Also the commit requires puppet agent to return exit code 2,
    because we expect the agent to make changes and we are using
    `--detailed-exit-codes` (which is automatically set when using
    `--test`).
    
    Paired-with: Jeff McCune <jeff@puppetlabs.com>
  10. @joshcooper

    Maint: Don't use cached catalogs

    joshcooper authored
    Previously, the agent would attempt to connect to the master, and fail
    due to the SSL 'hostname did not match' error, but then it could use
    an empty cached catalog from a different test and return exit code 0,
    as nothing had changed.
    
    This commit ensures we don't use a cached catalog, and therefore will
    exit with a non-zero status as expected.
    
    Paired-With: Jeff McCune <jeff@puppetlabs.com>
Commits on Jan 10, 2012
  1. @daniel-pittman
  2. @stahnma

    Merge pull request #318 from glarizza/bug/2.7.x/11202_apple_rake

    stahnma authored
    Build a Rake task for building Apple Packages
  3. @glarizza

    Build a Rake task for building Apple Packages

    glarizza authored
    The goal is to have our release managers build all Puppet packages
    within Rake, and so this commit adds a rake task (apple_package) that
    will build a DMG-encapsulated package for OS X and put it into the
    pkg/apple directory off of the Puppet Root.
    
    To accomplish this goal, a folder structure is created in
    /tmp/puppet/puppet-#{version} that mirrors the structure needed for
    Apple's Packagemaker CLI tool to build a package for OS X. Next, the
    necessary files are copied from the Puppet source into the structure in
    /tmp/puppet/puppet-#{version} and then packagemaker is run
    (targeting that folder structure) to build an initial package. Hdiutil
    then encapsulates that package into a DMG, and the file is finally
    copied into the pkg/apple directory.
    
    In order to support 10.4 (which will be dropped in 2.8.x), we must
    install puppet into /usr/lib/ruby/site_ruby/1.8 as opposed to
    /Library/Ruby/Site/1.8. The prototype.plist file we bundle with the
    package we create sets the IFPkgFlagFollowLinks key to true, so as long
    as the symlink exists the package we build will respect it.
    
    There IS a bug in OS X
    (http://openradar.appspot.com/9202152) where the symlink in
    /usr/lib/ruby/site_ruby is incorrect PRIOR to the first time the OS is
    booted, but the symlink gets fixed at first boot. Users who build a
    previously-unbooted-pristine-image of OS X and who also intend to
    install Puppet on that image BEFORE it is booted may need to modify
    their package to target /Library/Ruby/Site/1.8, however we cannot do
    this at this time as OS X 10.4 DOES NOT have a /Library/Ruby/Site/1.8
    folder.
    
    Provide feedback about where package was created.
    
    Packagemaker outputs a line that says "created: ..." and lists where the
    package was created. The rake task moves the package to pkg/apple, so we
    should provide feedback that this is happening.
  4. @daniel-pittman

    Merge pull request #127 from adrienthebo/ticket/2.7.x/8341-prevent_du…

    daniel-pittman authored
    …plicate_loading_of_facts
    
    Ticket/2.7.x/8341 prevent duplicate loading of facts
  5. @daniel-pittman

    Merge pull request #92 from duritong/tickets/2.7.x/1886

    daniel-pittman authored
    Fix storedconfig tests for 1886 and reenable them
Something went wrong with that request. Please try again.