Commits on Jun 1, 2016

  1. (MODULES-3433) Write Windows PID file on upgrade

     - It can be difficult to determine when an agent upgrade has actually
       completed on Windows, because a sequence of events must occur:
    
       * the current puppet run must complete, preventing file locking
       * the install_puppet.bat script waits 5 seconds, then infinite
         loops until a given PID is no longer running (from prior run)
       * the actual MSI must run to completion (it may encounter issues if
         for some reason any Puppet services / processes are still running)
    
       This can make it very difficult to implement a deterministic
       behavior around waiting until an upgrade completes in an effort to
       synchronize / orchestrate additional actions post-upgrade.  This
       is of particular importance to tests that may eagerly perform
       validations on the upgrade prior to the upgrade actually finishing.
    
     - Improve the process by writing a %TEMP%\puppet_agent_upgrade.pid
       file during the upgrade that is cleared after an upgrade completes.
       Other external parties may use the existence of this file as an
       indicator that an upgrade is underway.
    Iristyle committed Jun 1, 2016
    Configuration menu
    Copy the full SHA
    1441154 View commit details
    Browse the repository at this point in the history
  2. (maint) Update metadata.json for Puppet 3.7

     - As part of the 1.2 release, the scope of upgrades was changed to include 3.7.  Makes sure that
       metadata.json reflects this.
    Iristyle committed Jun 1, 2016
    Configuration menu
    Copy the full SHA
    5be676d View commit details
    Browse the repository at this point in the history
  3. Merge pull request #122 from Iristyle/ticket/master/MODULES-3433-writ…

    …e-upgrade-Windows-PID-file
    
    (MODULES-3433) Write Windows PID file on upgrade
    MikaelSmith committed Jun 1, 2016
    Configuration menu
    Copy the full SHA
    904d3a5 View commit details
    Browse the repository at this point in the history
  4. Merge pull request #119 from puppetlabs/maint/master/3.7-metadata

    (maint) Update metadata.json for Puppet 3.7
    MikaelSmith committed Jun 1, 2016
    Configuration menu
    Copy the full SHA
    e5b13e8 View commit details
    Browse the repository at this point in the history

Commits on Jun 6, 2016

  1. (MODULES-3449) Stop Windows pxp-agent service

     - Previously, upgrades could fail as a result of the pxp-agent service
       holding file locks.  While we have been previously aware of the
       potential for this issue, given pxp-agent runs under nssm.exe on
       Windows, prior investigation had shown this to not be an issue on
       silent installations (see PA-65).
    
       However, in practice, while upgrading from puppet-agent 1.4.2 to
       puppet-agent 1.5.0, a running pxp-agent service is preventing
       installs from proceeding as requested with a 1603 failure. NSSM.exe
       is not affiliated with the pxp-agent service in the MSI and therefore
       the Restart Manager has no understanding that it will be later
       shutdown and unlocked.
    
       The solution is to simply request a `net stop pxp-agent` prior to
       running the MSI.  It's very important that this be done *after* the
       puppet run responsible for triggering the upgrade has been performed.
       If the pxp-agent service shutdown occurs before, then the puppet run
       will typically turn it back on as part of managing the node with the
       Puppet Enterprise modules.
    Iristyle committed Jun 6, 2016
    Configuration menu
    Copy the full SHA
    9282fc0 View commit details
    Browse the repository at this point in the history
  2. (maint) Include extra MSI debugging info in logs

     - Specifying the `x` for logging includes extra debugging information
       that can be useful when installations fail.  For instance, it will
       produce more verbose information from the Restart Manager.
    Iristyle committed Jun 6, 2016
    Configuration menu
    Copy the full SHA
    fc2bd92 View commit details
    Browse the repository at this point in the history

Commits on Jun 7, 2016

  1. Merge pull request #124 from Iristyle/ticket/master/MODULES-3449-shut…

    …down-pxp-agent-service-on-Windows-upgrades
    
    (MODULES-3449) Stop Windows pxp-agent service
    MikaelSmith committed Jun 7, 2016
    Configuration menu
    Copy the full SHA
    a136feb View commit details
    Browse the repository at this point in the history

Commits on Jun 30, 2016

  1. (PE-16317) Disable client SSL verification on Xenial

    This commit disables client SSL verification on Xenial. We had to
    do this in order to work around an issue where client ssl seems to
    not be compatible with the SSL certs that PE uses. The root cause of
    this change, and why it only occurs in Xenial, is unknown at this time.
    Brandon High committed Jun 30, 2016
    Configuration menu
    Copy the full SHA
    7e93440 View commit details
    Browse the repository at this point in the history

Commits on Jul 1, 2016

  1. Merge pull request #128 from highb/fix/master/pe-16317_xenial_client_ssl

    (PE-16317) Disable client SSL verification on Xenial
    MikaelSmith authored Jul 1, 2016
    Configuration menu
    Copy the full SHA
    5c5d34a View commit details
    Browse the repository at this point in the history
  2. (maint) Fix up tests

    Excludes a lint check we can't satisfy, and fixes up line length to
    match 140 character limit. Also locks some dependencies that were
    resolving to versions that don't work with Puppet 3.8 or Ruby 1.8.
    MikaelSmith committed Jul 1, 2016
    Configuration menu
    Copy the full SHA
    0e09744 View commit details
    Browse the repository at this point in the history
  3. Merge pull request #129 from MikaelSmith/fix-specs

    (maint) Fix up tests
    highb authored Jul 1, 2016
    Configuration menu
    Copy the full SHA
    151e091 View commit details
    Browse the repository at this point in the history

Commits on Jul 6, 2016

  1. 126 - Explicitly setting environment to nodes current environment

    We have to shell out to puppet config print to preserve environment
    config. This gives us how the agent is configured, not how the enc or --environment
    override is set, this 100% ensures that the msi installer when it writes
    the environment configuration value is how the agent was configure
    pre-upgrade.
    James Powis committed Jul 6, 2016
    Configuration menu
    Copy the full SHA
    17276b8 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #127 from james-powis/master

    (MODULES-3517) Explicitly setting environment to nodes current environment
    MikaelSmith authored Jul 6, 2016
    Configuration menu
    Copy the full SHA
    3e57dc2 View commit details
    Browse the repository at this point in the history
  3. (MODULES-3571) Allow setting install_path for MSI

    Allow setting the INSTALLDIR option for the Windows MSI.
    dennisnon authored and MikaelSmith committed Jul 6, 2016
    Configuration menu
    Copy the full SHA
    4bec9f0 View commit details
    Browse the repository at this point in the history

Commits on Jul 12, 2016

  1. (MODULES-3591) Test if stringify_facts = true on agent (#131)

    Added a test for the consequence of stringify_facts = true in agent puppet.conf.
    hpcprofessional authored and MikaelSmith committed Jul 12, 2016
    Configuration menu
    Copy the full SHA
    6fb63a0 View commit details
    Browse the repository at this point in the history

Commits on Jul 18, 2016

  1. Merge pull request #130 from MikaelSmith/MODULES-3571

    (MODULES-3571) Allow setting install_path for MSI
    highb authored Jul 18, 2016
    Configuration menu
    Copy the full SHA
    2b9d44d View commit details
    Browse the repository at this point in the history

Commits on Jul 27, 2016

  1. (MODULES-3636) Upgrade on non-English Windows

     - The previous checks for PID running uses a combination of tasklist,
       findstr and some more cryptic batch-isms to detect if a puppet
       agent is currently executing (by PID).  This check also relies on
       the English string "No tasks are running", because tasklist.exe
       doesn't set exitcodes as desired when the query is not a match.
    
       C:\Users\Administrator>tasklist.exe /FI "PID eq 1234" /NH
       INFO: No tasks are running which match the specified criteria.
    
       C:\Users\Administrator>echo %ERRORLEVEL%
       0
    
       There are a couple of alternative methods for achieving the
       desired functionality.  The simplest is qprocess.exe:
    
       C:\Users\Administrator>qprocess 1234
       No Process exists for 1234
       C:\Users\Administrator>echo %ERRORLEVEL%
       1
    
       C:\Users\Administrator>qprocess 32936
       USERNAME              SESSIONNAME         ID    PID  IMAGE
       >administrator         console              1  32936  mmc.exe
       C:\Users\Administrator>echo %ERRORLEVEL%
       0
    
       Unfortunately qprocess is no longer available on Nano Server, so
       the next best option is wmic.exe, which exists everywhere.
    
       C:\>wmic PATH Win32_Process where handle=1111 get handle /format:textvaluelist |
         findstr /I "Handle=1111"
       No Instance(s) Available.
    
       C:\>echo %ERRORLEVEL%
       1
    
       The string 'Handle' appears everywhere, so no locale specific
       string parsing is required on non-English versions of Windows, such
       as German:
    
       C:\Users\moses>tasklist /FI "PID eq 1234" /NH
       INFORMATION: Es werden keine Aufgaben mit den angegebenen Kriterien ausgeführt.
    
       C:\Users\moses>echo %ERRORLEVEL%
       0
    Iristyle committed Jul 27, 2016
    Configuration menu
    Copy the full SHA
    5da7b32 View commit details
    Browse the repository at this point in the history
  2. (MODULES-3434) Wait 120 seconds for Windows agent

     - Previously, the batch file would wait for an infinite amount of
       time for the calling Puppet process to exit, before it would
       proceed with an upgrade.
    
       Prior to rewriting the PID check with wmic, this could cause an
       infinite loop when trying to match an unlocalized string.
    
       Since infinite loops are never a good idea, cap the wait limit to
       120 seconds, and log an event log message under Puppet / ID 101
       that the agent upgrade failed.
    
       This should improve the end user experience under failing
       circumstances.
    Iristyle committed Jul 27, 2016
    Configuration menu
    Copy the full SHA
    c1ea1a6 View commit details
    Browse the repository at this point in the history

Commits on Jul 29, 2016

  1. (MODULES-3657) Fix waiting on Windows during upgrade

    Previously the script was using the timeout.exe application however this
    attempts to redirect STDIN and during a headless operation, for example during
    an actual puppet run, this throws an error and does not wait the proper time.
    This commit changes the wait method to use ping.  Ping waits 1 second between
    attempts therefore a simple `ping 127.0.0.1 -n 6` will pause for 5 seconds.
    
    This commit also changes the location of the PID file slightly.  Previously it
    used `%TEMP%` however this variable can be removed or be in an unexpected place.
    Instead the PID file is always placed in the same directory as the
    script (`%~dp0`).
    
    To assist in debugging upgrade failures the install batch file also outputs
    all environment variables prior to running.
    glennsarti committed Jul 29, 2016
    Configuration menu
    Copy the full SHA
    27bcbab View commit details
    Browse the repository at this point in the history
  2. Merge pull request #135 from Iristyle/ticket/master/MODULES-3636-wait…

    …-for-pid-properly-on-non-English-Windows
    
    (MODULES-3636) Upgrade on non-English Windows
    glennsarti authored Jul 29, 2016
    Configuration menu
    Copy the full SHA
    aef2d83 View commit details
    Browse the repository at this point in the history
  3. Merge pull request #136 from Iristyle/ticket/master/MODULES-3434-do-n…

    …ot-wait-indefinitely-on-agent-PID
    
    (MODULES-3434) Wait 120 seconds for Windows agent
    glennsarti authored Jul 29, 2016
    Configuration menu
    Copy the full SHA
    12b4ab7 View commit details
    Browse the repository at this point in the history

Commits on Jul 30, 2016

  1. Merge pull request #137 from glennsarti/ticket/master/MODULES-3657

    (MODULES-3657) Fix waiting on Windows during upgrade
    Iristyle authored Jul 30, 2016
    Configuration menu
    Copy the full SHA
    959ca5e View commit details
    Browse the repository at this point in the history

Commits on Aug 5, 2016

  1. (PE-17012) Do not manage puppet symlink

    Prior to this commit we were managing the puppet symlink, even
    though that symlink is also managed by PE and most likely a
    user would manage it themselves if they wanted it.
    This commit removes management of the symlink, since it conflicts
    with PE and is generally inconsistent with the rest of the OSes
    managed by this module.
    Brandon High committed Aug 5, 2016
    Configuration menu
    Copy the full SHA
    d7f4c62 View commit details
    Browse the repository at this point in the history
  2. (maint) Add puppet-lint workarounds for CI

    Our CI setup puts extra files in the project workspace, which
    puppet-lint then tries to lint. This fails for older versions of Puppet.
    MikaelSmith committed Aug 5, 2016
    Configuration menu
    Copy the full SHA
    05a1766 View commit details
    Browse the repository at this point in the history
  3. (maint) Fix test to use valid certnames

    Fix up SSL configuration for use with fixes in stomp 1.4.1.
    Without this the activemq-stomp connection will reject the connection.
    MikaelSmith committed Aug 5, 2016
    Configuration menu
    Copy the full SHA
    5138313 View commit details
    Browse the repository at this point in the history
  4. Merge pull request #139 from highb/fix/master/PE-17012_aix_dupe_resource

    (PE-17012) Do not manage puppet symlink
    MikaelSmith authored Aug 5, 2016
    Configuration menu
    Copy the full SHA
    fa4cf44 View commit details
    Browse the repository at this point in the history
  5. Merge pull request #138 from MikaelSmith/fix-testing

    (maint) Add puppet-lint workarounds for CI, use valid certnames
    highb authored Aug 5, 2016
    Configuration menu
    Copy the full SHA
    08a1816 View commit details
    Browse the repository at this point in the history

Commits on Aug 12, 2016

  1. (maint) Fixes typo in Rakefile

    bmjen committed Aug 12, 2016
    Configuration menu
    Copy the full SHA
    6bea3e7 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #143 from bmjen/update-lint

    (maint) Fixes typo in Rakefile
    MikaelSmith authored Aug 12, 2016
    Configuration menu
    Copy the full SHA
    cc33f98 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    98af493 View commit details
    Browse the repository at this point in the history
  4. Merge pull request #144 from MikaelSmith/fix-ci

    (maint) Fix CI, where host['ip'] is nil
    bmjen authored Aug 12, 2016
    Configuration menu
    Copy the full SHA
    57d2cae View commit details
    Browse the repository at this point in the history

Commits on Aug 24, 2016

  1. (maint) Fix linting

    puppet-lint added checking variable case on a bug fix release. Address
    the noted issues.
    MikaelSmith committed Aug 24, 2016
    Configuration menu
    Copy the full SHA
    76698a0 View commit details
    Browse the repository at this point in the history

Commits on Aug 25, 2016

  1. Merge pull request #148 from MikaelSmith/fix-lint

    (maint) Fix linting
    MikaelSmith authored Aug 25, 2016
    Configuration menu
    Copy the full SHA
    e9b18d9 View commit details
    Browse the repository at this point in the history

Commits on Sep 2, 2016

  1. Configuration menu
    Copy the full SHA
    2e95fbf View commit details
    Browse the repository at this point in the history
  2. Merge pull request #147 from esalberg/msi_perms

    Set perms for Windows package differently than for Linux
    MikaelSmith authored Sep 2, 2016
    Configuration menu
    Copy the full SHA
    22aa075 View commit details
    Browse the repository at this point in the history

Commits on Sep 6, 2016

  1. (RE-7976) Add new GPG key for RPMs

    Rob Braden authored and Morgan Rhodes committed Sep 6, 2016
    Configuration menu
    Copy the full SHA
    8ab8c46 View commit details
    Browse the repository at this point in the history
  2. (RE-7976) Add new GPG key for deb* systems

    Morgan Rhodes committed Sep 6, 2016
    Configuration menu
    Copy the full SHA
    30d76b3 View commit details
    Browse the repository at this point in the history
  3. (RE-7976) Add new GPG key for SuSE

    Morgan Rhodes committed Sep 6, 2016
    Configuration menu
    Copy the full SHA
    480b93e View commit details
    Browse the repository at this point in the history
  4. Merge pull request #151 from underscorgan/tickets/master/re-7976-gpg-…

    …all-the-things
    
    (RE-7976) Update to use the new GPG key
    MikaelSmith authored Sep 6, 2016
    Configuration menu
    Copy the full SHA
    04a6258 View commit details
    Browse the repository at this point in the history

Commits on Sep 16, 2016

  1. (MODULES-3872) Updated to provide the ability to disable (#152)

    configuration of PE/FOSS repositories
    
    This is intended to enable users to utilize existing systems management
    tools and internally hosted repositories to ensure agent upgrades
    exodusftw authored and MikaelSmith committed Sep 16, 2016
    Configuration menu
    Copy the full SHA
    fcd381f View commit details
    Browse the repository at this point in the history
  2. (PE-17508) Fix puppet-agent suffix on fedora

    This commit modifies the install logic when `osfamily` is `RedHat`
    to accommodate for the `fedoraf` package suffix when the OS is
    fedora rather than an `el` derivative.
    
    Prior to this commit the `puppet-agent` package would be suffixed
    with `el` which does not match the package naming convention for
    fedora.
    John Duarte committed Sep 16, 2016
    Configuration menu
    Copy the full SHA
    c1c77dc View commit details
    Browse the repository at this point in the history
  3. Merge pull request #154 from johnduarte/pe-17508-use-fedoraf-package-…

    …suffix
    
    (PE-17508) Fix puppet-agent suffix on fedora
    highb authored Sep 16, 2016
    Configuration menu
    Copy the full SHA
    efa08b8 View commit details
    Browse the repository at this point in the history

Commits on Sep 23, 2016

  1. updated unless condition on Suse/Redhat GPG key imports to ensure dow…

    …ncasing as the current code on Suse simply converts all letters to the character 'a' and causes each run to re-import keys
    exodusftw committed Sep 23, 2016
    Configuration menu
    Copy the full SHA
    2aaf280 View commit details
    Browse the repository at this point in the history
  2. (docs) Note unchanged config options

    Note that log locations that have been explicitly configured are not
    reset when upgrading from Puppet 3.
    
    Closes #157.
    MikaelSmith committed Sep 23, 2016
    Configuration menu
    Copy the full SHA
    19d0835 View commit details
    Browse the repository at this point in the history
  3. (MODULES-3896) Avoid unknown variables

    Puppet 4 warns about unknown variables, as in
    ```
    Warning: Unknown variable: '::platform_tag'. at
    /root/puppet/modules/puppet_agent/manifests/params.pp:75:17
    Warning: Unknown variable: '_package_version'. at
    /root/puppet/modules/puppet_agent/manifests/init.pp:108:8
    ```
    
    Fix by avoiding unknown variables, or guarding variables we know aren't
    defined. Fixes #156.
    MikaelSmith committed Sep 23, 2016
    Configuration menu
    Copy the full SHA
    a98145b View commit details
    Browse the repository at this point in the history

Commits on Sep 26, 2016

  1. Merge pull request #158 from exodusftw/fix_suse_key_unless

    updated unless condition on Suse/Redhat GPG key imports to ensure downcasing
    highb authored Sep 26, 2016
    Configuration menu
    Copy the full SHA
    26e9c28 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #159 from MikaelSmith/note-unchanged-config

    (docs) Note unchanged config options
    highb authored Sep 26, 2016
    Configuration menu
    Copy the full SHA
    360682b View commit details
    Browse the repository at this point in the history
  3. Merge pull request #160 from MikaelSmith/MODULES-3896

    (MODULES-3896) Avoid unknown variables
    highb authored Sep 26, 2016
    Configuration menu
    Copy the full SHA
    329123a View commit details
    Browse the repository at this point in the history

Commits on Sep 27, 2016

  1. (FM-4989) Remove POWER version constraint for AIX

    Prior to this commit, puppet-agent upgrades on AIX were constrained to
    POWER 5-7 architectures.
    
    However, if Puppet is already running on a supported version of AIX, it
    should be safe to assume we're on a supported POWER version.
    
    This commit removes the POWER version constraint, allowing upgrade on
    POWER8 and higher architectures.
    geoffnichols committed Sep 27, 2016
    Configuration menu
    Copy the full SHA
    bc21454 View commit details
    Browse the repository at this point in the history
  2. (PE-17663) update logic for solaris 11 package name

    This commit updates the logic for cleaning a vanagon package version
    name to be compatible with the IPS requirements for solaris ll p5p
    package naming. It adds the same logic found in vanagon itself for
    removing any leading zeros from the dotted segments of the version
    string.
    
    Prior to this commit, leading zeros in a version segment were left
    in the package name which violates p5p naming rules. This caused
    vanagon builds containing such a version to fail the install
    process.
    
    Ref:
    [vanagon ips version code](https://github.com/puppetlabs/vanagon/blob/master/lib/vanagon/platform/solaris_11.rb#L94-L107)
    [Solaris 11 package versioning](http://www.oracle.com/technetwork/articles/servers-storage-admin/ips-package-versioning-2232906.html)
    John Duarte committed Sep 27, 2016
    Configuration menu
    Copy the full SHA
    48f0a53 View commit details
    Browse the repository at this point in the history