diff options
author | Brian Coca <brian.coca+git@gmail.com> | 2016-08-26 11:39:12 -0400 |
---|---|---|
committer | Brian Coca <brian.coca+git@gmail.com> | 2016-08-26 11:39:12 -0400 |
commit | 1139d61d59bdc4ca2113fb6f7f8a9b211f358e00 (patch) | |
tree | 195d93436a858b6b578bd27a003f199e754271f1 | |
parent | b4f338bca738cbd3e3b64be2fc9579bcefa28d6e (diff) | |
download | ansible-1139d61d59bdc4ca2113fb6f7f8a9b211f358e00.tar.gz |
simplified logic paths
-rw-r--r-- | lib/ansible/module_utils/facts.py | 63 |
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): """ |