From 4086cb4b25cbec7549d29438f141efc5a06af7f1 Mon Sep 17 00:00:00 2001 From: kalimsshar <34369784+kalimsshar@users.noreply.github.com> Date: Wed, 20 Dec 2017 18:33:47 +0100 Subject: [PATCH] Added support for Cisco stacks in ios_facts.py (#33714) --- lib/ansible/modules/network/ios/ios_facts.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/lib/ansible/modules/network/ios/ios_facts.py b/lib/ansible/modules/network/ios/ios_facts.py index 6645bb85d7..f3c5d5e9fa 100644 --- a/lib/ansible/modules/network/ios/ios_facts.py +++ b/lib/ansible/modules/network/ios/ios_facts.py @@ -194,9 +194,13 @@ class Default(FactsBase): return match.group(1) def parse_model(self, data): - match = re.search(r'^Cisco (.+) \(revision', data, re.M) + match = re.findall(r'^Model number\s+: (\S+)', data, re.M) if match: - return match.group(1) + return match + else: + match = re.search(r'^[Cc]isco (\S+).+bytes of memory', data, re.M) + if match: + return [match.group(1)] def parse_image(self, data): match = re.search(r'image file is "(.+)"', data) @@ -204,9 +208,13 @@ class Default(FactsBase): return match.group(1) def parse_serialnum(self, data): - match = re.search(r'board ID (\S+)', data) + match = re.findall(r'^System serial number\s+: (\S+)', data, re.M) if match: - return match.group(1) + return match + else: + match = re.search(r'board ID (\S+)', data) + if match: + return [match.group(1)] class Hardware(FactsBase):