6.6. Setting up a VMware Hypervisor

The virt-who packages that create the host/guest mapping are available for Red Hat Enterprise Linux. In a VMware environment, you must have Red Hat Enterprise Linux 6.6 or later available to run the virt-who service which connects to the VMware hypervisor.
The system running virt-who requires open access to vCenter on ports 80 and 443. Before following these steps, create a firewall exception to allow connections on port 80 and 443 from the Red Hat Satellite server to the vCenter:
  • On Red Hat Enterprise Linux 6:
    # iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT \
    && iptables -A INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT \
    && service iptables save
    Make sure the iptables service is started and enabled:
    # service iptables start
    # chkconfig iptables on
    
  • On Red Hat Enterprise Linux 7:
    # firewall-cmd --add-port="80/tcp" --add-port="443/tcp" \
    && firewall-cmd --permanent --add-port="80/tcp" --add-port="443/tcp"
Perform the following steps to set up a VMware hypervisor:
  1. Configure Subscription Manager on the virtual system to use the Satellite and the CA certificate, as follows:
    # rpm -ivh \
    http://satellite.example.com/pub/katello-ca-consumer-latest.noarch.rpm
  2. Register the Red Hat Enterprise Linux system (which communicates with the VMware server) to Satellite.
    # subscription-manager register --username=admin --password=secret --org=organization_label --auto-attach
    The organization label is available in the Satellite UI for the organization. If another system is already registered to that organization, then you can get the label by using the subscription-manager orgs command.
  3. Install the virt-who packages.
    # yum install virt-who
  4. On the Red Hat Enterprise Linux system (which communicates with the VMware hypervisor), edit the virt-who configuration file (/etc/sysconfig/virt-who) and set the following parameters (to identify the location of your ESX management server):
    VIRTWHO_BACKGROUND=1
    VIRTWHO_DEBUG=1
    VIRTWHO_SATELLITE6=1
    VIRTWHO_ESX=1
    VIRTWHO_ESX_OWNER=Organization_label
    VIRTWHO_ESX_SERVER=vcenter-server.example.com
    VIRTWHO_ESX_USERNAME=esx-readonly-user
    VIRTWHO_ESX_PASSWORD=MyGNU4pass!!
    VIRTWHO_ESX_ENV=Library
    
    The VIRTWHO_ESX_USERNAME is the local VMware vCenter or Microsoft Active Directory user with read-only permission to the virtual machines and hypervisors. With the VIRTWHO_SATELLITE6 parameter enabled, virt-who sends reports to Red Hat Satellite.
  5. Start and enable the virt-who service:
    • On Red Hat Enterprise Linux 6:
      # service virt-who start
      # chkconfig virt-who on
      
    • On Red Hat Enterprise Linux 7:
      # systemctl start virt-who
      # systemctl enable virt-who
      
    The data are added to the following file:
    /var/lib/virt-who/hypervisor-systemid-UUID
  6. After starting the virt-who service, monitor the /var/log/rhsm/rhsm.log file on the same system to confirm whether or not hosts and guests mappings are sent.
    2015-01-10 13:44:38,651 [DEBUG]  @subscriptionmanager.py:112 - Sending update in hosts-to-guests mapping: {44454c4c-3900-1057-804c-b2c04f375231: [42346e7b-f3df-6651-4d43-6de0c769c6c7, 564ddf1c-1eec-aba5-aec4-03d311ca298e, 4234ee7d-b239-ebb1-738f-55a83861d1a5, 42343eb8-838f-18f3-24f9-682455093072, 42345839-6316-6733-f5a1-bd4213d693b3, 42344725-cf73-f8d9-6bff-c88d4df5c67c]}
    
  7. On the Satellite server, go to HOSTSCONTENT HOST and confirm that host (hypervisor) systems profiles display.
    By default, the hypervisor name is esx hypervisor UUID. If desired, change this name in the Red Hat Satellite GUI by editing the system entry.
  8. To make virtual subscriptions available for virtual machines, the host system needs a subscription. To know on which host the virtual machine is running, open the virtual machine profile from the Content Host page. In the Details tab, the virtual machine displays as Virtual Host UUID. Click the UUID link that opens the host system profile. Then, in the Subscriptions tab, assign the subscription to the host system. If you have multiple VMware hypervisors running Red Hat Enterprise Linux guests, then attach a subscription to all the VMware hypervisors.
  9. To attach the subscription assigned to the hypervisor profile on the machine running the virt-who service, unsubscribe and then auto subscribe:
    # subscription-manager remove --all
    # subscription-manager attach --auto
    
  10. Confirm whether the subscription attached to the hypervisor is consumed by the guest running virt-who:
    # subscription-manager list --consumed
    
  11. When you install new virtual machines on the hypervisor, you must register the new virtual machines and use the subscription attached to the hypervisor:
    # rpm -ivh \
    http://satellite.example.com/pub/katello-ca-consumer-latest.noarch.rpm
  12. Register the new virtual machines and use the subscription attached to the hypervisor:
    # subscription-manager register --org=organization_label
    # subscription-manager attach --auto
    # subscription-manager list --consumed