fixes a number of issues with nxos_facts (#22923)

* updates command runs to return warning if command fails
* fixes variable issues from recent refactoring
* removes provider from return of module
This commit is contained in:
Peter Sprygada 2017-03-23 22:35:15 -04:00 committed by GitHub
commit 866f67e213
3 changed files with 15 additions and 6 deletions

View file

@ -203,7 +203,7 @@ class FactsBase(object):
try:
return resp[0]
except IndexError:
self.warnings.append('command %s returned to data, facts will not be populated' % command_string)
self.warnings.append('command %s failed, facts will not be populated' % command_string)
return None
def transform_dict(self, data, keymap):
@ -290,13 +290,13 @@ class Interfaces(FactsBase):
if data:
self.facts['interfaces'] = self.populate_interfaces(data)
data = self.run('show ipv6 inteface', 'json')
data = self.run('show ipv6 interface', 'json')
if data:
self.parse_ipv6_interfaces(out)
self.parse_ipv6_interfaces(data)
data = self.run('show lldp neighbors')
if data:
self.facts['neighbors'] = self.populate_neighbors(out)
self.facts['neighbors'] = self.populate_neighbors(data)
def populate_interfaces(self, data):
interfaces = dict()
@ -315,6 +315,11 @@ class Interfaces(FactsBase):
return interfaces
def populate_neighbors(self, data):
# if there are no neighbors the show command returns
# ERROR: No neighbour information
if data.startswith('ERROR'):
return dict()
data = data['TABLE_nbor']['ROW_nbor']
if isinstance(data, dict):
data = [data]