Upgrading Windows Agents

You should upgrade your Puppet Enterprise Windows agents as new releases become available.

Upgrade Windows agents

When upgrading your Puppet agents, you can use, the puppetlabs-puppet_agent module, PE package management or the Windows agent .msi package.

Before you begin upgrading your agents, first upgrade your monolithic or split Puppet master.

Caution: Upgrading Windows agents can cause non-Puppet-related network services to restart.

Upgrade using the puppet_agent module

The puppetlabs-puppet_agent module allows you to upgrade several agents at once. This module handles all the latest version to version upgrades.

If you have Windows agents running a 3.8 version, use this module to upgrade.

Upgrade with PE package management

If you used PE package management to install your Windows agents, you can use that same method to upgrade them.

Note: In the following example, the <PUPPET MASTER FQDN> portion of the installer script refers to the fully qualified domain name of the Puppet master. Additionally, this FQDN must be fully resolvable by the Windows machine on which you’re installing the agent.

  1. To upgrade a Windows agent using PE package management, run the following command:

    [Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}; $webClient = New-Object System.Net.WebClient; $webClient.DownloadFile('https://<PUPPET MASTER FQDN>:8140/packages/current/install.ps1', 'install.ps1'); .\install.ps1

Upgrade with the .msi package

You can use the Windows agent .msi package to upgrade.

  1. Download the appropriate new version of the .msi package.
  2. Follow the installer dialog.

The installer stops and restarts the Puppet agent service.

Switching to an older version of PE

If you’re downgrading from the current version of PE to an older version, we recommend that you uninstall PE from your agents first, and then install the version of your choice. This guarantees the cleanest install.

You can also use the Windows .msi to switch versions. It will add PE to the system path, with the following caveats:

  • Processes that were already running will not see the change until they are restarted.
  • Puppet will expand your variables. This is a problem if the path looks like this: PATH = %SystemRoot\System32. Puppet will change this to PATH = c:\Windows\System32. This is a known issue.
  • In some cases, files from the newer version will be left on your machine.

↑ Back to top