summaryrefslogtreecommitdiff
path: root/lib/ansible
diff options
context:
space:
mode:
authorAnil Kumar Muraleedharan <amuraleedhar@lenovo.com>2018-01-31 17:35:43 +0530
committerJohn R Barker <john@johnrbarker.com>2018-01-31 12:05:43 +0000
commit766f7c0577f43a007d901d047a40a3c121230f72 (patch)
treec1fa932cf78fb00cfe58712794aec0e21cdbb445 /lib/ansible
parent06734f27c6ee056aef595cd72c38204624a28426 (diff)
downloadansible-766f7c0577f43a007d901d047a40a3c121230f72.tar.gz
Fixing Bug for Embedded Switches in Parsing data (#35541)
Diffstat (limited to 'lib/ansible')
-rw-r--r--lib/ansible/modules/network/enos/enos_facts.py23
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)