Using Red Hat Satellite Server with Nutanix AHV

NOTICE: Nutanix has released an official Red Hat Satellite server integration RPM that superceeds the manual procedure in this blog post. Please refer to the Nutanix.com blog post here for more details on how to download and use the RPM.

Do you need to integrate Red Hat Satellite Server with Nutanix AHV? If so, you've come to the right place. This blog post will cover the necessary steps to configure this integration, and properly license your Red Hat VMs running on Nutanix AHV.

Red Hat Enterprise Linux (RHEL) is one of the most popular server operating systems today, commonly used ​for both physical and virtual servers. Currently Red Hat officially supports several hypervisors including Red Hat Virtualization, VMware ESXi, Xen and Microsoft Hyper-V to run RHEL as a Guest VM. Many Nutanix customers run Red Hat as their guest operating system of choice on the Nutanix AHV hypervisor with great results.

Red Hat offers a “Red Hat Enterprise Linux for Virtual Datacenters” subscription that can be applied to supported Hypervisors which in turn will automatically apply the Red Hat licenses to the RHEL VM’s running on it. 

When running in a virtual environment, Red Hat offers a Virtual Datacenter Subscription (VDS) that allows for unlimited guest usage in virtual environments. When running a large environment with many RHEL VMs, this is an advantageous license option ​to optimize cost. To use this license you must also use Red Hat Satellite Server.

Red Hat has a KB article (2689021) which describes how to configure Red Hat Satellite on unsupported virtualization platforms. ​We will use that article as the basis for the remainder of this post. This is technically an unsupported configuration by both RedHat and Nutanix. However, as of the time of this writing it does work. Creation and modification of some configuration files are necessary, so I'll include dummy samples here that will need to be modified for your environment. 

​Red Hat Satellite Configuration

​There are a few pre-requesites that you should validate before jumping into the configuration:

  • A valid Red Hat Subscription for Datacenter Virtualization
  • A Red Hat Satellite Server 6 or above, configured and ready for use
  • Recommended: If you’re already using a supported hypervisor such as ESXi or Hyper-V, first register these hypervisors and apply a Red Hat license to the RHEL VMs under management. This will confirm that virt-who is operating correctly before configuring ​AHV.

Now that we've covered the pre-reqs, let's get down to business.

1. If this is your first time configuring Red Hat Satellite, then install the virt-who package on your Satellite server:

# yum install virt‐who 

​2. Create a AHV.conf virt-who configuration file at this path:
/etc/virt‐who.d/

​The configuration file should have the following lines:
[fake‐virt]

type=fake
​file=/etc/virt‐who.d/json/AHVfake.json
​is_hypervisor=True

owner=org_id  (Get the Org_id from the Satellite server)
env=Library   (ENV can be decided by the Customer)

rhsm_hostname=​(satellite server FQDN or IP)
rhsm_username=​(Satellite admin user)
rhsm_password=​(Satellite admin Password)
rhsm_prefix=/rhsm
hypervisor_id=​(AHV hostname)

​3. Download this AHVfake.json file (which ​we specified in the path above) and ​let's modify it for your environment. This file maps the hypervisor hostnames and guest UUIDs to the Satellite server. The sample below is the JSON format that must be followed. As you can see, the file can be used for multiple AHV hosts and VMs.


​The slightly tricky part of the file is getting the guest UUIDs. There are two ways to get them. First, we can use Nutanix ncli, and the second is from within the Red Hat guests. Both should give the same results so use what you feel comfortable with.

ncli: ncli vm ls
​Guest OS: ​​​dmidecode |grep -i uuid | tr '[:upper:]' '[:lower:]'

4. After you have modified the JSON file with the AHV hostnames and guest VM UUIDs, it's imperative that the file is perfectly formatted. ​To verify the formatting we can use an online JSON validator such as: https://jsonformatter.curiousconcept.com/

Your JSON must return as "VALID" or it will not work.

5. Restart virt-who and verify if there are any issues logged in /var/log/rhsm/rhsm.log. If there are no issues, the AHV Hosts specified in the JSON file will be populated under Content Host​ in the Satellite GUI.

# service virt‐who restart && tail ‐f /var/log/rhsm/rhsm.log

​6. Assign the physical Virtual Datacenter or other unlimited guest subscription to the AHV hypervisor in the Satellite Web GUI.

7. The RedHat Guest virtual machines should now be associated to the hypervisor and be able to retrieve the DERIVED SKU of type virtual from their respective Hypervisors.

Summary

​As you can see, it's fairly easy to configure Red Hat Satellite to work with AHV. Although it's not officially supported, you should get good results. Remember the virt-who service needs to run consistently, or else the mapping will fail and after 24 hours the guests will be in invalid subscription state. If you add or remove Red Hat VMs from the environment you will need to modify the JSON file. 

Print Friendly, PDF & Email

Related Posts

Subscribe
Notify of
5 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Steve C
May 28, 2019 2:09 pm

You stated this is unsupported. Is it true that enterprise support is available from SUSE for RHEL on Nutanix AHV? I’ve heard this is a feature of SUSE Linux Enterprise Server with Expanded Support.

Tom Young
January 17, 2020 7:35 am

What sysadmin will want to update the JSON every single time a VM is spun up, or migrated? I believe that the fake driver is meant for testing also, not production. I would check with Red Hat on that, since they wrote/maintain it.

Lincoln Gerlach
November 20, 2020 1:52 pm
Reply to  Derek Seaman

Do you have the link, Derek? My solution was working, but not anymore so I would like to revisit this. Tried to access links that I had and it did not work.