diff options
author | Anil Kumar Muraleedharan <amuraleedhar@lenovo.com> | 2018-01-31 17:35:43 +0530 |
---|---|---|
committer | John R Barker <john@johnrbarker.com> | 2018-01-31 12:05:43 +0000 |
commit | 766f7c0577f43a007d901d047a40a3c121230f72 (patch) | |
tree | c1fa932cf78fb00cfe58712794aec0e21cdbb445 | |
parent | 06734f27c6ee056aef595cd72c38204624a28426 (diff) | |
download | ansible-766f7c0577f43a007d901d047a40a3c121230f72.tar.gz |
Fixing Bug for Embedded Switches in Parsing data (#35541)
-rw-r--r-- | lib/ansible/modules/network/enos/enos_facts.py | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/lib/ansible/modules/network/enos/enos_facts.py b/lib/ansible/modules/network/enos/enos_facts.py index 2c1146a341..b9072b5c61 100644 --- a/lib/ansible/modules/network/enos/enos_facts.py +++ b/lib/ansible/modules/network/enos/enos_facts.py @@ -208,7 +208,6 @@ class Default(FactsBase): return "NA" def parse_model(self, data): - # match = re.search(r'^Cisco (.+) \(revision', data, re.M) match = re.search(r'^Lenovo RackSwitch (\S+)', data, re.M | re.I) if match: return match.group(1) @@ -221,7 +220,6 @@ class Default(FactsBase): return "Image2" def parse_serialnum(self, data): - # match = re.search(r'board ID (\S+)', data) match = re.search(r'^Switch Serial No: (\S+)', data, re.M | re.I) if match: return match.group(1) @@ -370,6 +368,11 @@ class Interfaces(FactsBase): innerData['speed'] = intfSplit[1].strip() innerData['duplex'] = intfSplit[2].strip() innerData['operstatus'] = intfSplit[5].strip() + if("up" not in intfSplit[5].strip()) and ("down" not in intfSplit[5].strip()): + innerData['description'] = intfSplit[7].strip() + innerData['macaddress'] = intfSplit[9].strip() + innerData['mtu'] = intfSplit[10].strip() + innerData['operstatus'] = intfSplit[6].strip() interfaces[intfSplit[0].strip()] = innerData return interfaces @@ -384,6 +387,14 @@ class Interfaces(FactsBase): if match: key = match.group(1) parsed.append(line) + match = re.match(r'^(INT+)', line) + if match: + key = match.group(1) + parsed.append(line) + match = re.match(r'^(EXT+)', line) + if match: + key = match.group(1) + parsed.append(line) match = re.match(r'^(MGT+)', line) if match: key = match.group(1) @@ -401,6 +412,14 @@ class Interfaces(FactsBase): if match: key = match.group(1) parsed.append(line) + match = re.match(r'^(INT+)', line) + if match: + key = match.group(1) + parsed.append(line) + match = re.match(r'^(EXT+)', line) + if match: + key = match.group(1) + parsed.append(line) match = re.match(r'^(MGT+)', line) if match: key = match.group(1) |