summaryrefslogtreecommitdiff
path: root/lib/ansible/module_utils/facts/virtual/linux.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ansible/module_utils/facts/virtual/linux.py')
-rw-r--r--lib/ansible/module_utils/facts/virtual/linux.py14
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'