Red Hat Enterprise Linux 8: Upgrading From RHEL 7 To RHEL 8
Red Hat Enterprise Linux 8: Upgrading From RHEL 7 To RHEL 8
Instructions for an in-place upgrade from Red Hat Enterprise Linux 7 to Red Hat
Enterprise Linux 8
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons
Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is
available at
http://creativecommons.org/licenses/by-sa/3.0/
. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must
provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert,
Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift,
Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States
and other countries.
Linux ® is the registered trademark of Linus Torvalds in the United States and other countries.
XFS ® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States
and/or other countries.
MySQL ® is a registered trademark of MySQL AB in the United States, the European Union and
other countries.
Node.js ® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the
official Joyent Node.js open source or commercial project.
The OpenStack ® Word Mark and OpenStack logo are either registered trademarks/service marks
or trademarks/service marks of the OpenStack Foundation, in the United States and other
countries and are used with the OpenStack Foundation's permission. We are not affiliated with,
endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
Abstract
This document provides instructions on how to perform an in-place upgrade from Red Hat
Enterprise Linux 7 to Red Hat Enterprise Linux 8 using the Leapp utility. During the in-place
upgrade, the existing RHEL 7 operating system is replaced by a RHEL 8 version.
Table of Contents
Table of Contents
. . . . . . . . . .OPEN
MAKING . . . . . . SOURCE
. . . . . . . . . .MORE
. . . . . . .INCLUSIVE
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3. . . . . . . . . . . . .
. . . . . . . . . . . . . FEEDBACK
PROVIDING . . . . . . . . . . . . ON
. . . .RED
. . . . .HAT
. . . . .DOCUMENTATION
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4. . . . . . . . . . . . .
. . . . . MIGRATION
KEY . . . . . . . . . . . . . TERMINOLOGY
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5. . . . . . . . . . . . .
. . . . . . . . . . . 1.. .PLANNING
CHAPTER . . . . . . . . . . . .AN
. . . UPGRADE
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6. . . . . . . . . . . . .
.CHAPTER
. . . . . . . . . . 2.
. . PREPARING
. . . . . . . . . . . . . FOR
. . . . . THE
. . . . . UPGRADE
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8. . . . . . . . . . . . .
2.1. PREPARING A RHEL 7 SYSTEM FOR THE UPGRADE 8
2.2. PREPARING A SATELLITE SYSTEM FOR THE UPGRADE 11
.CHAPTER
. . . . . . . . . . 3.
. . REVIEWING
. . . . . . . . . . . . . THE
. . . . .PRE-UPGRADE
. . . . . . . . . . . . . . . . REPORT
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
..............
3.1. ASSESSING UPGRADABILITY FROM THE COMMAND LINE 13
3.2. ASSESSING UPGRADABILITY AND APPLYING AUTOMATED REMEDIATIONS THROUGH THE WEB
CONSOLE 14
. . . . . . . . . . . 4.
CHAPTER . . .PERFORMING
. . . . . . . . . . . . . . .THE
. . . . UPGRADE
. . . . . . . . . . . .FROM
. . . . . . RHEL
. . . . . . .7. TO
. . . .RHEL
. . . . . . 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
..............
. . . . . . . . . . . 5.
CHAPTER . . VERIFYING
. . . . . . . . . . . . .THE
. . . . POST-UPGRADE
. . . . . . . . . . . . . . . . . . STATE
. . . . . . . .OF
. . . THE
. . . . .RHEL
. . . . . .8
. .SYSTEM
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22
..............
. . . . . . . . . . . 6.
CHAPTER . . .PERFORMING
. . . . . . . . . . . . . . .POST-UPGRADE
. . . . . . . . . . . . . . . . . .TASKS
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23
..............
.CHAPTER
. . . . . . . . . . 7.
. . APPLYING
. . . . . . . . . . . .SECURITY
. . . . . . . . . . . POLICIES
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
..............
7.1. CHANGING SELINUX MODE TO ENFORCING 25
7.2. SETTING SYSTEM-WIDE CRYPTOGRAPHIC POLICIES 26
7.3. REMEDIATING THE SYSTEM TO A SECURITY BASELINE 26
. . . . . . . . . . . 8.
CHAPTER . . .TROUBLESHOOTING
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28
..............
8.1. TROUBLESHOOTING RESOURCES 28
8.2. TROUBLESHOOTING TIPS 28
8.3. KNOWN ISSUES 30
8.4. OBTAINING SUPPORT 33
. . . . . . . . . . . 9.
CHAPTER . . .RELATED
. . . . . . . . . .INFORMATION
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34
..............
. . . . . . . . . . . .A.
APPENDIX . . RHEL
. . . . . . .7. REPOSITORIES
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
..............
. . . . . . . . . . . .B.
APPENDIX . . RHEL
. . . . . . .8. .REPOSITORIES
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37
..............
1
Red Hat Enterprise Linux 8 Upgrading from RHEL 7 to RHEL 8
2
MAKING OPEN SOURCE MORE INCLUSIVE
3
Red Hat Enterprise Linux 8 Upgrading from RHEL 7 to RHEL 8
1. Make sure you are viewing the documentation in the Multi-page HTML format. In addition,
ensure you see the Feedback button in the upper right corner of the document.
2. Use your mouse cursor to highlight the part of text that you want to comment on.
3. Click the Add Feedback pop-up that appears below the highlighted text.
3. Fill in the Description field with your suggestion for improvement. Include a link to the
relevant part(s) of documentation.
4
KEY MIGRATION TERMINOLOGY
Update
Sometimes called a software patch, an update is an addition to the current version of the application,
operating system, or software that you are running. A software update addresses any issues or bugs to
provide a better experience of working with the technology. In RHEL, an update relates to a minor
release, for example, updating from RHEL 8.1 to 8.2.
Upgrade
An upgrade is when you replace the application, operating system, or software that you are currently
running with a newer version. Typically, you first back up your data according to instructions from Red
Hat. When you upgrade RHEL, you have two options:
In-place upgrade: During an in-place upgrade, you replace the earlier version with the new
version without removing the earlier version first. The installed applications and utilities, along
with the configurations and preferences, are incorporated into the new version.
Clean install: A clean install removes all traces of the previously installed operating system,
system data, configurations, and applications and installs the latest version of the operating
system. A clean install is ideal if you do not need any of the previous data or applications on your
systems or if you are developing a new project that does not rely on prior builds.
A conversion is when you convert your operating system from a different Linux distribution to Red Hat
Enterprise Linux. Typically, you first back up your data according to instructions from Red Hat.
Migration
Typically, a migration indicates a change of platform: software or hardware. Moving from Windows to
Linux is a migration. Moving a user from one laptop to another or a company from one server to another
is a migration. However, most migrations also involve upgrades, and sometimes the terms are used
interchangeably.
5
Red Hat Enterprise Linux 8 Upgrading from RHEL 7 to RHEL 8
Operating system - The operating system is upgraded by the Leapp utility under the following
conditions:
The Server variant installed of the latest available RHEL 7 version, which currently is:
RHEL 7.9 on the 64-bit Intel, IBM POWER 8 (little endian), and 64-bit IBM Z
architectures and, when on SAP HANA, on the 64-bit Intel architecture
RHEL 7.6 on architectures that require kernel version 4.14: IBM POWER 9 (little
endian) or 64-bit IBM Z (Structure A)
NOTE
See Supported in-place upgrade paths for Red Hat Enterprise Linux for more
information.
Access to up-to-date RHEL 7.9 and RHEL 8.4 content provided; see Preparing a RHEL 7
system for the upgrade, step 1 for details.
Applications - You can migrate applications installed on your system using Leapp. However, in
certain cases, you have to create custom actors, which specify actions to be performed by
Leapp during the upgrade, for example, reconfiguring an application or installing a specific
hardware driver. For more information, see Handling the migration of your custom and third-
party applications. Note that custom actors are unsupported by Red Hat.
Security - You should evaluate this aspect before the upgrade and take additional steps when
the upgrade process completes. Consider especially the following:
Before the upgrade, define the security standard your system needs to comply with and
understand the security changes in RHEL 8 .
During the upgrade process, the Leapp utility sets SELinux mode to permissive.
After the upgrade is finished, re-evaluate and re-apply your security policies. For
information about applying security policies that have been disabled during the upgrade or
newly introduced in RHEL 8, see Applying security policies .
Storage and file systems- You should always back up your system prior to upgrading. For
example, you can use the Relax-and-Recover (ReaR) utility, LVM snapshots, RAID splitting, or a
virtual machine snapshot.
6
CHAPTER 1. PLANNING AN UPGRADE
Downtime - The upgrade process can take from several minutes to several hours.
Satellite - If you manage your hosts through Satellite, you can upgrade multiple hosts
simultaneously from RHEL 7 to RHEL 8 using the Satellite web UI. For more information, see
Upgrading Hosts from RHEL 7 to RHEL 8 .
SAP HANA - If you are using SAP HANA, follow How to in-place upgrade SAP environments
from RHEL 7 to RHEL 8 instead. Note that the upgrade path for RHEL with SAP HANA might
differ.
Public clouds - The in-place upgrade is supported for on-demand Pay-As-You-Go (PAYG)
instances on Amazon Web Services (AWS) and Microsoft Azure with Red Hat Update
Infrastructure (RHUI). The in-place upgrade is also supported for Bring Your Own Subscription
instances on all public clouds that use RHSM for a RHEL subscription.
Language - All Leapp reports, logs, and other generated documentation are in English,
regardless of the language configuration.
Bootloader - It is not possible to switch the bootloader from BIOS to UEFI on RHEL 7 or RHEL
8. If your RHEL 7 system uses BIOS and you want your RHEL 8 system to use UEFI, perform a
fresh install of RHEL 8 instead of an in-place upgrade. For more information, see Is it possible to
switch the BIOS boot to UEFI boot on preinstalled Red Hat Enterprise Linux machine?
The in-place upgrade is currently unsupported for on-demand PAYG instances on the
remaining Public Clouds (Huawei Cloud, Alibaba Cloud, Google Cloud) that use Red Hat
Update Infrastructure but not Red Hat Subscription Manager (RHSM) for a RHEL
subscription.
You can use Red Hat Insights to determine which of the systems you have registered to Insights is on a
supported upgrade path to RHEL 8. To do so, navigate to the respective Advisor recommendation in
Insights, enable the recommendation under the Actions drop-down menu, and inspect the list under the
Affected systems heading. Note that the Advisor recommendation considers only the RHEL 7 minor
version and does not perform a pre-upgrade assessment of the system.
7
Red Hat Enterprise Linux 8 Upgrading from RHEL 7 to RHEL 8
You must perform the preparation steps described in Preparing a RHEL 7 system for the upgrade on all
systems. In addition, on systems that are registered to Satellite Server, you must also perform the
preparation steps described in Preparing a Satellite system for the upgrade .
If you do not plan to use Red Hat Subscription Manager during the upgrade process, follow instructions
in Upgrading to RHEL 8 without Red Hat Subscription Manager .
Prerequisites
Procedure
1. Ensure your system has been successfully registered to the Red Hat Content Delivery Network
(CDN) or Red Hat Satellite using the Red Hat Subscription Manager.
2. If your system is registered to Satellite Server, complete the steps in Preparing a Satellite
system for the upgrade to ensure that your system meets the requirements for the upgrade.
3. Verify that you have the Red Hat Enterprise Linux Server subscription attached:
You should see Server in the product name and Subscribed as the status.
4. Ensure you have appropriate repositories enabled. The following commands list repositories for
the 64-bit Intel architecture; for other architectures, see RHEL 7 repositories.
b. Enable the Extras repository where Leapp and its dependencies are available:
NOTE
8
CHAPTER 2. PREPARING FOR THE UPGRADE
NOTE
You can also have the Optional or Supplementary repositories enabled; see
their list in RHEL 7 repositories. In such a case, Leapp enables the RHEL 8
CodeReady Linux Builder or the RHEL 8 Supplementary repositories,
respectively.
5. Set the Red Hat Subscription Manager to consume the latest RHEL 7 content:
6. Optional: If you want to use custom repositories, configure them per instructions in Configuring
custom repositories.
7. If you use the yum-plugin-versionlock plug-in to lock packages to a specific version, clear the
lock by running:
See How to restrict yum to install or upgrade a package to a fixed specific package version? for
more information.
8. If you are upgrading using Red Hat Update Infrastructure (RHUI) on a public cloud, enable
required RHUI repositories and install required RHUI packages to ensure your system is ready
for upgrade.
a. For AWS:
NOTE
If you locked the Azure virtual machine (VM) to a minor release, remove the
version lock. For more information, see Switch a RHEL 7.x VM back to non-
EUS.
9. If you manage containers in Docker, recreate those containers with the appropriate container
images using Podman and then attach any in-use volumes. For more information, see How do I
migrate my Docker containers to Podman prior to moving from Red Hat Enterprise Linux 7 to
Red Hat Enterprise Linux 8?
# yum update
9
Red Hat Enterprise Linux 8 Upgrading from RHEL 7 to RHEL 8
# reboot
Note that currently you need version 0.13.0 or later of the leapp package and version 0.15.0 or
later of the leapp-repository package.
NOTE
If your system does not have internet access, you can download the Preupgrade
Assistant and Red Hat Upgrade Tool from the Red Hat Customer Portal .
13. Ensure you have access to the latest version of additional required data files (RPM package
changes, RPM repository mapping, unsupported drivers, and unsupported PCIs).
a. If you are using RHSM for the upgrade, the system has access to cloud.redhat.com, and you
have not downloaded an earlier version of the required data files, no further action is
required from you. The data files are automatically downloaded from cloud.redhat.com. This
also applies to developer subscriptions.
b. Download the data files attached to the Knowledgebase article Data required by the Leapp
utility for an in-place upgrade from RHEL 7 to RHEL 8 and place them in the
/etc/leapp/files/ directory. Note that currently you need data files from the leapp-
data15.tar.gz archive or later. This is necessary for a successful upgrade in the following
scenarios:
i. You are upgrading on a public cloud using RHUI. If you do not have a Red Hat
subscription or Red Hat Customer Portal account, create a no-cost RHEL developer
subscription so that you can access the Knowledgebase article and download required
data packages. For more information, see How do I get a no-cost Red Hat Enterprise
Linux Developer Subscription or renew it?
iii. You are using RHSM for the upgrade and you previously downloaded an older version of
the required data files but did not perform the upgrade, for example to create
automated scripts. You can also delete your older version of the data files to initiate the
automatic download of the latest file version.
14. Temporarily disable antivirus software to prevent the upgrade from failing.
15. Ensure that any configuration management system does not interfere with the in-place upgrade
process:
If you use a configuration management system with agentless architecture, such as Ansible,
do not execute the configuration and deployment file, such as an Ansible playbook, during
the in-place upgrade as described in Performing the upgrade from RHEL 7 to RHEL 8 .
10
CHAPTER 2. PREPARING FOR THE UPGRADE
16. Ensure your system does not use more than one Network Interface Card (NIC) with a name
based on the prefix used by the kernel (eth). For instructions on how to migrate to another
naming scheme before an in-place upgrade to RHEL 8, see How to perform an in-place
upgrade to RHEL 8 when using kernel NIC names on RHEL 7.
17. Ensure you have a full system backup or a virtual machine snapshot. You should be able to get
your system to the pre-upgrade state if you follow standard disaster recovery procedures within
your environment. For example, you can use the Relax-and-Recover (ReaR) utility. For more
information, see the ReaR documentation and What is Relax and Recover (ReaR) and how can I
use it for disaster recovery?. Alternatively, you can use LVM snapshots, or RAID splitting. In case
of upgrading a virtual machine, you can create a snapshot of the whole VM.
IMPORTANT
Users on Satellite systems must complete the preparatory steps described both in this
procedure and in Preparing a RHEL 7 system for the upgrade .
Procedure
1. Verify that Satellite is on a version in full or maintenance support. For more information, see
Red Hat Satellite Product Life Cycle .
2. Import a subscription manifest with RHEL 8 repositories into Satellite Server. For more
information, see the Managing Subscriptions chapter in the Content Management Guide for the
particular version of Red Hat Satellite , for example, for version 6.10.
3. Enable and synchronize all required RHEL 7 and RHEL 8 repositories with the latest updates for
RHEL 7.9 and RHEL 8.4.
NOTE
For RHEL 8 repositories, make sure to enable version 8.4 of each repository. If
you have enabled only the RHEL 8 version of the repositories, the in-place
upgrade is inhibited.
For example, for the Intel architecture without an Extended Update Support (EUS) subscription,
enable at minimum the following repositories:
11
Red Hat Enterprise Linux 8 Upgrading from RHEL 7 to RHEL 8
x86_64
x86_64 8.4
x86_64 8.4
For more information, see the Importing Content chapter in the Content Management
Guide for the particular version of Red Hat Satellite , for example, for version 6.10.
4. Attach the content host to a Content View containing the required RHEL 7 and RHEL 8
repositories.
For more information, see the Managing Content Views chapter in the Content Management
Guide for the particular version of Red Hat Satellite , for example, for version 6.10.
Verification
Verify that the latest RHEL 8 repositories have been enabled on Satellite Server:
12
CHAPTER 3. REVIEWING THE PRE-UPGRADE REPORT
The pre-upgrade report is available both in the /var/log/leapp/leapp-report.txt file and in the web
console. The report summarizes potential problems and proposes recommended solutions. The report
also helps you decide whether it is possible or advisable to proceed with the upgrade.
In certain configurations, Leapp generates true/false questions to determine how to proceed. All
questions are stored in /var/log/leapp/answerfile and in the pre-upgrade report in the Missing
required answers in the answer file message. Leapp inhibits the upgrade if you do not provide
answers to all the questions.
You have two options when assessing upgradability in the pre-upgrade phase:
a. Review the pre-upgrade report in the generated leapp-report.txt file and manually resolve
reported problems using the command-line interface.
b. Use the web console to review the report, apply automated remediations where available, and
fix remaining problems using the suggested remediation hints.
IMPORTANT
During the pre-upgrade phase, Leapp neither simulates the whole in-place upgrade
process nor downloads all RPM packages.
Reviewing a pre-upgrade report is useful also if you decide or need to redeploy a RHEL 8 system
without the in-place upgrade process.
NOTE
You can process the pre-upgrade report using your own custom scripts, for example, to
compare results from multiple reports across different environments. For more
information, see Automating your Red Hat Enterprise Linux pre-upgrade report workflow .
Prerequisites
The steps listed in Preparing for the upgrade have been completed.
Procedure
# leapp preupgrade
NOTE
13
Red Hat Enterprise Linux 8 Upgrading from RHEL 7 to RHEL 8
NOTE
If you are going to use custom repositories from the /etc/yum.repos.d/ directory
for the upgrade, enable the selected repositories as follows:
If you are going to upgrade without RHSM or using RHUI, add the --no-rhsm
option.
2. Provide answers to each question required by Leapp by either of the following methods:
a. Execute the leapp answer command, specifying the question you are responding to and
your confirmed answer.
For example, to confirm a True response to the question Disable pam_pkcs11 module in
PAM configuration?, execute the following command:
b. Manually edit the /var/log/leapp/answerfile file, uncomment the confirm line of the file by
deleting the # symbol, and confirm your answer as True or False; see Leapp answerfile.
1. Examine the report in the /var/log/leapp/leapp-report.txt file, and manually resolve all the
reported problems before proceeding with the in-place upgrade.
Prerequisites
The steps listed in Preparing for the upgrade have been completed.
Procedure
2. Navigate to the web console in your browser and log in as root or as a user configured in the
14
CHAPTER 3. REVIEWING THE PRE-UPGRADE REPORT
2. Navigate to the web console in your browser and log in as root or as a user configured in the
/etc/sudoers file. See Managing systems using the RHEL 7 web console for more information
about the web console.
3. On your RHEL 7 system, perform the pre-upgrade phase either from the command-line
interface or from the web console terminal:
# leapp preupgrade
NOTE
If you are going to use custom repositories from the /etc/yum.repos.d/ directory
for the upgrade, enable the selected repositories as follows:
If you are going to upgrade without RHSM or using RHUI, add the --no-rhsm
option.
4. In the web console, select In-place Upgrade Report from the left menu.
15
Red Hat Enterprise Linux 8 Upgrading from RHEL 7 to RHEL 8
The report table provides an overview of the problems found, their risk assessment, and
remediations (if available).
Risk factor:
Low - should not impact the system but can have an impact on applications
Inhibitor - will inhibit (hard stop) the upgrade process, otherwise the system could become
unbootable, inaccessible, or dysfunctional
5. Examine the content of the report. You can sort the table by clicking a header. To open a detail
pane, click a selected row.
Summary of the problem and links to Knowledgebase articles describing the problem in
more detail
Remediations - you can run or schedule an automated remediation (if available), and see its
results when applied
6. Optionally filter the results. Click the Filters button in the top left corner above the report and
apply a filter based on your preferences. Filter categories are applied in conjunction with one
another.
7. Select issues for which you want to apply an automated remediation. You have two options:
a. Choose individual items by clicking the Add to Remediation Plan button in the detail pane.
Alternatively, you can execute individual remediations directly by clicking Run Remediation
in the detail pane.
b. Select all items for which a remediation is available by clicking the Add all remediations to
plan button in the top right corner above the report.
8. Review and answer questions required by Leapp in the web console. Each unanswered question
appears as a Missing required answers in the answer file title in the Upgrade Report. Select a
title to answer the question:
a. To confirm the default True answer, select Add to Remediation Plan to execute the
remediation later or Run Remediation to execute the remediation immediately.
i. Execute the leapp answer command, specifying the question you are responding to
and your confirmed answer.
For example, to confirm a False response to the question Disable pam_pkcs11 module
in PAM configuration?, execute the following command:
ii. Manually edit the /var/log/leapp/answerfile file, uncomment the confirm line of the
18
CHAPTER 3. REVIEWING THE PRE-UPGRADE REPORT
ii. Manually edit the /var/log/leapp/answerfile file, uncomment the confirm line of the
file by deleting the # symbol, and confirm your answer as True or False; see Leapp
answerfile example.
9. Open the remediation plan by clicking the Remediation plan link in the top right corner above
the report. The remediation plan provides a list of all executed or scheduled remediations.
10. Process all scheduled remediations by clicking Execute Remediation Plan. The following
information is displayed for each remediation entry:
Standard output
Standard error
11. After executing selected remediations, generate the pre-upgrade report again by using the
leapp preupgrade command, examine the new report, and take additional remediation steps if
needed.
19
Red Hat Enterprise Linux 8 Upgrading from RHEL 7 to RHEL 8
Prerequisites
The steps listed in Preparing for the upgrade have been completed, including a full system
backup.
The steps listed in Reviewing the pre-upgrade report have been completed and all reported
issues resolved.
Procedure
# leapp upgrade
NOTE
If you are going to use custom repositories from the /etc/yum.repos.d/ directory
for the upgrade, enable the selected repositories as follows:
If you are going to upgrade without RHSM or using RHUI, add the --no-rhsm
option.
At the beginning of the upgrade process, Leapp performs the pre-upgrade phase described in
Reviewing the pre-upgrade report
If the system is upgradable, Leapp downloads necessary data and prepares an RPM transaction
for the upgrade.
If your system does not meet the parameters for a reliable upgrade, Leapp terminates the
upgrade process and provides a record describing the issue and a recommended solution in the
/var/log/leapp/leapp-report.txt file. For more information, see Troubleshooting.
# reboot
In this phase, the system boots into a RHEL 8-based initial RAM disk image, initramfs. Leapp
upgrades all packages and automatically reboots to the RHEL 8 system.
Alternatively, you can run the leapp upgrade command with the --reboot option and skip this
20
CHAPTER 4. PERFORMING THE UPGRADE FROM RHEL 7 TO RHEL 8
Alternatively, you can run the leapp upgrade command with the --reboot option and skip this
manual step.
3. Log in to the RHEL 8 system and verify its state as described in Verifying the post-upgrade
state of the RHEL 8 system.
21
Red Hat Enterprise Linux 8 Upgrading from RHEL 7 to RHEL 8
Prerequisites
The system has been upgraded following the steps described in Performing the upgrade from
RHEL 7 to RHEL 8 and you have been able to log in to RHEL 8.
Procedure
After the upgrade completes, determine whether the system is in the required state, at least:
# cat /etc/redhat-release
Red Hat Enterprise Linux release 8.4 (Ootpa)
# uname -r
4.18.0-305.el8_4.x86_64
Note that .el8 is important and the version should not be earlier than 4.18.0-305.
Verify that the release version is set to 8.4 immediately after the upgrade:
# subscription-manager release
Release: 8.4
Verify that network services are operational, for example, try to connect to a server using SSH.
Check the post-upgrade status of your applications. In some cases, you may need to perform
migration and configuration changes manually. For example, to migrate your databases, follow
instructions in RHEL 8 Database servers documentation .
22
CHAPTER 6. PERFORMING POST-UPGRADE TASKS
Prerequisites
The system has been upgraded following the steps described in Performing the upgrade from
RHEL 7 to RHEL 8 and you have been able to log in to RHEL 8.
The status of the in-place upgrade has been verified following the steps described in Verifying
the post-upgrade status of the RHEL 8 system.
Procedure
After performing the upgrade, complete the following tasks:
1. Remove any remaining Leapp packages from the exclude list in the /etc/dnf/dnf.conf
configuration file, including the snactor package. During the in-place upgrade, Leapp packages
that were installed with the Leapp utility are automatically added to the exclude list to prevent
critical files from being removed or updated. After the in-place upgrade, these Leapp packages
must be removed from the exclude list before they can be removed from the system.
To manually remove packages from the exclude list, edit the /etc/dnf/dnf.conf
configuration file and remove the desired Leapp packages from the exclude list.
Replace version with the kernel version determined in the previous step, for example:
Replace version with the kernel version determined in the previous step, for example:
23
Red Hat Enterprise Linux 8 Upgrading from RHEL 7 to RHEL 8
3. Ensure your system remains supported after the in-place upgrade. With the general availability
of RHEL 8.5, ensure that your system is updated to either RHEL 8.5 or to RHEL 8.4 Extended
Update Support (EUS).
i. Unset Red Hat Subscription Manager to consume the latest RHEL 8.5 content:
# yum update
b. Ensure that your system is updated to RHEL 8.4 EUS. If you used the --channel option to
set the EUS channel during the in-place upgrade, you do not need to take further steps.
Otherwise, update the system to RHEL 8.4 EUS:
Replace repository_id* with IDs of EUS repositories available with your subscription.
Enable at least the BaseOS and AppStream repositories. For example, on the Intel 64
architecture:
ii. Update your system to the latest RHEL 8.4 EUS version:
# yum update
4. Re-evaluate and re-apply your security policies. Especially, change the SELinux mode to
enforcing. For details, see Applying security policies .
24
CHAPTER 7. APPLYING SECURITY POLICIES
Prerequisites
The system has been upgraded and you have performed the verification steps described in
Verifying the post-upgrade state of the RHEL 8 system .
Procedure
1. Ensure that there are no SELinux denials, for example, by using the ausearch utility:
Note that the previous step covers only the most common scenario. To check for all possible
SELinux denials, see the Identifying SELinux denials section in the Using SELinux title, which
provides a complete procedure.
2. Open the /etc/selinux/config file in a text editor of your choice, for example:
# vi /etc/selinux/config
# reboot
Verification
1. After the system restarts, confirm that the getenforce command returns Enforcing:
25
Red Hat Enterprise Linux 8 Upgrading from RHEL 7 to RHEL 8
$ getenforce
Enforcing
Additional resources
After a successful installation or an in-place upgrade process, the system-wide cryptographic policy is
automatically set to DEFAULT. The DEFAULT system-wide cryptographic policy level offers secure
settings for current threat models.
To view or change the current system-wide cryptographic policy, use the update-crypto-policies tool:
$ update-crypto-policies --show
DEFAULT
For example, the following command switches the system-wide crypto policy level to FUTURE, which
should withstand any near-term future attacks:
You can also customize system-wide cryptographic policies. For details, see the Customizing system-
wide cryptographic policies with policy modifiers and Creating and setting a custom system-wide
cryptographic policy sections.
Additional resources
IMPORTANT
Red Hat does not provide any automated method to revert changes made by security-
hardening remediations. Remediations are supported on RHEL systems in the default
configuration. If your system has been altered after the installation, running remediation
might not make it compliant with the required security profile.
Prerequisites
26
CHAPTER 7. APPLYING SECURITY POLICIES
Procedure
You can replace pci-dss in the previous example by a profile required by your scenario.
# reboot
Verification
1. Evaluate the system of how it complies with the PCI-DSS profile, and save results to the
pcidss_report.html file:
Additional resources
27
Red Hat Enterprise Linux 8 Upgrading from RHEL 7 to RHEL 8
CHAPTER 8. TROUBLESHOOTING
You can refer to the following tips to troubleshoot upgrading from RHEL 7 to RHEL 8.
Console output
By default, only error and critical log level messages are printed to the console output by the Leapp
utility. To change the log level, use the --verbose or --debug options with the leapp upgrade
command.
In verbose mode, Leapp prints info, warning, error, and critical messages.
In debug mode, Leapp prints debug, info, warning, error, and critical messages.
Logs
The /var/log/leapp/leapp-upgrade.log file lists issues found during the initramfs phase.
Reports
The /var/log/leapp/leapp-report.txt file lists issues found during the pre-upgrade phase. The
report is also available in the web console, see Assessing upgradability and applying automated
remediations through the web console.
The /var/log/leapp/leapp-report.json file lists issues found during the pre-upgrade phase in a
machine-readable format, which enables you to process the report using custom scripts. For
more information, see Automating your Red Hat Enterprise Linux pre-upgrade report workflow .
Pre-upgrade phase
Verify that your system meets all conditions listed in Planning an upgrade.
Make sure you have followed all steps described in Preparing for the upgrade for example, your
system does not use more than one Network Interface Card (NIC) with a name based on the
prefix used by the kernel (eth).
Make sure you have answered all questions required by Leapp in the /var/log/leapp/answerfile
file. If any answers are missing, Leapp inhibits the upgrade. Example questions:
28
CHAPTER 8. TROUBLESHOOTING
Make sure you have resolved all problems identified in the pre-upgrade report, located at
/var/log/leapp/leapp-report.txt. To achieve this, you can also use the web console, as described
in Assessing upgradability and applying automated remediations through the web console .
The following is an example of an unedited /var/log/leapp/answerfile file that has one unanswered
question:
[remove_pam_pkcs11_module_check]
# Title: None
# Reason: Confirmation
# =================== remove_pam_pkcs11_module_check.confirm ==================
# Label: Disable pam_pkcs11 module in PAM configuration? If no, the upgrade process will
be interrupted.
# Description: PAM module pam_pkcs11 is no longer available in RHEL-8 since it was replaced
by SSSD.
# Type: bool
# Default: None
# Available choices: True/False
# Unanswered question. Uncomment the following line with your answer
# confirm =
The Label field specifies the question that requires an answer. In this example, the question is
Disable pam_pkcs11 module in PAM configuration?
To answer the question, uncomment the confirm line and enter an answer of True or False. In this
example, the selected answer is True:
[remove_pam_pkcs11_module_check]
...
# Available choices: True/False
# Unanswered question. Uncomment the following line with your answer
confirm = True
Download phase
If a problem occurs during downloading RPM packages, examine transaction debug data located
in the /var/log/leapp/dnf-debugdata/ directory.
initramfs phase
During this phase, potential failures redirect you to the Dracut shell. Check the Journal log:
# journalctl
Alternatively, restart the system from the Dracut shell using the reboot command and check the
/var/log/leapp/leapp-upgrade.log file.
Post-upgrade phase
If your system seems to be successfully upgraded but booted with the old RHEL 7 kernel, restart
29
Red Hat Enterprise Linux 8 Upgrading from RHEL 7 to RHEL 8
If your system seems to be successfully upgraded but booted with the old RHEL 7 kernel, restart
the system and check the kernel version of the default entry in GRUB.
Make sure you have followed the recommended steps in Verifying the post-upgrade state of
the RHEL 8 system.
If your application or a service stops working or behaves incorrectly after you have switched
SELinux to enforcing mode, search for denials using the ausearch, journalctl, or dmesg utilities:
The most common problems are caused by incorrect labeling. See Troubleshooting problems
related to SELinux for more details.
Network teaming currently does not work when the in-place upgrade is performed while
Network Manager is disabled or not installed.
If you use an HTTP proxy, Red Hat Subscription Manager must be configured to use such a
proxy, or the subscription-manager command must be executed with the --proxy
<hostname> option. Otherwise, an execution of the subscription-manager command fails. If
you use the --proxy option instead of the configuration change, the upgrade process fails
because Leapp is unable to detect the proxy. To prevent this problem from occurring, manually
edit the rhsm.conf file as described in How to configure HTTP Proxy for Red Hat Subscription
Management. (BZ#1689294)
If your RHEL 7 system is installed on an FCoE Logical Unit Number (LUN) and connected to a
network card that uses the bnx2fc driver, the LUN is not detected in RHEL 8 after the upgrade.
Consequently, the upgraded system fails to boot. (BZ#1718147)
If your RHEL 7 system uses a device driver that is provided by Red Hat but is not available in
RHEL 8, Leapp inhibits the upgrade. However, if the RHEL 7 system uses a third-party device
driver that is not included in the list of removed drivers (located at
/etc/leapp/repos.d/system_upgrade/el7toel8/actors/kernel/checkkerneldrivers/files/remove
d_drivers.txt), Leapp does not detect such a driver and proceeds with the upgrade.
Consequently, the system might fail to boot after the upgrade.
You cannot perform an in-place upgrade when the winbind and wins Samba modules are used
in the /etc/nsswitch.conf file at the moment. The upgrade transaction fails with the following
error messages and Leapp inhibits the upgrade:
upgrade[469]: STDERR:
upgrade[469]: Error in PREIN scriptlet in rpm package unbound-libs
upgrade[469]: Error: Transaction failed
upgrade[469]: Container el8userspace failed with error code 1.
unbound-libs has a PREIN failure
To work around this problem, configure the system so that it uses only local providers for the
user, groups, and hosts database during the update:
1. Open the system /etc/nsswitch.conf configuration file and search for entries that contain
30
CHAPTER 8. TROUBLESHOOTING
1. Open the system /etc/nsswitch.conf configuration file and search for entries that contain
the winbind or wins strings.
3. Edit /etc/nsswitch.conf and remove winbind or wins from the entries that contain them.
5. After the upgrade, add the winbind and wins strings to the respective entries in
/etc/nsswitch.conf, based on your system configuration requirements.
(BZ#1410154)
The Leapp utility does not change customized authentication configuration during the upgrade
process. If you used the deprecated authconfig utility to configure authentication on your
RHEL 7 system, authentication on RHEL 8 might not work correctly. To ensure that your custom
configuration functions properly on the RHEL 8 system, re-configure your RHEL 8 system with
the authselect utility.
IMPORTANT
If the name of a third-party package (not signed by Red Hat) installed on your system is the
same as the name of a package provided by Red Hat, the in-place upgrade fails. To work around
this problem, choose one of the following options prior to upgrading:
b. Replace the third-party package with the package provided by Red Hat
During an in-place upgrade, the docker package is removed without a warning. If you use
containers in RHEL, migrate to Podman prior to upgrading to RHEL 8. For instructions, see How
do I migrate my Docker containers to Podman prior to moving from Red Hat Enterprise Linux 7
to Red Hat Enterprise Linux 8?. (BZ#1858711)
Due to security reasons, support for single-DES (DES) and triple-DES (3DES) encryption types
has been removed from RHEL 8. RHEL 7 Identity Management (IdM), however, still supports
3DES encryption.
Upgrading an IdM environment from RHEL 7 to RHEL 8 is possible because both versions of
RHEL prefer stronger AES encryption types by default:
31
Red Hat Enterprise Linux 8 Upgrading from RHEL 7 to RHEL 8
[a] RC4 encryption has been deprecated and disabled by default in RHEL 8, as it is considered less secure than
the newer AES-128 and AES-256 encryption types. For more information on enabling RC4 support for
compatibility with legacy Active Directory environments, see Ensuring support for common encryption types in
AD and RHEL.
If you manually configured a non-IdM Kerberos Distribution Center (KDC), any services, or any
users to only use DES or 3DES encryption, you might experience service interruptions after
updating to the latest Kerberos packages in RHEL 8, such as:
Red Hat recommends you do not use DES or 3DES encryption in your environment. For more
information on re-keying Kerberos principals to use stronger encryption types, see Retiring DES
from MIT Kerberos Documentation.
The in-place upgrade fails on systems with Software Redundant Array of Independent Disks
(RAID). (BZ#1957192)
Systems with a disabled GRUB bootloader specification, such as systems using Puppet, cannot
create new initramfs for newer kernels. To work around this problem, manually remove packages
and the old kernel from the bootloader entry as described in Chapter 6: Performing post-
upgrade tasks. (BZ#1955099)
The Relax-and-Recover (ReaR) utility is not available on the IBM Z architecture. As a result, IBM
Z systems cannot be completely remediated by the OpenSCAP suite and might not be fully
compliant with security baselines. (BZ#1958939)
During the in-place upgrade, the Leapp utility usually preserves the network interface controller
(NIC) names between RHEL 7 and RHEL 8. However, on some systems, for example systems
with network bonding, the NIC names might need to be updated between RHEL 7 and RHEL 8.
On those systems, set the LEAPP_NO_NETWORK_RENAMING=1 environment variable,
perform the in-place upgrade, and then verify that your network is working as expected. If
needed, manually update the network configuration. (BZ#1919382)
During the pre-upgrade process, users might be required to answer true/false questions before
they can proceed with the upgrade. If the pre-upgrade report was run prior to the release of the
latest version of Leapp, the report might have incorrectly reported that all true/false questions
had been answered and that it was safe to proceed with the upgrade. If you ran the pre-upgrade
report prior to November 9, 2021, complete the following steps to prevent serious issues with
the upgrade:
32
CHAPTER 8. TROUBLESHOOTING
# rm -f /var/log/leapp/answerfile /var/log/leapp/answerfile.userchoices
3. Run the leapp preupgrade command and answer any true/false questions again.
(BZ#2014015)
# sosreport
For details on generating a sosreport, see the solution What is an sosreport and how to create one in
Red Hat Enterprise Linux?.
For more information on opening and managing a support case on the Customer Portal, see the article
How do I open and manage a support case on the Customer Portal? .
33
Red Hat Enterprise Linux 8 Upgrading from RHEL 7 to RHEL 8
34
APPENDIX A. RHEL 7 REPOSITORIES
If you plan to use Red Hat Subscription Manager during the upgrade, you must enable the following
repositories before the upgrade by using the subscription-manager repos --enable repository_id
command:
Extras rhel-7-server-extras-rpms
Extras rhel-7-for-power-le-extras-rpms
Extras rhel-7-for-power-9-extras-rpms
Extras rhel-7-for-system-z-extras-rpms
Extras rhel-7-for-system-z-a-extras-rpms
You can enable the following repositories before the upgrade by using the subscription-manager
repos --enable repository_id command:
Supplementary rhel-7-server-supplementary-rpms
Supplementary rhel-7-for-power-le-supplementary-rpms
Supplementary rhel-7-for-power-9-supplementary-rpms
35
Red Hat Enterprise Linux 8 Upgrading from RHEL 7 to RHEL 8
Supplementary rhel-7-for-system-z-supplementary-rpms
Supplementary N/A
NOTE
If you decide to use custom repositories, enable them per instructions in Configuring custom
repositories.
36
APPENDIX B. RHEL 8 REPOSITORIES
NOTE
Make sure to enable version 8.4 of each repository. If you have enabled only the RHEL 8
version of the repositories, the in-place upgrade is inhibited.
If you plan to use Red Hat Satellite during the upgrade, you must enable and synchronize at least the
following RHEL 8 repositories before the upgrade using either the Satellite web UI or the hammer
repository-set enable and hammer product synchronize commands:
37
Red Hat Enterprise Linux 8 Upgrading from RHEL 7 to RHEL 8
38