Looks like get_environment() is not there.
>>> driver = napalm.get_network_driver('nxos_ssh')
>>> device = driver(hostname='10.220.164.31', username='......', password='......')
>>> device.open()
>>> device.get_environment()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.6/site-packages/napalm/base/base.py", line 405, in get_environment
raise NotImplementedError
NotImplementedError
>>> device.get_facts()
{'uptime': 21004921, 'vendor': 'Cisco', 'os_version': '6.0(2)A7(2)', 'serial_number': 'FOC204303LG', 'model': 'Nexus', 'hostname': 'CHCGIL3K1-IPTV', 'fqdn': '', 'interface_list': ['Eth1/1', 'Eth1/2', 'Eth1/3', 'Eth1/4', 'Eth1/5', 'Eth1/6', 'Eth1/7', 'Eth1/8', 'Eth1/9', 'Eth1/10', 'Eth1/11', 'Eth1/12', 'Eth1/13', 'Eth1/14', 'Eth1/15', 'Eth1/16', 'Eth1/17', 'Eth1/18', 'Eth1/19', 'Eth1/20', 'Eth1/21', 'Eth1/22', 'Eth1/23', 'Eth1/24', 'Eth1/25', 'Eth1/26', 'Eth1/27', 'Eth1/28', 'Eth1/29', 'Eth1/30', 'Eth1/31', 'Eth1/32', 'Eth1/33', 'Eth1/34', 'Eth1/35', 'Eth1/36', 'Eth1/37', 'Eth1/38', 'Eth1/39', 'Eth1/40', 'Eth1/41', 'Eth1/42', 'Eth1/43', 'Eth1/44', 'Eth1/45', 'Eth1/46', 'Eth1/47', 'Eth1/48', 'mgmt0', 'Lo0']}
There is no get_environment in /usr/lib/python3.6/site-packages/napalm/nxos_ssh/nxos_ssh.py file.
Suggestion: Have Netbox check if the get_environment function returns anything, if not don't error out just display the get_facts info.
Thanks,
Wes