puppet-agent package contains multiple components. Understanding how package versions are numbered and which versions go with each other is important when upgrading and troubleshooting.
Component version numbers
puppet-agentrelease, and has links to the package-specific release notes that contain information about packaging and installation fixes and features.
- This package contains Puppet’s main code and all of the dependencies needed to run it, including Facter, Hiera, and bundled versions of Ruby and OpenSSL. Once it’s installed, you have everything you need to run the
Puppet agent service
- This package depends on
puppet-agent, and adds the JVM-based Puppet Server application. Once it’s installed, Puppet Server can serve catalogs to nodes running the agent service.
How Puppet version numbers work
Puppet Server is a separate application that, among other things, runs instances of the Puppet master application. It has its own version number separate from the version of Puppet it runs and may be compatible with more than one existing Puppet version.
puppet-agent package also has its own version number, which doesn’t necessarily match the version of Puppet it installs.
Order is important in the upgrade process. First, update Puppet Server, then
puppet-agent. If you upgrade Puppet Server or PuppetDB to version 5 or newer, it will automatically upgrade the
puppet-agent package on the master to version 5.0.0 or newer. Puppet Server 5 will also restrict you from installing anything older than
puppet-agent 5.0.0 on your agent nodes.
puppet-agent package distributes several different pieces of software, its version number can increment even if Puppet’s version does not — for example,
puppet-agent 1.2.0 and 1.2.1 shipped the same Puppet version but different Facter versions. Similarly, some versions of Puppet Server don’t require updates to the core Puppet code.
This versioning scheme helps us avoid a bunch of “empty” Puppet releases where the version number increases without any changes to Puppet itself.
Master and agent compatibility
Use this table to verify that you're using a compatible version of the agent for your PE or Puppet master.
PE 3.xPuppet 3.x
PE 2015.1 through 2017.2Puppet 4.x
PE 2017.3 through 2018.1Puppet 5.x
PE 2019.0 and laterPuppet 6.x
- Puppet 3.x has reached end of life and is not actively developed or tested. We retain agent 3.x compabilility with later versions of the master only to enable upgrades.
You can use pre-6.x agents with a Puppet 6.x or PE 2019.0 or later master, but this combination doesn't take advantage of the new intermediate certificate authority architecture introduced in Puppet Server 6.0. To adopt the new CA architecture, both your master and agents must be upgraded to 6.x/2019.0, and you must regenerate certificates. If you don't upgrade all of your nodes to 6.x, don't regenerate certificates, because pre-6.x agents won't work with the new CA architecture.