

Upgrading Puppet Enterprise
source link: https://puppet.com/docs/pe/2017.3/upgrading_pe.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Upgrade your PE installation as new versions become available.
Upgrade paths
These are the valid upgrade paths for PE.
Upgrade a monolithic installation
To upgrade a monolithic installation, run the text-based PE installer on your master or master of masters, and then upgrade any additional components.
If you encounter errors during upgrade, you can fix them and run the installer again.
- Download the tarball appropriate to your operating system and architecture.
- Unpack the installation tarball:
tar -xf <tarball>
You need about 1 GB of space to untar the installer. - From the installer directory, run the installer:
sudo ./puppet-enterprise-installer
Note: To specify a differentpe.conf
file other than the existing file, use the -c flag:sudo ./puppet-enterprise-installer -c <FULL PATH TO pe.conf>
With this flag, your previous
pe.conf
is backed up to/etc/puppetlabs/enterprise/conf.d/<TIMESTAMP>.conf
and a newpe.conf
is created at/etc/puppetlabs/enterprise/conf.d/pe.conf
. - If you have compile masters, upgrade them. SSH into each compile master and run:
/opt/puppetlabs/puppet/bin/curl --cacert /etc/puppetlabs/puppet/ssl/certs/ca.pem https://<PUPPET MASTER FQDN>:8140/packages/current/upgrade.bash | sudo bash
- If you have ActiveMQ hubs and spokes, upgrade them. SSH into each hub and spoke and run:
/opt/puppetlabs/puppet/bin/curl --cacert /etc/puppetlabs/puppet/ssl/certs/ca.pem https://<PUPPET MASTER FQDN>:8140/packages/current/upgrade.bash | sudo bash
- Upgrade these additional PE infrastructure components.
Agents
Razor
PE client tools — Install the appropriate version of client tools that matches the PE version you upgraded to.
Upgrade to PE 2017.3 or later with high availability enabled
Due to a
PostgreSQL upgrade in
PE 2017.3, you must re-configure high availabity when you upgrade from a
PE version earlier than 2017.3 to
PE 2017.3 or later.
This upgrade requires that you forget and then re-create your replica. The replica is temporarily unavailable to serve as backup during this process, so you should time your upgrade to minimize risk.
- Back up your installation.
Upgrade
PE.
- Forget your existing replica.
- Provision a new replica.
- Enable the new replica.
Upgrade a split or large environment installation
To upgrade a split or large environment installation, run the text-based installer on each infrastructure node in your environment, and then upgrade any additional components.
If you encounter errors during upgrade, you can fix them and run the installer again.
Upgrade the master
Upgrading the master is the first step in upgrading a split or large environment installation.
- Download the tarball appropriate to your operating system and architecture.
- Unpack the installation tarball:
tar -xf <tarball>
You need about 1 GB of space to untar the installer. - Stop the agent service:
sudo puppet resource service puppet ensure=stopped
- From the installer directory, run the installer:
sudo ./puppet-enterprise-installer
Note: To specify a differentpe.conf
file other than the existing file, use the -c flag:sudo ./puppet-enterprise-installer -c <FULL PATH TO pe.conf>
With this flag, your previous
pe.conf
is backed up to/etc/puppetlabs/enterprise/conf.d/<TIMESTAMP>.conf
and a newpe.conf
is created at/etc/puppetlabs/enterprise/conf.d/pe.conf
. - When upgrade completes, transfer the installer and the
pe.conf
file located at/etc/puppetlabs/enterprise/conf.d/
to the next server that you're upgrading a component on.
Upgrade PuppetDB
In a split installation, after you upgrade the master, you're ready to upgrade PuppetDB.
- Unpack the installation tarball:
tar -xf <tarball>
You need about 1 GB of space to untar the installer. - Stop the agent service:
sudo puppet resource service puppet ensure=stopped
- From the installer directory, run the installer:
sudo ./puppet-enterprise-installer -c <FULL PATH TO pe.conf>
- When upgrade completes, transfer the installer and the
pe.conf
file located at/etc/puppetlabs/enterprise/conf.d/
to the next server that you're upgrading a component on.
Upgrade the console
In a split installation, after you upgrade the master and PuppetDB, you're ready to upgrade the console.
- Unpack the installation tarball:
tar -xf <tarball>
You need about 1 GB of space to untar the installer. - Stop the agent service:
sudo puppet resource service puppet ensure=stopped
- From the installer directory, run the installer:
sudo ./puppet-enterprise-installer -c <FULL PATH TO pe.conf>
Run Puppet on infrastructure nodes
To complete a split upgrade, run Puppet on all infrastructure nodes in the order that they were upgraded.
- Run Puppet on the master node.
- Run Puppet on the PuppetDB node.
- Run Puppet on the console node.
Upgrade remaining infrastructure nodes
After the main components of your infrastructure are upgraded, you must upgrade any additional infrastructure nodes, such as compile masters, hubs, and spokes.
- If you have compile masters, upgrade them. SSH into each compile master and run:
/opt/puppetlabs/puppet/bin/curl --cacert /etc/puppetlabs/puppet/ssl/certs/ca.pem https://<PUPPET MASTER FQDN>:8140/packages/current/upgrade.bash | sudo bash
- If you have ActiveMQ hubs and spokes, upgrade them. SSH into each hub and spoke and run:
/opt/puppetlabs/puppet/bin/curl --cacert /etc/puppetlabs/puppet/ssl/certs/ca.pem https://<PUPPET MASTER FQDN>:8140/packages/current/upgrade.bash | sudo bash
- Upgrade these additional PE infrastructure components.
Agents
Razor
PE client tools — Install the appropriate version of client tools that matches the PE version you upgraded to.
Upgrading PostgreSQL
If you use the default PE-PostgreSQL database installed alongside PuppetDB, you don't have to take special steps to upgrade PostgreSQL. However, if you have a standalone PE-PostgreSQL instance, or if you use a PostgreSQL instance not managed by PE, you must take extra steps to upgrade PostgreSQL.
You must upgrade a standalone PE-PostgreSQL instance each time you upgrade PE. To upgrade a standalone PE-PostgreSQL instance, simply run the installer on the PE-PostgreSQL node first, then proceed with upgrading the rest of your infrastructure.
Back up databases, wipe your old PostgreSQL installation, install the latest version of PostgreSQL, and restore the databases.
Back up databases, set up a new node with the latest version of PostgreSQL, restore databases to the new node, and reconfigure PE to point to the new
database_host
.Run
pg_upgrade
to get from the older PostgreSQL version to the latest version.
--force
flag, for example: /opt/puppetlabs/puppet/bin/puppet infrastructure configure --detailed-exitcodes --modulepath=/opt/puppetlabs/server/data/enterprise/modules --no-noop --upgrade-from=<PREVIOUS PE VERSION> --force
Upgrading this configuration without the force flag causes the upgrade to hang while searching for the external database. Text mode installer options
When you run the installer in text mode, you can use the -c
option to specify the full path to an existing pe.conf
file. You can pair these additional options with the -c
option.
-D
Display debugging information -q
Run in quiet mode. The installation process isn't displayed. If errors occur during the installation, the command quits with an error message. -y
Run automatically using the pe.conf
file at /etc/puppetlabs/enterprise/conf.d/
. If the file is not present or is invalid, installation or upgrade fails. -V
Display verbose debugging information. -h
Display help information. force
For upgrades only, bypass PostgreSQL migration validation. This option must appear last, after the end-of-options signifier (--
), for example sudo ./puppet-enterprise-installer -c pe.conf -- --force
Checking for updates
To see the version of PE you're currently using, run puppet --version
on the command line. Check the PE download site to find information about the latest maintenance release.
pe-puppetserver
service restarts. As part of the check, it passes some basic, anonymous information to Puppet servers. You can optionally disable update checking. Recommend
-
44
At PuppetConf 2017, Puppet Tasks were introduced as part of the new project Bolt . A task allows you to run a program on an arbitrary number of nodes. The program can be j...
-
8
Backing up and restoring Puppet EnterprisePuppet Enterprise — 2018.1.18Keep regular backups of your PE infrastructure. Backups allow you to more easily migrate to a new master, troubleshoot, and quickly r...
-
9
Articles in this section Download the latest primary server packages for Puppet Enterprise ...
-
16
Puppet Enterprise Update docs are missing a stepDetailsDescription
-
8
Upgrading Puppet Enterprise from 2016.4 to 2017.3 Over the past year, there have been some pretty big improvements to Puppet. I am still running PE 2016.4.2 and the current version is 2017.3.2, so there’s lot of changes in there....
-
8
Standard Creating your first Puppet Task for Puppet Enterprise At PuppetConf 2017, Puppet Tasks were introduced as part of the new project
-
14
Using Puppet Enterprise 2018’s new backup/restore features I was pretty excited when I read the new features in Puppet Enterprise 2018.1. There are a lot of coo...
-
12
Puppet Enterprise 2021 release includes support for SAML 2.0by Margaret Lee|3 March 2021See more posts about:
-
11
Check your facts with Puppet Enterprise 2021.1by Beth Glenfield|3 June 2021See more posts about:
-
6
Remote support service beta for Puppet Enterprise customersby Marty Ewings|30 June 2021See more posts about:
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK