In this post:
How to use Satellite to upgrade multiple RHEL 7 client systems to RHEL 8.
How to enable the Leapp upgrade plugin to use pre-upgrade checks.
Stability and the ability to upgrade with minimal downtime are two important features of production environments, and using the Leapp upgrade utility on Red Hat Satellite 6, can provide both. In this post, I'll show you step by step how to upgrade smoothly from Red Hat Enterprise Linux (RHEL) 7 to RHEL 8 with pre-upgrade checks available with Leapp upgrade.
The Leapp upgrade is a mechanism that enables us to migrate from RHEL 7 to RHEL 8. The Leapp upgrade can be performed on individual client systems, but you can upgrade multiple systems in parallel if Red Hat Satellite is a part of your infrastructure.
Prerequisites for the upgrade
1. Client system(s) should be registered to the supported version of Red Hat Satellite 6.
2. The client system should be attached to the proper subscriptions if your organization does not have Simple Content Access enabled. Client systems attached to the required subscriptions are provided with access to repositories used by Leapp.
3. The four repositories shown in Figure 1 should be synced on the Red Hat Satellite 6 web user interface.
4. Remote Execution is required for the Leapp upgrade operations and is used by Satellite to enable the execution of arbitrary commands on Satellite managed systems. Remote Execution was first available on Satellite 6.2.
5. If your Satellite server has Content Views configured, then the four repositories in Figure 1 should be present in the latest published version of the Content View. This step is completely optional as not every user manages a Content View in their Satellite.
If the Satellite system does not have content, then these four repositories need to be enabled and synced on the Satellite server. Client systems will directly pull the repositories and packages.
Make sure the client system is upgraded with the latest packages for RHEL 7.9, not just any release version.
1. Ensure there is no release version set.
# subscription-manager release --unset
2. Install the leapp related packages.
# yum update -y # yum install leapp leapp-repository -y
This will be a one-time setup for the Satellite server to enable the Leapp upgrade plugin.
1. Enable the Leapp plugin on the Satellite server.
# satellite-installer --enable-foreman-plugin-leapp
2. Select all hosts that need to be upgraded. By clicking Satellite Web UI(GUI) -> Hosts -> All Hosts and then Select Hosts from the checkbox.
3. Run a pre-upgrade check for the system.
>> Satellite Web UI(GUI) >> Hosts >> All Hosts >> Select Hosts from the checkbox >> Select Preupgrade Check with Leapp
4. Submit the pre-upgrade check. At this point, the satellite will take an ssh access to your client system and perform a dry run on the client system to check if the upgrade will be smooth.
5. Once the check is done, look for the detailed report in the Leapp Preupgrade Report tab. This report will contain all the suggestions that should be performed on the client system and information about the Inhibitors. Issues that have the Inhibitor flag are considered crucial and are likely to break the upgrade procedure.
6. After clearing all the Inhibitors from the report, proceed with the upgrade. Click on the "Run Upgrade" button and submit to start the upgrade.
Make sure you have resolved the problems identified in the pre-upgrade report, located at
/var/log/leapp/leapp-report.txt. The file
/var/log/leapp/leapp-upgrade.log lists issues found during the initramfs phase.
Summary and closing
Satellite upgrades multiple RHEL 7 client systems to RHEL 8 simultaneously, when combined with the Leapp utility.
Check out the open Request for Feature Enhancement (RFE) covering the upgrade from RHEL 7.9 to RHEL 8.2. Contact Red Hat Technical Support if you’re a customer who could benefit from this enhancement as well.
About the author
Jaskaran Singh Narula is passionate about security and infrastructure management and has been working with Red Hat Satellite teams since 2017. He is also a volunteer at Null, India's largest open source security community.