You can convert {RHEL} derivative distributions into a supportable {RHEL} on a host while retaining installed applications and configurations. {Project} provides Convert2RHEL utilities to simplify the conversion process.
The Convert2RHEL utilities in {Project} contain an Ansible role and Ansible playbook. You use the Ansible role to generate conversion data on {ProjectServer}, which includes enabling required repositories and creating products, activation keys, and host groups. Then you perform the actual conversion on the host 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 {RHEL} 7
-
Oracle Linux 7 to {RHEL} 7
-
Oracle Linux 8 to {RHEL} 8
These conversions are supported by Red Hat. You can use the Ansible playbook for other conversions as well, but in those cases you must enable required repositories and configure activation keys manually instead of using the Ansible role and variables. However, this approach was not tested and is not supported.
The conversion process is similar to a minor release upgrade of {RHEL} in which every RPM package on the system is replaced. Third-party packages and non-Red Hat packages that are not available in {RHEL} 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 {Team} 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.
-
Review Supported conversion paths in Converting from an RPM-based Linux distribution to RHEL.
-
You must have completed the steps 1.{range}5. of the procedure Preparing for a RHEL conversion in Converting from an RPM-based Linux distribution to RHEL.
-
Ensure you have a subscription manifest uploaded to your {Project} and that there are sufficient {RHEL} 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 Using manifests in Red Hat Subscription Management.
-
Ensure that you have enabled and synchronized Red Hat repositories in {Project} for the minor {RHEL} version to which you convert your hosts. For more information, see {ContentManagementDocURL}Enabling_Red_Hat_Repositories_content-management[Enabling Red Hat Repositories] and {ContentManagementDocURL}Synchronizing_Repositories_content-management[Synchronizing Repositories] in {ContentManagementDocTitle}.
-
Import the
{ansible-namespace}.convert2rhel
Ansible role and variables. For more information, see {ManagingConfigurationsAnsibleDocURL}Importing_Ansible_Roles_and_Variables_ansible[Importing Ansible Roles and Variables] in {ManagingConfigurationsAnsibleDocTitle}. -
Configure Ansible variables for generation of conversion data. For more information, see [ansible-variables-for-conversion_{context}].
-
Assign the
{ansible-namespace}.convert2rhel
role to the host that represents {ProjectServer}. For more information, see {ManagingConfigurationsAnsibleDocURL}Assigning_Ansible_Roles_to_an_Existing_Host_ansible[Assigning Ansible Roles to an Existing Host] in {ManagingConfigurationsAnsibleDocTitle}. -
Run the Ansible role on {ProjectServer}. For more information, see {ManagingConfigurationsAnsibleDocURL}running-ansible-roles-on-a-host_ansible[Running Ansible Roles on a Host] in {ManagingConfigurationsAnsibleDocTitle}.
The Ansible role generates data required for host conversion, that is, repositories, certificates, activation keys, and host groups. The role enables the
{RepoRHEL7Server}
repository with the 7Server release and x86_64 architecture, or{RepoRHEL8BaseOS}
and{RepoRHEL8AppStream}
, or both, depending on which variables you have set in the previous steps. -
Register a host for conversion 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 {ManagingHostsDocURL}Registering_Hosts_by_Using_Global_Registration_managing-hosts[Registering Hosts by Using Global Registration] in {ManagingHostsDocTitle}. -
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:
-
Job category:
Convert 2 RHEL
-
Job template:
Convert2RHEL analyze
For more information, see {ManagingHostsDocURL}executing-a-remote-job_managing-hosts[Executing a Remote Job] in {ManagingHostsDocTitle}.
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 Converting from an RPM-based Linux distribution to RHEL.
-
-
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 {RHEL} 7 -
convert2rhel_rhel8
if you convert to {RHEL} 8
-
For more information, see {ManagingHostsDocURL}executing-a-remote-job_managing-hosts[Executing a Remote Job] in {ManagingHostsDocTitle}.
-
-
How to perform an unsupported conversion from a RHEL-derived Linux distribution to RHEL in the Red Hat Knowledgebase
-
Convert2RHEL CLI tool on GitHub