Chapter 1. Introduction You can use host-based subscriptions for Red Hat Enterprise Linux virtual machines in the following virtualization platforms: Red Hat Virtualization Red Hat Enterprise Linux Virtualization (KVM) Red Hat OpenStack Platform VMware vSphere Microsoft Hyper-V Nutanix AHV 1.1. Recommendations for subscription usage reporting For accurate subscription usage reporting, follow these recommendations: Configure virt-who properly as described in the following sections of this guide. Set up system purpose on your systems and activation keys. For more information, see the following resources: Managing activation keys in Managing content Editing the system purpose of a host in Managing hosts In a connected environment, configure the Satellite inventory upload plugin to upload your inventory to Red Hat Hybrid Cloud Console so that you can use the Subscriptions service for subscription usage reporting. You can configure the plugin in the Satellite web UI by navigating to Configure > RH Cloud > Inventory Upload . For more information about the Subscriptions service, see Getting Started with the Subscriptions Service in Subscription Central . 1.2. Host-based subscriptions Virtual machines require host-based subscriptions instead of physical subscriptions. Many host-based subscriptions provide entitlements for unlimited virtual machines. To allow virtual machines to report host-guest mappings to their hypervisors, you must install and configure virt-who. Virt-who queries the virtualization platform and reports hypervisor and virtual machine information to Red Hat Satellite. This information is used in reporting about subscription usage which you can get in the Subscriptions service on the Red Hat Hybrid Cloud Console. To see if a subscription requires virt-who, in the Satellite web UI, navigate to Content > Subscriptions . If there is a tick in the Requires Virt-Who column, you must configure virt-who to use that subscription. 1.3. Configuration overview To allow virtual machines to report host-guest mappings and subscription information through their hypervisors, complete the following steps: Prerequisites Import a Subscription Manifest that includes a host-based subscription into Satellite Server. For more information, see Importing a Red Hat Subscription Manifest into Satellite Server in Managing Content . If you are using Microsoft Hyper-V, enable remote management on the hypervisors. If you are using Nutanix AHV, consult How to configure virt-who for Nutanix AHV to work with RHSM in the Red Hat Knowledgebase . Create a user with read-only access and a non-expiring password on each hypervisor or virtualization manager. Virt-who uses this account to retrieve the list of virtual machines to report to Satellite Server. For Red Hat products and Microsoft Hyper-V, create a virt-who user on each hypervisor that runs Red Hat Enterprise Linux virtual machines. For VMware vSphere, create a virt-who user on the vCenter Server. The virt-who user requires at least read-only access to all objects in the vCenter Data Center. Procedure overview Section 1.4, "Virt-who configuration for each virtualization platform" . Use the table in this section to plan how to configure and deploy virt-who for your virtualization platform. Chapter 2, Creating a virt-who configuration . Create a virt-who configuration for each hypervisor or virtualization manager. Chapter 3, Deploying a virt-who configuration . Deploy the virt-who configurations using the scripts generated by Satellite. Register the virtual machines to Satellite Server. For more information, see Registering hosts in Managing hosts . 1.4. Virt-who configuration for each virtualization platform Virt-who is configured using files that specify details such as the virtualization type and the hypervisor or virtualization manager to query. The supported configuration is different for each virtualization platform. Typical virt-who configuration file This example shows a typical virt-who configuration file created using the Satellite web UI or Hammer CLI: The type and server values depend on the virtualization platform. The following table provides more detail. The username refers to a read-only user on the hypervisor or virtualization manager, which you must create before configuring virt-who. The rhsm-username refers to an automatically generated user that only has permissions for virt-who reporting to Satellite Server. Required configuration for each virtualization platform Use this table to plan your virt-who configuration: Supported virtualization platform Type specified in the configuration file Server specified in the configuration file Server where the configuration file is deployed Red Hat Virtualization RHEL Virtualization (KVM) Red Hat OpenStack Platform libvirt Hypervisor (one file for each hypervisor) Each hypervisor VMware vSphere esx vCenter Server Satellite Server, Capsule Server, or a dedicated RHEL server Microsoft Hyper-V hyperv Hyper-V hypervisor (one file for each hypervisor) Satellite Server, Capsule Server, or a dedicated RHEL server Example virt-who configuration files Example virt-who configuration files for several common hypervisor types are shown. Example OpenStack virt-who configuration Example KVM virt-who configuration Example VMware virt-who configuration Important The rhevm and xen hypervisor types are not supported. The kubevirt hypervisor type is provided as a Technology Preview only.

Commands:
[virt-who-config-1] type=libvirt hypervisor_id=hostname owner=Default_Organization env=Library server=hypervisor1.example.com username=virt_who_user encrypted_password=USDcr_password rhsm_hostname=satellite.example.com rhsm_username=virt_who_reporter_1 rhsm_encrypted_password=USDuser_password rhsm_prefix=/rhsm
cat /etc/virt-who.d/virt-who-config-1.conf This configuration file is managed via the virt-who configure plugin manual edits will be deleted. [virt-who-config-1] type=libvirt hypervisor_id=hostname owner=ORG env=Library server=qemu:///system <==== username=virt-who-user encrypted_password=xxxxxxxxxxx rhsm_hostname=satellite.example.com rhsm_username=virt_who_reporter_1 rhsm_encrypted_password=yyyyyyyyyyy rhsm_prefix=/rhsm
type=libvirt hypervisor_id=hostname owner=gss env=Library server=qemu+ssh://root@libvirt.example.com/system username=root encrypted_password=33di3ksskd rhsm_hostname=satellite.example.com rhsm_username=virt_who_reporter_2 rhsm_encrypted_password=23233dj3j3k rhsm_prefix=/rhsm
type=esx hypervisor_id=hostname owner=gss env=Library server=vcenter.example.com username=username_vcenter@example.com encrypted_password=33di3ksskd rhsm_hostname=satellite.example.com rhsm_username=virt_who_reporter_2 rhsm_encrypted_password=23233dj3j3k rhsm_prefix=/rhsm