napalm-ros
napalm-ros copied to clipboard
Support for RouterOS v7
Description of Issue/Question
The BGP syntax has changed between RouterOS v6 and RouterOS v7. The bgp-functionality in this driver is not working on RouterOS v7.
Setup
napalm-ros version
(Paste verbatim output from pip freeze | grep napalm-ros between quotes below)
napalm-ros==1.2.6
ROS version
(Paste verbatim output from /system package print between quotes below)
7.15.1 (but applies to all 7.x versions)
librouteros version
(Paste verbatim output from pip freeze | grep librouteros between quotes below)
librouteros==3.2.1
python version
(paste output of python --version)
Python 3.9.18
Steps to Reproduce the Issue
Error Traceback
(Paste the complete traceback of the exception between quotes below)
napalm --user <<redacted >> --vendor napalm_ros <<redacted>> call get_bgp_neighbors
Enter password:
2024-08-19 20:37:33,355 - napalm - ERROR - method - Failed: 'prefix'
================= Traceback =================
Traceback (most recent call last):
File "/opt/peering-manager/venv/bin/napalm", line 8, in <module>
sys.exit(main())
File "/opt/peering-manager/venv/lib64/python3.9/site-packages/napalm/base/clitools/cl_napalm.py", line 308, in main
run_tests(args)
File "/opt/peering-manager/venv/lib64/python3.9/site-packages/napalm/base/clitools/cl_napalm.py", line 291, in run_tests
call_getter(device, args.method, **method_kwargs)
File "/opt/peering-manager/venv/lib64/python3.9/site-packages/napalm/base/clitools/cl_napalm.py", line 27, in wrapper
r = func(*args, **kwargs)
File "/opt/peering-manager/venv/lib64/python3.9/site-packages/napalm/base/clitools/cl_napalm.py", line 255, in call_getter
r = func(**kwargs)
File "/opt/peering-manager/venv/lib64/python3.9/site-packages/napalm_ros/ros.py", line 116, in get_bgp_neighbors
ip_version = IPNetwork(route["prefix"]).version
KeyError: 'prefix'