virt-who create additional content hosts consuming twice the number of subscription
Cloned from https://bugzilla.redhat.com/show_bug.cgi?id=1367838
Description of problem:
virt-who, running in the RHEV environment, creates additional content host for the hypervisor, thus consuming two entitlement instead of 1
Version-Release number of selected component (if applicable):
Satellite 6.2 and possible 6.1
As of today, we have 4 outstanding cases in addition to private labs:
01498985 - combination of RHEL-H provisioned by Sat6.1 and virt-who, chews up double licenses
01630978 - [satellite] virt-who causes duplicated entries for virtualisation hosts
01683388 - virt-who creates a duplicate content host for RHEV Hypervisors
01685015 - Multiple licenses being consumed by virt-who and the actual physical host
Steps to Reproduce:
1. install virt-who on Satellite server
2. configure /etc/sysconfig/virt-who and /etc/virt-who.d/somehypervisor.conf
3. start/restart virt-who service on satellite server
virt-who will auto-detect a content host, and would auto-detect type as hypervisor, and name it as virt-who-<hostname>-<org-id> and consume one license. But this content host will remain in "never checked in" status.
In the mean time, in order for the same hypervisor to receive content from Satellite, we need to register it separately, which consume another physical license. But Satellite will not treat the registered content host as a hypervisor, and we would not see any virtual guest associated with host.
Satellite treats the registered content host as a hypervisor.
If we manually registered our rhev host and Satellite treat it as a hypervisor and associate the virtual guests with it, then we can filter out the auto-detected hypervisor and the end result would be only one physical license being consumed.
Or, if virt-who auto-detect the host and we can assign content to this host, then no filtering needed and everyone would be happy with one physical license being consumed.
As of now, virt-who auto-detected the content hosts as the hypervisor and assigns it a different UUID than that of the actual hypervisor.