Add get_capabilities in nxapi module_utils (#42688)

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
This commit is contained in:
Trishna Guha 2018-07-13 11:11:35 +05:30 committed by GitHub
commit d5e9653c96
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 28 additions and 2 deletions

View file

@ -382,8 +382,34 @@ class Nxapi:
else: else:
return [] 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): def get_capabilities(self):
return {} result = {}
result['device_info'] = self.get_device_info()
result['network_api'] = 'nxapi'
return result
def is_json(cmd): def is_json(cmd):

View file

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