mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
made missing cli tools non fatal (#37194)
* made missing cli tools non fatal * remove bare exceptions these shoudl not be there as they can prevent 'wanted' exits
This commit is contained in:
parent
42912e1ac8
commit
0c2e7fd841
3 changed files with 39 additions and 28 deletions
|
@ -66,12 +66,18 @@ class FreeBSDHardware(Hardware):
|
||||||
def get_cpu_facts(self):
|
def get_cpu_facts(self):
|
||||||
cpu_facts = {}
|
cpu_facts = {}
|
||||||
cpu_facts['processor'] = []
|
cpu_facts['processor'] = []
|
||||||
rc, out, err = self.module.run_command("/sbin/sysctl -n hw.ncpu")
|
sysctl = self.module.get_bin_path('sysctl')
|
||||||
|
if sysctl:
|
||||||
|
rc, out, err = self.module.run_command("%s -n hw.ncpu" % sysctl, check_rc=False)
|
||||||
cpu_facts['processor_count'] = out.strip()
|
cpu_facts['processor_count'] = out.strip()
|
||||||
|
|
||||||
dmesg_boot = get_file_content(FreeBSDHardware.DMESG_BOOT)
|
dmesg_boot = get_file_content(FreeBSDHardware.DMESG_BOOT)
|
||||||
if not dmesg_boot:
|
if not dmesg_boot:
|
||||||
rc, dmesg_boot, err = self.module.run_command("/sbin/dmesg")
|
try:
|
||||||
|
rc, dmesg_boot, err = self.module.run_command(self.module.get_bin_path("dmesg"), check_rc=False)
|
||||||
|
except Exception:
|
||||||
|
dmesg_boot = ''
|
||||||
|
|
||||||
for line in dmesg_boot.splitlines():
|
for line in dmesg_boot.splitlines():
|
||||||
if 'CPU:' in line:
|
if 'CPU:' in line:
|
||||||
cpu = re.sub(r'CPU:\s+', r"", line)
|
cpu = re.sub(r'CPU:\s+', r"", line)
|
||||||
|
@ -84,7 +90,9 @@ class FreeBSDHardware(Hardware):
|
||||||
def get_memory_facts(self):
|
def get_memory_facts(self):
|
||||||
memory_facts = {}
|
memory_facts = {}
|
||||||
|
|
||||||
rc, out, err = self.module.run_command("/sbin/sysctl vm.stats")
|
sysctl = self.module.get_bin_path('sysctl')
|
||||||
|
if sysctl:
|
||||||
|
rc, out, err = self.module.run_command("%s vm.stats" % sysctl, check_rc=False)
|
||||||
for line in out.splitlines():
|
for line in out.splitlines():
|
||||||
data = line.split()
|
data = line.split()
|
||||||
if 'vm.stats.vm.v_page_size' in line:
|
if 'vm.stats.vm.v_page_size' in line:
|
||||||
|
@ -95,11 +103,14 @@ class FreeBSDHardware(Hardware):
|
||||||
freecount = int(data[1])
|
freecount = int(data[1])
|
||||||
memory_facts['memtotal_mb'] = pagesize * pagecount // 1024 // 1024
|
memory_facts['memtotal_mb'] = pagesize * pagecount // 1024 // 1024
|
||||||
memory_facts['memfree_mb'] = pagesize * freecount // 1024 // 1024
|
memory_facts['memfree_mb'] = pagesize * freecount // 1024 // 1024
|
||||||
|
|
||||||
|
swapinfo = self.module.get_bin_path('swapinfo')
|
||||||
|
if swapinfo:
|
||||||
# Get swapinfo. swapinfo output looks like:
|
# Get swapinfo. swapinfo output looks like:
|
||||||
# Device 1M-blocks Used Avail Capacity
|
# Device 1M-blocks Used Avail Capacity
|
||||||
# /dev/ada0p3 314368 0 314368 0%
|
# /dev/ada0p3 314368 0 314368 0%
|
||||||
#
|
#
|
||||||
rc, out, err = self.module.run_command("/usr/sbin/swapinfo -k")
|
rc, out, err = self.module.run_command("%s -k" % swapinfo)
|
||||||
lines = out.splitlines()
|
lines = out.splitlines()
|
||||||
if len(lines[-1]) == 0:
|
if len(lines[-1]) == 0:
|
||||||
lines.pop()
|
lines.pop()
|
||||||
|
|
|
@ -20,7 +20,7 @@ def is_chroot():
|
||||||
# check if my file system is the root one
|
# check if my file system is the root one
|
||||||
proc_root = os.stat('/proc/1/root/.')
|
proc_root = os.stat('/proc/1/root/.')
|
||||||
is_chroot = my_root.st_ino != proc_root.st_ino or my_root.st_dev != proc_root.st_dev
|
is_chroot = my_root.st_ino != proc_root.st_ino or my_root.st_dev != proc_root.st_dev
|
||||||
except:
|
except Exception:
|
||||||
# I'm not root or no proc, fallback to checking it is inode #2
|
# I'm not root or no proc, fallback to checking it is inode #2
|
||||||
is_chroot = (my_root.st_ino != 2)
|
is_chroot = (my_root.st_ino != 2)
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,7 @@ def get_file_content(path, default=None, strip=True):
|
||||||
data = default
|
data = default
|
||||||
finally:
|
finally:
|
||||||
datafile.close()
|
datafile.close()
|
||||||
except:
|
except Exception:
|
||||||
# ignore errors as some jails/containers might have readable permissions but not allow reads to proc
|
# ignore errors as some jails/containers might have readable permissions but not allow reads to proc
|
||||||
# done in 2 blocks for 2.4 compat
|
# done in 2 blocks for 2.4 compat
|
||||||
pass
|
pass
|
||||||
|
|
Loading…
Add table
Reference in a new issue