Add get_capabilities in nxapi module_utils (#42688)

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
pull/42735/head
Trishna Guha 6 years ago committed by GitHub
parent dc32842573
commit d5e9653c96
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -382,8 +382,34 @@ class Nxapi:
else:
return []
def get_device_info(self):
device_info = {}
device_info['network_os'] = 'nxos'
reply = self.run_commands({'command': 'show version', 'output': 'json'})
data = reply[0]
platform_reply = self.run_commands({'command': 'show inventory', 'output': 'json'})
platform_info = platform_reply[0]
device_info['network_os_version'] = data.get('sys_ver_str') or data.get('kickstart_ver_str')
device_info['network_os_model'] = data['chassis_id']
device_info['network_os_hostname'] = data['host_name']
device_info['network_os_image'] = data.get('isan_file_name') or data.get('kick_file_name')
if platform_info:
inventory_table = platform_info['TABLE_inv']['ROW_inv']
for info in inventory_table:
if 'Chassis' in info['name']:
device_info['network_os_platform'] = info['productid']
return device_info
def get_capabilities(self):
return {}
result = {}
result['device_info'] = self.get_device_info()
result['network_api'] = 'nxapi'
return result
def is_json(cmd):

@ -393,7 +393,7 @@ def main():
try:
info = get_capabilities(module)
api = info.get('network_api', 'nxapi')
api = info.get('network_api')
device_info = info.get('device_info', {})
os_platform = device_info.get('network_os_platform', '')
except ConnectionError:

Loading…
Cancel
Save