summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Coca <brian.coca+git@gmail.com>2016-08-26 11:39:12 -0400
committerBrian Coca <brian.coca+git@gmail.com>2016-08-26 11:39:12 -0400
commit1139d61d59bdc4ca2113fb6f7f8a9b211f358e00 (patch)
tree195d93436a858b6b578bd27a003f199e754271f1
parentb4f338bca738cbd3e3b64be2fc9579bcefa28d6e (diff)
downloadansible-1139d61d59bdc4ca2113fb6f7f8a9b211f358e00.tar.gz
simplified logic paths
-rw-r--r--lib/ansible/module_utils/facts.py63
1 files changed, 27 insertions, 36 deletions
diff --git a/lib/ansible/module_utils/facts.py b/lib/ansible/module_utils/facts.py
index 652aa12a5d..a173e36dc1 100644
--- a/lib/ansible/module_utils/facts.py
+++ b/lib/ansible/module_utils/facts.py
@@ -3173,47 +3173,38 @@ class OpenBSDVirtual(Virtual):
def get_virtual_facts(self):
sysctl_path = self.module.get_bin_path('sysctl')
+ # Set empty values as default
+ self.facts['virtualization_type'] = ''
+ self.facts['virtualization_role'] = ''
+
if sysctl_path:
rc, out, err = self.module.run_command("%s -n hw.product" % sysctl_path)
- if rc != 0:
- self.facts['virtualization_type'] = ''
- self.facts['virtualization_role'] = ''
- elif re.match('(KVM|Bochs|SmartDC).*', out):
- self.facts['virtualization_type'] = 'kvm'
- self.facts['virtualization_role'] = 'guest'
- elif re.match('.*VMware.*', out):
- self.facts['virtualization_type'] = 'VMware'
- self.facts['virtualization_role'] = 'guest'
- elif out.rstrip() == 'VirtualBox':
- self.facts['virtualization_type'] = 'virtualbox'
- self.facts['virtualization_role'] = 'guest'
- elif out.rstrip() == 'HVM domU':
- self.facts['virtualization_type'] = 'xen'
- self.facts['virtualization_role'] = 'guest'
- elif out.rstrip() == 'Parallels':
- self.facts['virtualization_type'] = 'parallels'
- self.facts['virtualization_role'] = 'guest'
- elif out.rstrip() == 'RHEV Hypervisor':
- self.facts['virtualization_type'] = 'RHEV'
- self.facts['virtualization_role'] = 'guest'
- else:
- # Try harder and see if hw.vendor has anything we could use.
- rc, out, err = self.module.run_command("%s -n hw.vendor" % sysctl_path)
- if rc != 0:
- self.facts['virtualization_type'] = ''
- self.facts['virtualization_role'] = ''
- elif out.rstrip() == 'QEMU':
+ if rc == 0:
+ if re.match('(KVM|Bochs|SmartDC).*', out):
self.facts['virtualization_type'] = 'kvm'
self.facts['virtualization_role'] = 'guest'
+ elif re.match('.*VMware.*', out):
+ self.facts['virtualization_type'] = 'VMware'
+ self.facts['virtualization_role'] = 'guest'
+ elif out.rstrip() == 'VirtualBox':
+ self.facts['virtualization_type'] = 'virtualbox'
+ self.facts['virtualization_role'] = 'guest'
+ elif out.rstrip() == 'HVM domU':
+ self.facts['virtualization_type'] = 'xen'
+ self.facts['virtualization_role'] = 'guest'
+ elif out.rstrip() == 'Parallels':
+ self.facts['virtualization_type'] = 'parallels'
+ self.facts['virtualization_role'] = 'guest'
+ elif out.rstrip() == 'RHEV Hypervisor':
+ self.facts['virtualization_type'] = 'RHEV'
+ self.facts['virtualization_role'] = 'guest'
else:
- # Set empty values if we find no match at all.
- self.facts['virtualization_type'] = ''
- self.facts['virtualization_role'] = ''
- else:
- # Set empty values if we find no sysctl binary.
- self.facts['virtualization_type'] = ''
- self.facts['virtualization_role'] = ''
-
+ # Try harder and see if hw.vendor has anything we could use.
+ rc, out, err = self.module.run_command("%s -n hw.vendor" % sysctl_path)
+ if rc == 0:
+ if out.rstrip() == 'QEMU':
+ self.facts['virtualization_type'] = 'kvm'
+ self.facts['virtualization_role'] = 'guest'
class HPUXVirtual(Virtual):
"""