Bug 1372108

Summary: facts related to the identification of a virtual/physical system on ppc64/ppc64le are conflicting
Product: Red Hat Enterprise Linux 8 Reporter: John Sefler <jsefler>
Component: subscription-managerAssignee: candlepin-bugs
Status: CLOSED CANTFIX QA Contact: John Sefler <jsefler>
Severity: medium Docs Contact:
Priority: medium    
Version: 8.2CC: akaiser, asakpal, bcourt, csnyder, dlah, ktordeur, mshimura, nitthoma, nshaik, paolo.airaldi, redakkan, skallesh, suarora, wpoteat
Target Milestone: rc   
Target Release: ---   
Hardware: ppc64le   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-03-09 15:07:35 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description John Sefler 2016-09-01 00:15:56 UTC
Description of problem:
I believe this issue is a consequence of the work introduced by bug 1072524.  Likely this bug should be against component virt-what.

Automated tests are reserving ppc64le systems from Beaker https://beaker.engineering.redhat.com

Frequently, the system reserved by Beaker will grant a system that has facts indicative of a virtual guest, but virt-what does not recognize it as a guest, consequently the virt.is_guest fact ends up false while other facts are indicative of a virtual guest.


Version-Release number of selected component (if applicable):
[root@ibm-p8-kvm-03-guest-07 ~]# rpm -q subscription-manager python-rhsm virt-what
subscription-manager-1.17.10-1.el7.ppc64le
python-rhsm-1.17.6-1.el7.ppc64le
virt-what-1.13-8.el7.ppc64le


How reproducible:


Steps to Reproduce:
[root@ibm-p8-kvm-03-guest-07 ~]# hostname
ibm-p8-kvm-03-guest-07.rhts.eng.bos.redhat.com
[root@ibm-p8-kvm-03-guest-07 ~]# virt-what
[root@ibm-p8-kvm-03-guest-07 ~]# 

When virt-what returns an empty string as occurred on system ibm-p8-kvm-03-guest-07.rhts.eng.bos.redhat.com, the lack of a value indicates to subscription-manager that the system is physical and the system facts will include "virt.is_guest":"False".

However, if we curiously review other facts collected on this system, then it appears to be a virtual guest rather than a physical host...

[root@ibm-p8-kvm-03-guest-07 ~]# subscription-manager facts --list
cpu.core(s)_per_socket: 2
cpu.cpu(s): 16
cpu.cpu_socket(s): 1
cpu.thread(s)_per_core: 8
cpu.topology_source: kernel /sys cpu sibling lists
distribution.id: Maipo
distribution.name: Red Hat Enterprise Linux Server
distribution.version: 7.3
distribution.version.modifier: beta
lscpu.architecture: ppc64le
lscpu.byte_order: Little Endian
lscpu.core(s)_per_socket: 2
lscpu.cpu(s): 16
lscpu.l1d_cache: 64K
lscpu.l1i_cache: 32K
lscpu.model: 2.1 (pvr 004b 0201)
lscpu.model_name: POWER8E (raw), altivec supported
lscpu.numa_node(s): 1
lscpu.numa_node0_cpu(s): 0-15
lscpu.on-line_cpu(s)_list: 0-15
lscpu.socket(s): 1
lscpu.thread(s)_per_core: 8
memory.memtotal: 15822848
memory.swaptotal: 8191936
net.interface.eth0.ipv4_address: 10.16.69.245
net.interface.eth0.ipv4_address_list: 10.16.69.245
net.interface.eth0.ipv4_broadcast: 10.16.71.255
net.interface.eth0.ipv4_broadcast_list: 10.16.71.255
net.interface.eth0.ipv4_netmask: 21
net.interface.eth0.ipv4_netmask_list: 21
net.interface.eth0.ipv6_address.global: 2620:52:0:1040:5054:ff:feb8:307
net.interface.eth0.ipv6_address.global_list: 2620:52:0:1040:5054:ff:feb8:307
net.interface.eth0.ipv6_address.link: fe80::5054:ff:feb8:307
net.interface.eth0.ipv6_address.link_list: fe80::5054:ff:feb8:307
net.interface.eth0.ipv6_netmask.global: 64
net.interface.eth0.ipv6_netmask.global_list: 64
net.interface.eth0.ipv6_netmask.link: 64
net.interface.eth0.ipv6_netmask.link_list: 64
net.interface.eth0.mac_address: 52:54:00:B8:03:07
net.interface.lo.ipv4_address: 127.0.0.1
net.interface.lo.ipv4_address_list: 127.0.0.1
net.interface.lo.ipv4_broadcast: Unknown
net.interface.lo.ipv4_broadcast_list: Unknown
net.interface.lo.ipv4_netmask: 8
net.interface.lo.ipv4_netmask_list: 8
net.interface.lo.ipv6_address.host: ::1
net.interface.lo.ipv6_address.host_list: ::1
net.interface.lo.ipv6_netmask.host: 128
net.interface.lo.ipv6_netmask.host_list: 128
network.hostname: ibm-p8-kvm-03-guest-07.rhts.eng.bos.redhat.com
network.ipv4_address: 10.16.69.245
network.ipv6_address: 2620:52:0:1040:5054:ff:fec3:6142
proc_cpuinfo.common.machine: CHRP IBM pSeries (emulated by qemu)
proc_cpuinfo.common.model: IBM pSeries (emulated by qemu)
proc_cpuinfo.common.platform: pSeries
system.certificate_version: 3.2
uname.machine: ppc64le
uname.nodename: ibm-p8-kvm-03-guest-07.rhts.eng.bos.redhat.com
uname.release: 3.10.0-495.el7.ppc64le
uname.sysname: Linux
uname.version: #1 SMP Mon Aug 22 19:20:15 EDT 2016
virt.host_type: Not Applicable
virt.is_guest: False
virt.uuid: 32d2fb70-fa60-42ad-90bf-3139264e815a
[root@ibm-p8-kvm-03-guest-07 ~]# 


Notice from the list above that facts...
   virt.is_guest: False
   virt.host_type: Not Applicable
means the system will be treated as a physical system for entitlement purposes,
while the facts...
   virt.uuid: 32d2fb70-fa60-42ad-90bf-3139264e815a
   proc_cpuinfo.common.machine: CHRP IBM pSeries (emulated by qemu)
   proc_cpuinfo.common.model: IBM pSeries (emulated by qemu)
give me a clue that the system is actually a guest.



Expected Result:
Unfortunately I am not an expert at ppc64 / ppc64le hardware so I don't really know what the expected behavior should be, but the system facts appear conflicting.

Comment 2 John Sefler 2016-09-01 16:38:37 UTC
I see results from another automated test run that look conflicting...


ssh root.eng.bos.redhat.com rpm -q virt-what
Stdout: virt-what-1.13-8.el7.ppc64
Stderr:
ExitCode: 0

ssh root.eng.bos.redhat.com virt-what
Stdout: ibm_power-lpar_shared
Stderr:
ExitCode: 0

ssh root.eng.bos.redhat.com test -e /proc/device-tree/vm,uuid
Stdout:
Stderr:
ExitCode: 1

ssh root.eng.bos.redhat.com subscription-manager facts --list
Stdout: 
cpu.core(s)_per_socket: 1
cpu.cpu(s): 28
cpu.cpu_socket(s): 7
cpu.thread(s)_per_core: 4
cpu.topology_source: kernel /sys cpu sibling lists
distribution.id: Maipo
distribution.name: Red Hat Enterprise Linux Server
distribution.version: 7.3
distribution.version.modifier: beta
lscpu.architecture: ppc64
lscpu.byte_order: Big Endian
lscpu.core(s)_per_socket: 1
lscpu.cpu(s): 28
lscpu.cpu_op-mode(s): 32-bit, 64-bit
lscpu.l1d_cache: 32K
lscpu.l1i_cache: 32K
lscpu.model: 2.0 (pvr 004a 0200)
lscpu.model_name: POWER7 (architected), altivec supported
lscpu.numa_node(s): 1
lscpu.numa_node0_cpu(s): 0-27
lscpu.on-line_cpu(s)_list: 0-27
lscpu.socket(s): 7
lscpu.thread(s)_per_core: 4
memory.memtotal: 7821120
memory.swaptotal: 4194240
net.interface.eth0.ipv4_address: 10.16.67.109
net.interface.eth0.ipv4_address_list: 10.16.67.109
net.interface.eth0.ipv4_broadcast: 10.16.71.255
net.interface.eth0.ipv4_broadcast_list: 10.16.71.255
net.interface.eth0.ipv4_netmask: 21
net.interface.eth0.ipv4_netmask_list: 21
net.interface.eth0.ipv6_address.global: 2620:52:0:1040:a03a:adff:fe5a:4502
net.interface.eth0.ipv6_address.global_list: 2620:52:0:1040:a03a:adff:fe5a:4502
net.interface.eth0.ipv6_address.link: fe80::a03a:adff:fe5a:4502
net.interface.eth0.ipv6_address.link_list: fe80::a03a:adff:fe5a:4502
net.interface.eth0.ipv6_netmask.global: 64
net.interface.eth0.ipv6_netmask.global_list: 64
net.interface.eth0.ipv6_netmask.link: 64
net.interface.eth0.ipv6_netmask.link_list: 64
net.interface.eth0.mac_address: A2:3A:AD:5A:45:02
net.interface.lo.ipv4_address: 127.0.0.1
net.interface.lo.ipv4_address_list: 127.0.0.1
net.interface.lo.ipv4_broadcast: Unknown
net.interface.lo.ipv4_broadcast_list: Unknown
net.interface.lo.ipv4_netmask: 8
net.interface.lo.ipv4_netmask_list: 8
net.interface.lo.ipv6_address.host: ::1
net.interface.lo.ipv6_address.host_list: ::1
net.interface.lo.ipv6_netmask.host: 128
net.interface.lo.ipv6_netmask.host_list: 128
network.hostname: ibm-p740-01-lp2.rhts.eng.bos.redhat.com
network.ipv4_address: 10.16.67.109
network.ipv6_address: 2620:52:0:1040:a03a:adff:fe5a:4502
proc_cpuinfo.common.machine: CHRP IBM,8205-E6D
proc_cpuinfo.common.model: IBM,8205-E6D
proc_cpuinfo.common.platform: pSeries
system.certificate_version: 3.2
uname.machine: ppc64
uname.nodename: ibm-p740-01-lp2.rhts.eng.bos.redhat.com
uname.release: 3.10.0-500.el7.ppc64
uname.sysname: Linux
uname.version: #1 SMP Tue Aug 30 18:59:28 EDT 2016
virt.host_type: ibm_power-lpar_shared
virt.is_guest: True
Stderr:
ExitCode: 0


^^^^ 
Notice that this ppc64 system is identified by virt-who as a virt guest  ibm_power-lpar_shared, yet there is no virt uuid

Comment 7 John Sefler 2016-11-17 22:44:36 UTC
Here's another case like comment 2 on RHEL6 where virt-what returned "ibm_power-lpar_dedicated"...

ssh root.eng.bos.redhat.com rpm -q virt-what
Stdout: virt-what-1.11-1.3.el6.ppc64
Stderr:
ExitCode: 0


ssh root.eng.bos.redhat.com virt-what
Stdout: ibm_power-lpar_dedicated
Stderr:
ExitCode: 0

ssh root.eng.bos.redhat.com test -e /proc/device-tree/vm,uuid
Stdout:
Stderr:
ExitCode: 1

ssh root.eng.bos.redhat.com subscription-manager facts --list
Stdout: 
cpu.core(s)_per_socket: 1
cpu.cpu(s): 8
cpu.cpu_socket(s): 2
cpu.thread(s)_per_core: 4
cpu.topology_source: kernel /sys cpu sibling lists
distribution.id: Santiago
distribution.name: Red Hat Enterprise Linux Server
distribution.version: 6.9
distribution.version.modifier: beta
lscpu.architecture: ppc64
lscpu.byte_order: Big Endian
lscpu.core(s)_per_socket: 1
lscpu.cpu(s): 8
lscpu.cpu_op-mode(s): 32-bit, 64-bit
lscpu.l1d_cache: 64K
lscpu.l1i_cache: 32K
lscpu.l2_cache: 512K
lscpu.l3_cache: 8192K
lscpu.model: 2.1 (pvr 004b 0201)
lscpu.model_name: POWER7 (architected), altivec supported
lscpu.numa_node(s): 2
lscpu.numa_node0_cpu(s): Unknown
lscpu.numa_node3_cpu(s): 0-7
lscpu.on-line_cpu(s)_list: 0-7
lscpu.socket(s): 2
lscpu.thread(s)_per_core: 4
memory.memtotal: 12252800
memory.swaptotal: 6250432
net.interface.eth0.ipv4_address: 10.16.160.34
net.interface.eth0.ipv4_address_list: 10.16.160.34
net.interface.eth0.ipv4_broadcast: 10.16.167.255
net.interface.eth0.ipv4_broadcast_list: 10.16.167.255
net.interface.eth0.ipv4_netmask: 21
net.interface.eth0.ipv4_netmask_list: 21
net.interface.eth0.ipv6_address.global: 2620:52:0:10a0:688f:a6ff:feff:eb02
net.interface.eth0.ipv6_address.global_list: 2620:52:0:10a0:688f:a6ff:feff:eb02
net.interface.eth0.ipv6_address.link: fe80::688f:a6ff:feff:eb02
net.interface.eth0.ipv6_address.link_list: fe80::688f:a6ff:feff:eb02
net.interface.eth0.ipv6_netmask.global: 64
net.interface.eth0.ipv6_netmask.global_list: 64
net.interface.eth0.ipv6_netmask.link: 64
net.interface.eth0.ipv6_netmask.link_list: 64
net.interface.eth0.mac_address: 6A:8F:A6:FF:EB:02
net.interface.lo.ipv4_address: 127.0.0.1
net.interface.lo.ipv4_address_list: 127.0.0.1
net.interface.lo.ipv4_broadcast: Unknown
net.interface.lo.ipv4_broadcast_list: Unknown
net.interface.lo.ipv4_netmask: 8
net.interface.lo.ipv4_netmask_list: 8
net.interface.lo.ipv6_address.host: ::1
net.interface.lo.ipv6_address.host_list: ::1
net.interface.lo.ipv6_netmask.host: 128
net.interface.lo.ipv6_netmask.host_list: 128
network.fqdn: ibm-p8-06-lp3.klab.eng.bos.redhat.com
network.hostname: ibm-p8-06-lp3.klab.eng.bos.redhat.com
network.ipv4_address: 10.16.160.34
network.ipv6_address: ::1
proc_cpuinfo.common.machine: CHRP IBM,8247-22L
proc_cpuinfo.common.model: IBM,8247-22L
proc_cpuinfo.common.platform: pSeries
system.certificate_version: 3.2
uname.machine: ppc64
uname.nodename: ibm-p8-06-lp3.klab.eng.bos.redhat.com
uname.release: 2.6.32-671.el6.ppc64
uname.sysname: Linux
uname.version: #1 SMP Tue Nov 8 22:27:20 EST 2016
virt.host_type: ibm_power-lpar_dedicated
virt.is_guest: True
Stderr:
ExitCode: 0


^^^^ 
Once again, notice that this ppc64 system is identified by virt-who as a virt guest ibm_power-lpar_dedicated, yet there is no virt uuid

Comment 13 William Poteat 2020-01-29 15:40:45 UTC
There is no consistent way to get a machine UUID at this time. Moving to RHEL 8.

Comment 15 Rehana 2020-03-09 15:07:35 UTC
This a LPAR specific issue and subscription manager team can not fix this issue. Closing it as Can't fix