Bug 726440 - fact for virt.host_type is incorrectly getting set to Unknown on a bare-metal host (side affect of bug 722248)
Summary: fact for virt.host_type is incorrectly getting set to Unknown on a bare-metal...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: subscription-manager
Version: 6.2
Hardware: Unspecified
OS: Unspecified
unspecified
low
Target Milestone: rc
: ---
Assignee: Bryan Kearney
QA Contact: John Sefler
URL:
Whiteboard:
Depends On:
Blocks: rhsm-rhel62
TreeView+ depends on / blocked
 
Reported: 2011-07-28 15:25 UTC by John Sefler
Modified: 2011-12-06 17:22 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-12-06 17:22:52 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2011:1695 0 normal SHIPPED_LIVE subscription-manager bug fix and enhancement update 2011-12-06 01:23:29 UTC

Description John Sefler 2011-07-28 15:25:50 UTC
Description of problem:
A side affect of commit https://bugzilla.redhat.com/show_bug.cgi?id=722248#c1 is that on a bare metal host machine, the fact for virt.host_type is getting set to "Unknown" when the the value of "" returned from virt-what is actually a good value implying that this is NOT a virtual guest.  (see man virt-what)

On a bare metal machine prior to commit https://bugzilla.redhat.com/show_bug.cgi?id=722248#c1 ...


# subscription-manager facts --list | egrep "virt\."
virt.host_type: 
virt.is_guest: False

^^^ These results were correct


On a bare metal machine after commit https://bugzilla.redhat.com/show_bug.cgi?id=722248#c1 ...

# subscription-manager facts --list | egrep "virt\."
virt.host_type: Unknown
virt.is_guest: False

^^^ These results are wrong


I beleive the best fix for this bug is to make the following code change to hwprobe.py:


277     def getVirtInfo(self):
278         virt_dict = {}
279 
280         try:
281             host_type = self._get_output('virt-what')
282             virt_dict['virt.host_type'] = host_type
283             # If this is blank, then not a guest
284             virt_dict['virt.is_guest'] = bool(host_type)
285 #jsefler suggests these 2 lines as a fix for this bug
286             if host_type == "":
287                 virt_dict['virt.host_type'] = "Not Applicable"
288         # TODO:  Should this only catch OSErrors?
289         except:
290             # Otherwise there was an error running virt-what - who knows
291             virt_dict['virt.is_guest'] = 'Unknown'
292 
293         self.allhw.update(virt_dict)
294         return virt_dict


On a bare metal machine after jsefler's suggested fix ...

# subscription-manager facts --list | egrep "virt\."
virt.host_type: Not Applicable
virt.is_guest: False



NOTE: this fix is also translated to the subscription-manager-gui facts

Version-Release number of selected component (if applicable):
[root@jsefler-onprem-62server sbin]# rpm -q subscription-manager
subscription-manager-0.96.4-1.git.66.43ed963.el6.x86_64

Comment 1 Bryan Kearney 2011-07-29 19:31:11 UTC
Fixed in 1cbe0073910033eb27d271fbebf0992c17f3143e in master.

Comment 3 John Sefler 2011-08-01 14:12:38 UTC
Verifying Version....
[root@jsefler-onprem-62server tmp]# rpm -q subscription-manager
subscription-manager-0.96.4-1.git.70.a18d152.el6.x86_64


On a kvm guest...
[root@jsefler-onprem-62server ~]# subscription-manager facts --list | egrep ^virt
virt.host_type: kvm
virt.is_guest: True
virt.uuid: d5cbb7ab-542c-36c6-d2b8-116c085061ba

When virt-what return a zero exit code with stdout="" (simulates bare metal)...
[root@jsefler-onprem-62server ~]# subscription-manager facts --list | egrep ^virt
virt.host_type: Not Applicable
virt.is_guest: False

When virt-what return a non-zero exit code (simulates an error in virt-what)...
[root@jsefler-onprem-62server ~]# subscription-manager facts --list | egrep ^virt
virt.is_guest: Unknown
virt.uuid: Unknown


moving to VERIFIED

Comment 4 errata-xmlrpc 2011-12-06 17:22:52 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.

http://rhn.redhat.com/errata/RHBA-2011-1695.html


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