Bug 1389729 - virt-who incorrectly reports 'name' instead of 'hostname' for RHEV hosts
Summary: virt-who incorrectly reports 'name' instead of 'hostname' for RHEV hosts
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: virt-who
Version: 7.2
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: rc
: ---
Assignee: Chris Snyder
QA Contact: Eko
Jiri Herrmann
URL:
Whiteboard:
Keywords: Triaged
: 1412862 (view as bug list)
Depends On:
Blocks: 1473733
TreeView+ depends on / blocked
 
Reported: 2016-10-28 10:44 UTC by Francisco Garcia
Modified: 2018-04-10 16:21 UTC (History)
7 users (show)

(edit)
*virt-who* now reads the 'address' field provided by RHEVM to discover and report the correct host name

Previously, if the *virt-who* utility reported on a Red Hat Virtualization (RHV) host and the "hypervisor_id=hostname" option was used, *virt-who* displayed an incorrect host name value. This update ensures that *virt-who* reads the correct field value in the described circumstances and as a result, the proper host name is displayed.
Clone Of:
(edit)
Last Closed: 2018-04-10 16:19:53 UTC


Attachments (Terms of Use)
screenshot-Address (54.96 KB, image/png)
2018-01-03 05:47 UTC, yuefliu
no flags Details


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHEA-2018:0895 None None None 2018-04-10 16:21 UTC
Github virt-who virt-who pull 73 None None None 2017-06-02 14:50 UTC

Description Francisco Garcia 2016-10-28 10:44:32 UTC
Description of problem:

virt-who is using the 'name' field of the RHEV-produced xml inventory. Since that is a user-definable field, it causes issues when reporting back to Satellite 6.2 . Satellite 6.2 introduces strict hostname verification and then a FQDN should be provided by virt-who, as well as filter out underscore characters "_" . 


Version-Release number of selected component (if applicable):
virt-who  0.17-9.el7sat


How reproducible:
Always, as follows

Steps to Reproduce:
1. Add a RHEV hypervisor and set their name to  "my_host_name".
2. Verify that virt-who uses that field instead of "address" XML field
3. Verify that virt-who fails to report to Satellite 6.2 as "my_host_name" fails strict validation.

Actual results:
virt-who

Expected results:
virt-who should report the 'address' field, which contains the DNS hostname of the hypervisor.

Additional info:

virt-who can be easily fixed by ammending the /usr/lib/python2.7/site-packages/virtwho/virt/rhevm/rhevm.py :

146             elif self.config.hypervisor_id == 'hostname':
147                 host_id = host.find('address').text
...
168             hosts[id] = virt.Hypervisor(hypervisorId=host_id, name=host.find('address').text, facts=facts)

Comment 2 Kevin Howell 2016-12-12 20:29:31 UTC
We need to validate what versions of RHEV this is valid for.

Comment 3 Chris Snyder 2017-05-11 21:13:41 UTC
*** Bug 1412862 has been marked as a duplicate of this bug. ***

Comment 4 Francisco Garcia 2017-06-02 11:25:12 UTC
hi Kevin,

Just checked this is valid for 3.5 to 4.1. I'd say this is also valid in all RHEV 3.x series and given it'll EOL in September, we're won't be introducing any breaking change.

Is there anything else required to fix this?

Thanks!

Comment 6 yuefliu 2017-11-02 10:32:28 UTC
The bug still exists with virt-who-0.21.0-1.el7.noarch against RHEVM4.1

Comment 8 yuefliu 2018-01-03 05:47 UTC
Created attachment 1376131 [details]
screenshot-Address

Comment 17 errata-xmlrpc 2018-04-10 16:19:53 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2018:0895


Note You need to log in before you can comment on or make changes to this bug.