Chapter 8. Converting a host to Red Hat Enterprise Linux


You can convert Red Hat Enterprise Linux derivative distributions into a supportable Red Hat Enterprise Linux on a host while retaining installed applications and configurations. Satellite provides Convert2RHEL utilities to simplify the conversion process.

The Convert2RHEL utilities in Satellite contain an Ansible role and Ansible Playbook. You use the Ansible role to generate conversion data on Satellite Server, which includes enabling required repositories and creating products, activation keys, and host groups. Then you perform the actual conversion on the host by using the Ansible Playbook, which installs the Convert2RHEL CLI tool on the host and runs it.

You can use the Ansible role to generate conversion data for the following conversions:

  • CentOS Linux 7 to Red Hat Enterprise Linux 7
  • Oracle Linux 7 to Red Hat Enterprise Linux 7
  • Oracle Linux 8 to Red Hat Enterprise Linux 8

These conversions are supported by Red Hat.

The conversion process is similar to a minor release upgrade of Red Hat Enterprise Linux in which every RPM package on the system is replaced. Third-party packages and non-Red Hat packages that are not available in Red Hat Enterprise Linux are retained.

The Convert2RHEL utility removes unnecessary packages such as logos or packages known to cause issues during the conversion. The utility replaces the CentOS-release or Oracle-release package with the rhel-release package, and all packages signed by CentOS or Oracle with their Red Hat equivalents. The utility also subscribes the host to Red Hat Subscription Management.

The duration of the conversion process depends on the number of packages that have to be replaced, network speed, storage speed, and similar factors.

Prerequisites

  • Review Supported conversion paths in Red Hat Enterprise Linux 8 Converting from a Linux distribution to RHEL using the Convert2RHEL utility.
  • You must have completed the steps 1. – 5. of the procedure Preparing for a RHEL conversion in Red Hat Enterprise Linux 8 Converting from a Linux distribution to RHEL using the Convert2RHEL utility.
  • Ensure you have a subscription manifest uploaded to your Satellite and that there are sufficient Red Hat Enterprise Linux entitlements allocated for the conversions you intend. Alternatively, you can use Ansible variables to tell the role to import the manifest from disk. The manifest must be imported to the organization to which you will register hosts for conversion.

    You can update your allocations and download the updated manifest from the Red Hat Customer Portal. For more information, see Exporting and downloading a manifest in Creating and managing manifests for a connected Satellite Server.

  • Ensure that you have enabled and synchronized Red Hat repositories in Satellite for the minor Red Hat Enterprise Linux version to which you convert your hosts. For more information, see Enabling Red Hat Repositories and Synchronizing Repositories in Managing content.

High-level conversion steps

  1. Import the redhat.satellite.convert2rhel Ansible role and variables. For more information, see Importing Ansible Roles and Variables in Managing configurations by using Ansible integration.
  2. Configure Ansible variables for generation of conversion data. For more information, see Section 8.1, “Ansible variables for conversion”.
  3. Assign the redhat.satellite.convert2rhel role to the host that represents Satellite Server. For more information, see Assigning Ansible Roles to an Existing Host in Managing configurations by using Ansible integration.
  4. Run the Ansible role on Satellite Server. For more information, see Running Ansible Roles on a Host in Managing configurations by using Ansible integration.

    The Ansible role generates data required for host conversion, that is, repositories, certificates, activation keys, and host groups. The role enables the rhel-7-server-rpms repository with the 7Server release and x86_64 architecture, or rhel-8-for-x86_64-baseos-rpms and rhel-8-for-x86_64-appstream-rpms, or both, depending on which variables you have set in the previous steps.

  5. Register a host for conversion by using a generated host group.

    Use the global registration template to register and subscribe your host before the conversion. Select the host group that was generated for the conversion you intend, such as CentOS 7 converting if you convert the host from CentOS 7. For more information, see Section 4.3, “Registering hosts by using global registration”.

  6. Run the pre-conversion analysis on the host group to verify if your hosts are ready for the conversion. Execute a remote job with the following settings:

    Review pre-conversion analysis reports and resolve all issues that are blocking the conversion. Repeat this step until you resolve all blocking issues. For more information, see Reviewing the pre-conversion analysis report in Red Hat Enterprise Linux 8 Converting from a Linux distribution to RHEL using the Convert2RHEL utility.

  7. Run the Convert2RHEL playbook on the host group. Execute a remote job with the following settings:

    • Job category: Convert 2 RHEL
    • Job template: Convert to RHEL
    • Activation key:

      • convert2rhel_rhel7 if you convert to Red Hat Enterprise Linux 7
      • convert2rhel_rhel8 if you convert to Red Hat Enterprise Linux 8

    For more information, see Section 13.22, “Executing a remote job”.

8.1. Ansible variables for conversion

Before you run the Ansible role to generate conversion data, configure values of the following required Ansible variables.

Satellite imports most of the required Ansible variables from the redhat.satellite.convert2rhel role. However, some variables are not imported. These variables are marked with an asterisk * in the tables below. You must create those additional variables manually and assign them to the redhat.satellite.convert2rhel role.

Table 8.1. Required variables for conversion
NameTypeIntent and value

satellite_server_url *

string

URL of your Satellite Server, such as https://satellite.example.com

satellite_username *

string

Your user name

satellite_password *

string

Your password

satellite_organization *

string

Name of your organization

satellite_content_rhel_wait_for_syncs *

boolean

Set to false if you do not want Satellite Server to wait until repository sync finishes before continuing with data generation. (default: true)

satellite_validate_certs *

boolean

Set to true if you want to enable certificate checks in Ansible. (default: true)

satellite_convert2rhel_manage_subscription

boolean

Set to false if you already have a manifest on your Satellite Server. If you upload a new manifest from disk, the current manifest will be overwritten. (default: true)

satellite_content_rhel_enable_rhel7 *

boolean

Enables Red Hat Enterprise Linux 7 repositories. Set to false if you do not intend to convert hosts to Red Hat Enterprise Linux 7. (default: true)

satellite_convert2rhel_enable_oracle7

boolean

Set to true if you want to prepare conversion data for Oracle Linux 7. Otherwise, you must set the value to false.

satellite_content_rhel_enable_rhel8 *

boolean

Enables Red Hat Enterprise Linux 8 repositories. Set to false if you do not intend to convert hosts to Red Hat Enterprise Linux 8. (default: true)

satellite_convert2rhel_enable_oracle8

boolean

Set to true if you want to prepare conversion data for Oracle Linux 8. Otherwise, you must set the value to false.

Table 8.2. Optional variables for conversion
NameTypeIntent and value

satellite_manifest_path *

string

Path to a manifest to upload from disk, such as ~/manifest.zip. You must set this path if you upload a new manifest from disk using satellite_convert2rhel_manage_subscription.

satellite_content_rhel_rhel8_releasever *

string

Minor release version, such as 8.5. Set this variable if the minor release version of your system differs from the latest Red Hat Enterprise Linux release to prevent conversion issues. (default: latest)

Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.