Do not gather mem facts if command invalid (#40820)
* Do not gather mem facts if command invalid In some firmwares, 'show memory statistics' fail, thus do not populate mem if we got a failure after running that command. * Fix pep8 * Warn if got error when running 'sh memory statistics' * Fix pep8
This commit is contained in:
parent
e2146a7696
commit
669949e6a3
1 changed files with 12 additions and 7 deletions
|
@ -228,12 +228,15 @@ class Hardware(FactsBase):
|
|||
|
||||
data = self.responses[1]
|
||||
if data:
|
||||
processor_line = [l for l in data.splitlines()
|
||||
if 'Processor' in l].pop()
|
||||
match = re.findall(r'\s(\d+)\s', processor_line)
|
||||
if match:
|
||||
self.facts['memtotal_mb'] = int(match[0]) / 1024
|
||||
self.facts['memfree_mb'] = int(match[3]) / 1024
|
||||
if 'Invalid input detected' in data:
|
||||
warnings.append('Unable to gather memory statistics')
|
||||
else:
|
||||
processor_line = [l for l in data.splitlines()
|
||||
if 'Processor' in l].pop()
|
||||
match = re.findall(r'\s(\d+)\s', processor_line)
|
||||
if match:
|
||||
self.facts['memtotal_mb'] = int(match[0]) / 1024
|
||||
self.facts['memfree_mb'] = int(match[3]) / 1024
|
||||
|
||||
def parse_filesystems(self, data):
|
||||
return re.findall(r'^Directory of (\S+)/', data, re.M)
|
||||
|
@ -446,6 +449,9 @@ FACT_SUBSETS = dict(
|
|||
|
||||
VALID_SUBSETS = frozenset(FACT_SUBSETS.keys())
|
||||
|
||||
global warnings
|
||||
warnings = list()
|
||||
|
||||
|
||||
def main():
|
||||
"""main entry point for module execution
|
||||
|
@ -508,7 +514,6 @@ def main():
|
|||
key = 'ansible_net_%s' % key
|
||||
ansible_facts[key] = value
|
||||
|
||||
warnings = list()
|
||||
check_args(module, warnings)
|
||||
|
||||
module.exit_json(ansible_facts=ansible_facts, warnings=warnings)
|
||||
|
|
Loading…
Reference in a new issue