diff options
Diffstat (limited to 'lib/ansible/module_utils/facts/virtual/linux.py')
-rw-r--r-- | lib/ansible/module_utils/facts/virtual/linux.py | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/lib/ansible/module_utils/facts/virtual/linux.py b/lib/ansible/module_utils/facts/virtual/linux.py index 65e828b741..a92b661b6a 100644 --- a/lib/ansible/module_utils/facts/virtual/linux.py +++ b/lib/ansible/module_utils/facts/virtual/linux.py @@ -84,14 +84,20 @@ class LinuxVirtual(Virtual): virtual_facts['virtualization_role'] = 'guest' product_name = get_file_content('/sys/devices/virtual/dmi/id/product_name') + sys_vendor = get_file_content('/sys/devices/virtual/dmi/id/sys_vendor') + product_family = get_file_content('/sys/devices/virtual/dmi/id/product_family') if product_name in ('KVM', 'Bochs'): virtual_facts['virtualization_type'] = 'kvm' return virtual_facts - if product_name == 'RHEV Hypervisor': - virtual_facts['virtualization_type'] = 'RHEV' - return virtual_facts + if sys_vendor == 'Red Hat': + if product_family == 'RHV': + virtual_facts['virtualization_type'] = 'RHV' + return virtual_facts + elif product_name == 'RHEV Hypervisor': + virtual_facts['virtualization_type'] = 'RHEV' + return virtual_facts if product_name in ('VMware Virtual Platform', 'VMware7,1'): virtual_facts['virtualization_type'] = 'VMware' @@ -115,8 +121,6 @@ class LinuxVirtual(Virtual): virtual_facts['virtualization_type'] = 'kvm' return virtual_facts - sys_vendor = get_file_content('/sys/devices/virtual/dmi/id/sys_vendor') - KVM_SYS_VENDORS = ('QEMU', 'oVirt', 'Amazon EC2', 'Google', 'Scaleway') if sys_vendor in KVM_SYS_VENDORS: virtual_facts['virtualization_type'] = 'kvm' |