Puppet 3.x to 4.x Agent Upgrades
This version of Puppet is not included in Puppet Enterprise. The latest version of PE includes Puppet 4.4. A newer version is available; see the version menu above for details.
This guide will help you update your Puppet 3.x agents to Puppet 4.x.
If you have currently running Puppet agents that you want to update to Puppet 4, you must follow the server upgrade instructions on at least one Puppet server before you update the agents.
- Install the
puppetlabs-release-pc1package for your OS, per the regular install instructions.
- Note the current
ssldirlocation by running (as root)
puppet agent --configprint ssldir; you’ll need this information to avoid re-issuing certificates.
- Disable the previous Puppet Labs
- Using your package manager, install the
puppet-agentpackage for your operating system.
- Modify the new, Puppet 4-compatible
/etc/puppetlabs/puppet/puppet.conffile to include any local customizations from the old
/etc/puppet/puppet.confconfiguration file. You will need to set the
ca_server, if you’ve set up a separate Puppet 4 CA) to point at the hostname of your new Puppet 4 master. Be sure to check the Puppet 4.0 release notes for deprecated and changed settings that should not be copied over. Notably, if you previously set
stringify_facts=false, this is no longer necessary.
Copy your SSL certificate tree from its previous location (from
puppet agent --configprint ssldirabove) to its new path (
/etc/puppetlabs/puppet/ssl), making sure to preserve permissions and ownership. For example:
cp -rp /var/lib/puppet/ssl /etc/puppetlabs/puppet/ssl
Run the agent manually and make sure it talks to the server:
/opt/puppetlabs/bin/puppet agent -tv
Ensure that Puppet will continue to run automatically. If you used a cron job to periodically run
puppet agent -t, update the path to the binary. If you run puppet as a daemon, ensure it’s set to start up on system boot using
/opt/puppetlabs/bin/puppet resource service puppet ensure=running enable=true
The filesystem paths for configuration and certificates did not change from Puppet 3.x. Windows upgraders need to check individual settings that may be deprecated or whose defaults have changed.