puppet-agent: What is it, and what's in it?

Included in Puppet Enterprise 2017.1.

Release contents of puppet-agent 1.x

See the table for details about which components shipped in which puppet-agent release, and the package-specific release notes for more information about packaging and installation fixes and features.

puppet-agent Puppet Facter Hiera MCollective Ruby OpenSSL
1.9.3 4.9.4 3.6.2 3.3.1 2.10.2 2.1.9 1.0.2j
1.9.2 4.9.3 3.6.1 3.3.0 2.10.1 2.1.9 1.0.2j
1.9.1 4.9.2 3.6.1 3.3.0 2.10.1 2.1.9 1.0.2j
1.9.0 4.9.0 3.6.0 3.3.0 2.10.0 2.1.9 1.0.2j
1.8.3 4.8.2 3.5.1 3.2.2 2.9.1 2.1.9 1.0.2j
1.8.2 4.8.1 3.5.0 3.2.2 2.9.1 2.1.9 1.0.2j
1.8.1 4.8.1 3.5.0 3.2.2 2.9.1 2.1.9 1.0.2j
1.8.0 4.8.0 3.5.0 3.2.2 2.9.1 2.1.9 1.0.2j
1.7.2 4.7.1 3.4.2 3.2.2 2.9.1 2.1.9 1.0.2j
1.7.1 4.7.0 3.4.1 3.2.1 2.9.0 2.1.9 1.0.2j
1.7.0 4.7.0 3.4.1 3.2.1 2.9.0 2.1.9 1.0.2h
1.6.2 4.6.2 3.4.1 3.2.1 2.9.0 2.1.9 1.0.2h
1.6.1 4.6.1 3.4.1 3.2.1 2.9.0 2.1.9 1.0.2h
1.6.0 4.6.0 3.4.0 3.2.1 2.9.0 2.1.9 1.0.2h
1.5.3 4.5.2 3.1.8 3.2.0 2.8.8 2.1.9 1.0.2h
1.5.2 4.5.2 3.1.8 3.2.0 2.8.8 2.1.9 1.0.2h
1.5.1 4.5.1 3.1.8 3.2.0 2.8.8 2.1.9 1.0.2h
1.5.0 4.5.0 3.1.7 3.2.0 2.8.8 2.1.9 1.0.2h
1.4.2 4.4.2 3.1.6 3.1.2 2.8.8 2.1.9 1.0.2g
1.4.1 4.4.1 3.1.5 3.1.1 2.8.8 2.1.8 1.0.2g
1.4.0 4.4.0 3.1.5 3.1.0 2.8.8 2.1.8 1.0.2g
1.3.6 4.3.2 3.1.4 3.0.6 2.8.7 2.1.8 1.0.2g
1.3.5 4.3.2 3.1.4 3.0.6 2.8.7 2.1.8 1.0.2f
1.3.4 4.3.2 3.1.4 3.0.6 2.8.7 2.1.8 1.0.2e
1.3.2 4.3.1 3.1.3 3.0.5 2.8.6 2.1.7 1.0.2d
1.3.1 4.3.1 3.1.3 3.0.5 2.8.6 2.1.7 1.0.2d
1.3.0 4.3.0 3.1.2 3.0.5 2.8.6 2.1.7 1.0.2d
1.2.7 4.2.3 3.1.1 3.0.4 2.8.6 2.1.7 1.0.2d
1.2.6 4.2.2 3.1.0 3.0.3 2.8.6 2.1.6 1.0.2d
1.2.5 4.2.2 3.1.0 3.0.3 2.8.6 2.1.6 1.0.2d
1.2.4 4.2.2 3.1.0 3.0.3 2.8.5 2.1.6 1.0.2d
1.2.2 4.2.1 3.0.2 3.0.1 2.8.2 2.1.6 1.0.0s
1.2.1 4.2.0 3.0.1 3.0.1 2.8.2 2.1.6 1.0.0s
1.2.0 4.2.0 3.0.0 3.0.1 2.8.2 2.1.6 1.0.0s
1.1.1 4.1.0 2.4.4 2.0.1 2.8.2 2.1.6 1.0.0s
1.1.0 4.1.0 2.4.4 2.0.1 2.8.2 2.1.6 1.0.0r
1.0.1 4.0.0 2.4.3 2.0.1 2.8.1 2.1.6 1.0.0r
1.0.0 4.0.0 2.4.3 2.0.1 2.8.1 2.1.5 1.0.0r

Note:

  • Hiera 5 is a backwards-compatible evolution of Hiera, which is built into Puppet. To provide some backwards-compatible features, it uses the classic Hiera 3 codebase. This means “Hiera” is still shown as version 3.x in the table above, even though this Puppet version uses Hiera 5.

  • Puppet 4.9.1 does not appear on this table because it was a gem-only release and has not been packaged in puppet-agent.

  • Windows puppet-agent versions 1.4.2 through 1.5.2 shipped with Ruby 2.1.8.

What puppet-agent and Puppet Server are

Starting with Puppet 4, we distribute Puppet as two core packages.

  • puppet-agent — 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. It also includes MCollective. Once it’s installed, you have everything you need to run the Puppet agent service and the puppet apply command.
  • puppetserver — 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 Puppet agent service.

Note: For information about Puppet agent in Puppet 3, see the Puppet 3 services documentation.

How 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 can usually work with several nearby Puppet versions. For instance, agents running Puppet 4 work with masters running Puppet Server 2. (The Puppet Server package depends on a specific version of the Puppet Agent package, but can communicate with agents running older versions of Puppet. For instance, updating Puppet Server might update Puppet Agent on the master, but agents running previous versions of Puppet Agent will still work.)

The puppet-agent package also has its own version number, which doesn’t match the version of Puppet it installs. For example, puppet-agent 1.3 includes Puppet 4.3.

Since the puppet-agent package distributes several different pieces of software, its version number will frequently increase when Puppet’s version does not — for example, puppet-agent 1.2.0 and 1.2.1 ship the same Puppet version but different Facter versions. Similarly, new versions of Puppet Server usually don’t require updates to the core Puppet code.

Our options were to either let the versions be completely separate, or ship a bunch of “empty” Puppet releases where the version number increases without any changes to Puppet itself. For now, we’re going with the former.

↑ Back to top