Virt-who configuration created through Red Hat Satellite Web UI does not report whitelisted hypervisors

Solution Verified - Updated -

Environment

  • Red Hat Satellite 6

Issue

  • Virt-who is not reporting the whitelisted hypervisors to Red Hat Satellite.

Resolution

  • Verify that the correct hostnames of the hypervisors are being used from Red Hat Satellite Web UI using the following steps.

    Navigate to Satellite Web UI -> Infrastructure -> Virt-who Configurations -> Edit the desired Virt-who configuration -> Filtering -> Whitelist -> Filter hosts -> Verify the hostnames of hypervisors.
    
  • In another scenario, verify whether the whitelisted hypervisor names are defined as FQDNs or Hostnames on the hypervisor platform itself, accordingly, update the hypervisor names in Filter hosts section from Satellite Web UI, as an exact name match is required for the configuration to work correctly.

Root Cause

  • The hypervisor names are being used to whitelist are different from the actual hypervisor hostnames.
  • The hypervisor names are correct but the hypervisor names are mentioned only as hostnames on hypervisor platform but the whitelisting is performed with FQDN for those hypervisors and vice-versa.

Diagnostic Steps

  • Debug logs captured as below upon executing the below command on Satellite server.

    # virt-who -od
    2025-11-14 03:40:51,588 [virtwho.main DEBUG] MainProcess(<pid>):Thread-2 @esx.py:_run:173 - calling esx service
    2025-11-14 03:40:51,699 [virtwho.main DEBUG] MainProcess(<pid>):Thread-2 @esx.py:_run:173 - calling esx service
    2025-11-14 03:40:51,813 [virtwho.main DEBUG] MainProcess(<pid>):Thread-2 @esx.py:_run:173 - calling esx service
    2025-11-14 03:40:51,847 [virtwho.main INFO] MainProcess(<pid>):Thread-2 @virt.py:_send_data:1191 - Report for config "virt-who-config-1" gathered, placing in datastore
    2025-11-14 03:40:51,913 [virtwho.main DEBUG] MainProcess(<pid>):Thread-2 @virt.py:run:547 - Thread 'virt-who-config-1' stopped after running once
    2025-11-14 03:40:51,959 [virtwho.destination_-<id> DEBUG] MainProcess(<pid>):Thread-3 @virt.py:run:513 - Thread 'destination_-<id>' started
    2025-11-14 03:40:51,959 [rhsm.connection DEBUG] MainProcess(<pid>):Thread-3 @connection.py:__init__:239 - Environment variable NO_PROXY= will be used
    2025-11-14 03:40:51,960 [rhsm.connection DEBUG] MainProcess(<pid>):Thread-3 @connection.py:__init__:627 - Creating new BaseRestLib instance
    2025-11-14 03:40:51,960 [rhsm.connection DEBUG] MainProcess(<pid>):Thread-3 @connection.py:__init__:365 - Connection built: host=<satellite_fqdn> port=443 handler=/rhsm auth=basic username=virt_who_reporter_1
    2025-11-14 03:40:51,959 [virtwho.destination_-<id> DEBUG] MainProcess(<pid>):Thread-3 @subscriptionmanager.py:_connect:147 - Authenticating with RHSM username virt_who_reporter_1
    2025-11-14 03:40:51,959 [virtwho.destination_-<id> INFO] MainProcess(<pid>):Thread-3 @subscriptionmanager.py:_connect:158 - X-Correlation-ID: <id>
    2025-11-14 03:40:51,962 [rhsm.connection DEBUG] MainProcess(<pid>):Thread-3 @connection.py:_request:1146 - Making request: GET /rhsm/status/
    2025-11-14 03:40:51,962 [rhsm.connection DEBUG] MainProcess(<pid>):Thread-3 @connection.py:_create_connection:763 - Creating new connection
    2025-11-14 03:40:51,972 [rhsm.connection DEBUG] MainProcess(<pid>):Thread-3 2025-11-14 03:40:52,254 [rhsm.connection DEBUG] MainProcess(<pid>):Thread-3 @connection.py:_update_smoothed_response_time:1239 - Response time statistics: 0.0002s (latest), 0.0001s (smoothed)
    2025-11-14 03:40:52,254 [rhsm.connection DEBUG] MainProcess(<pid>):Thread-3 @connection.py:_request:1180 - Response: status=200, request="PUT /rhsm/hypervisors/<owner>/heartbeat?reporter_id=<reporter_id>"
    2025-11-14 03:40:52,254 [rhsm.connection DEBUG] MainProcess(<pid>):Thread-3 @connection.py:_request:1184 - Server wants to keep connection
    2025-11-14 03:40:52,254 [rhsm.connection DEBUG] MainProcess(<pid>):Thread-3 @connection.py:_request:1200 - Connection timeout: 15 is used from 'Keep-Alive' HTTP header
    2025-11-14 03:40:52,254 [rhsm.connection DEBUG] MainProcess(<pid>):Thread-3 @connection.py:_request:1203 - Max number of requests: 98 is used from 'Keep-Alive' HTTP header
    2025-11-14 03:40:52,255 [virtwho.virt DEBUG] MainProcess(<pid>):Thread-3 @virt.py:association:299 - Skipping host '<hypervisor_fqdn>' because its ID was not included in filter '['<filtered_hypervisors>']'
    2025-11-14 03:40:52,255 [virtwho.virt DEBUG] MainProcess(<pid>):Thread-3 @virt.py:association:299 - Skipping host '<hypervisor_fqdn>' because its ID was not included in filter '['<filtered_hypervisors>']'
    2025-11-14 03:40:52,255 [virtwho.virt DEBUG] MainProcess(<pid>):Thread-3 @virt.py:association:299 - Skipping host '<hypervisor_fqdn>' because its ID was not included in filter '['<filtered_hypervisors>']'
    2025-11-14 03:40:52,262 [virtwho.destination_-<id> INFO] MainProcess(<pid>):Thread-3 @virt.py:_send_data:797 - Hosts-to-guests mapping for config "virt-who-config-1": 0 hypervisors and 0 guests found
    2025-11-14 03:40:52,262 [virtwho.destination_-<id> DEBUG] MainProcess(<pid>):Thread-3 @virt.py:run:541 - Thread 'destination_-<id>' terminated
    2025-11-14 03:40:52,961 [virtwho.main DEBUG] MainProcess(<pid>):MainThread @__main__.py:main:24 - virt-who terminated
    
  • Remove the filter, confirm that all hypervisors are reporting successfully, and verify how the target hypervisors are reported using the following commands on Satellite server. The same commands can be used to validate the whitelisted hypervisors as well.

    # systemctl stop virt-who.service
    # virt-who -od >> /tmp/virt.log 2>&1
    # systemctl start virt-who.service
    # cat /tmp/virt.log | grep -i hypervisorId    <--- The reported hypervisor IDs will be reflected here 
    

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Comments