mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
continue fact gathering even without dmidecode (#34925)
* continue fact gathering even without dmidecode If dmidecode is not available we still wan to continue with fact gathering. On certain platforms dmidecode just won't work
This commit is contained in:
parent
ed6c4b4058
commit
cbe2915ba5
1 changed files with 9 additions and 7 deletions
|
@ -236,13 +236,15 @@ class LinuxVirtual(Virtual):
|
|||
# In older Linux Kernel versions, /sys filesystem is not available
|
||||
# dmidecode is the safest option to parse virtualization related values
|
||||
dmi_bin = self.module.get_bin_path('dmidecode')
|
||||
(rc, out, err) = self.module.run_command('%s -s system-product-name' % dmi_bin)
|
||||
if rc == 0:
|
||||
# Strip out commented lines (specific dmidecode output)
|
||||
vendor_name = ''.join([line.strip() for line in out.splitlines() if not line.startswith('#')])
|
||||
if vendor_name in ['VMware Virtual Platform', 'VMware7,1']:
|
||||
virtual_facts['virtualization_type'] = 'VMware'
|
||||
virtual_facts['virtualization_role'] = 'guest'
|
||||
# We still want to continue even if dmidecode is not available
|
||||
if dmi_bin is not None:
|
||||
(rc, out, err) = self.module.run_command('%s -s system-product-name' % dmi_bin)
|
||||
if rc == 0:
|
||||
# Strip out commented lines (specific dmidecode output)
|
||||
vendor_name = ''.join([line.strip() for line in out.splitlines() if not line.startswith('#')])
|
||||
if vendor_name.startwith('VMware'):
|
||||
virtual_facts['virtualization_type'] = 'VMware'
|
||||
virtual_facts['virtualization_role'] = 'guest'
|
||||
|
||||
# If none of the above matches, return 'NA' for virtualization_type
|
||||
# and virtualization_role. This allows for proper grouping.
|
||||
|
|
Loading…
Reference in a new issue