This is a cache of https://developer.ibm.com/tutorials/awb-troubleshoot-rhel-subscription-issues/. It is a snapshot of the page as it appeared on 2025-11-16T02:40:24.410+0000.
Subscribing RHEL on IBM Cloud after provisioning issues - IBM Developer
This tutorial demonstrates how to subscribe a RHEL instance on IBM Cloud when the initial subscription fails during the first boot, often due to network issues. We’ll walk through how to fix this problem and also cover the different subscription options available, along with how cloud-init helps automate the process.
Test environment
This procedure has been tested on the following RHEL versions and images on IBM Cloud:
RHEL version
cloud-init version
VPC image
8.8
22.1-8.el8_8.1
ibm-redhat-8-8-minimal-amd64-9
8.10
23.4-7.el8_10.8
ibm-redhat-8-10-minimal-amd64-4
9.2
22.1-10.el9_2
ibm-redhat-9-2-minimal-amd64-8
9.4
23.4-7.el9_4.11
ibm-redhat-9-4-minimal-amd64-7
VSI profile used: cx3d-2x5
Important Note: IBM may update the subscription process or cloud-init configuration in the future. If this procedure no longer works, please reach out to IBM Cloud Support for help.
Resubscribe RHEL on IBM Cloud after provisioning failure
First, verify if your RHEL instance is not subscribed by running:
subscription-manager status
Copy codeCopied!
If the system is not subscribed, you’ll see something like this:
+-------------------------------------------+
System Status Details
+-------------------------------------------+
Overall Status: Unknown
\ Checking server status
Copy codeCopied!
Common reasons for subscription failure
No network connectivity to the Red Hat subscription endpoint.
A forced re-registration using subscription-manager register --force that didn’t complete properly.
Run the following command to get the subscription server hostname and port:
Use the following command to test if your instance can reach the subscription server:
You should see an output like:
* Trying 161.26.216.24:8443...
* Connected to rhha02.updates.eu-es.iaas.service.networklayer.com (161.26.216.24) port 8443 (#0)
Copy codeCopied!
If not, check your security groups and subnet ACLs to make sure traffic is allowed to the host and port.
To retry the subscription, restart the cloud-init process with these commands:
cloud-init clean
reboot
Copy codeCopied!
This will re-run the cloud-init scripts that handle RHEL subscription.
How it works
The subscription happens through a script located at:
/var/lib/cloud/instance/scripts/vendor/part-004
This script is triggered by the scripts-vendor module in cloud-init, which runs during the first boot. If you restart cloud-init, it will attempt the subscription again using the data provided by IBM Cloud in the cloud-init volume.
There are two main subscription models for RHEL on IBM Cloud:
Bring Your Own License (BYOL)
In this model, you use your own Red Hat subscription. It’s ideal if your organization already has a Red Hat contract and wants to manage licenses centrally.
Use a custom VPC image.
Subscription and license activation are handled by you, not IBM.
This file includes the subscription configuration used during the instance setup.
How RHEL subscription works with cloud-init
Here's a step-by-step overview of how the RHEL subscription is handled during instance provisioning:
Step
Description
Handled by
1
Virtual Server Instance (VSI) starts
IBM
2
cloud-init service starts
RHEL
3
DataSourceNoCloud is selected
cloud-init
4
Cloud-init volume is mounted
cloud-init
5
/var/lib/cloud/instance/ folder is created from volume files
cloud-init
6
Init, config, and final modules are executed
cloud-init
7
scripts-vendor module is executed
cloud-init
8
part-004 script runs the subscription registration
RHEL
9
Subscription settings updated in rhsm.conf and Red Hat repos are set up
subscription-manager
10
Red Hat repositories file redhat.repo is generated
subscription-manager
This process is triggered automatically during the first boot using the data provided by IBM Cloud.
Summary
This tutorial shows how to subscribe a RHEL instance on IBM Cloud if the initial attempt fails during the first boot, usually due to network issues. It also explains the different subscription models and how cloud-init helps automate the process.
FAQs
How is the cloud-init volume identified?
The cloud-init volume is identified by the label cidata.
About cookies on this siteOur websites require some cookies to function properly (required). In addition, other cookies may be used with your consent to analyze site usage, improve the user experience and for advertising.For more information, please review your cookie preferences options. By visiting our website, you agree to our processing of information as described in IBM’sprivacy statement. To provide a smooth navigation, your cookie preferences will be shared across the IBM web domains listed here.