Hi,
I installed and configured Cisco Nexus 9k Add-on.
However, I got an error like this:
Nexus Error: Not able to Execute command through NXAPI: init() got an unexpected keyword argument ‘context’, DEVICE IP: xxxx.xxx.xx.xxx. COMMAND: show version
Has anyone experienced this? If so, can you please share the resolution?
One possible reason that I can think of is that this add-on issues NX-API call with https while on the switch' side, it is http, right? Can this add-on provides the option to choose whether http or https? Changing the code in collect.py is not very nice.
Thanks in advance.
I answered this question by myself. While debugging the Python scripts of this add-on, I found out that there is a protocol mismatch between "collect.py" and "utils/nxapi_utils.py". In the "collect.py", the URL is with HTTPS. But the "nxapi_utils.py" uses "RespFetcher", which is coded HTTP. So if you align these two scripts, it should work. I switched to HTTP in "collect.py" and I can see data is coming to Splunk. HTTPS doesn't work for me at the moment as it is not yet configured on the switch side. Hope it helps.
I answered this question by myself. While debugging the Python scripts of this add-on, I found out that there is a protocol mismatch between "collect.py" and "utils/nxapi_utils.py". In the "collect.py", the URL is with HTTPS. But the "nxapi_utils.py" uses "RespFetcher", which is coded HTTP. So if you align these two scripts, it should work. I switched to HTTP in "collect.py" and I can see data is coming to Splunk. HTTPS doesn't work for me at the moment as it is not yet configured on the switch side. Hope it helps.
@Iqiao2
Glad you figured this out! Would you mind approving your answer so that others know it's the correct solution? Thanks.