napalm-automation-community / napalm-ros

MikroTik RouterOS NAPALM driver
101 stars 39 forks source link

Get config for ROS #92

Closed SerhiiZahuba closed 2 years ago

SerhiiZahuba commented 2 years ago

Tell me please . Do you have plans to add get_config capability to this module? I'm using napalm-ros with netbox and wanted to see my routers config in the interface but now I realized that the module doesn't support get_config .

Method get_config not implemented for NAPALM driver <class 'napalm_ros.ros.ROSDriver'>

Thanks

luqasz commented 2 years ago

Hi.

Do you mean output of /export compact command on MikroTik ?

SerhiiZahuba commented 2 years ago

Yes

luqasz commented 2 years ago

I will do it after polishing tests. This requires SSH access as well since /export doesn't output anything via API.

vittore commented 2 years ago

+1

geoffdavis commented 2 years ago

I think this got fixed in #94 and #97

SerhiiZahuba commented 2 years ago

Can you help me ? i see an error after update module


(venv) [root@Inventory netbox]# napalm --user admin --vendor napalm_ros 91.1.1.1 call get_config
Enter password: 
2022-07-25 19:09:10,286 - napalm - ERROR - get_network_driver - Failed: No module named 'napalm_ros.query'

================= Traceback =================

Traceback (most recent call last):
  File "/opt/netbox/venv/bin/napalm", line 8, in <module>
    sys.exit(main())
  File "/opt/netbox/venv/lib/python3.9/site-packages/napalm/base/clitools/cl_napalm.py", line 308, in main
    run_tests(args)
  File "/opt/netbox/venv/lib/python3.9/site-packages/napalm/base/clitools/cl_napalm.py", line 268, in run_tests
    driver = call_get_network_driver(args.vendor)
  File "/opt/netbox/venv/lib/python3.9/site-packages/napalm/base/clitools/cl_napalm.py", line 27, in wrapper
    r = func(*args, **kwargs)
  File "/opt/netbox/venv/lib/python3.9/site-packages/napalm/base/clitools/cl_napalm.py", line 170, in call_get_network_driver
    return get_network_driver(vendor)
  File "/opt/netbox/venv/lib/python3.9/site-packages/napalm/base/__init__.py", line 95, in get_network_driver
    raise e
  File "/opt/netbox/venv/lib/python3.9/site-packages/napalm/base/__init__.py", line 86, in get_network_driver
    module = importlib.import_module(module_name)
  File "/usr/local/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/opt/netbox/venv/lib/python3.9/site-packages/napalm_ros/__init__.py", line 7, in <module>
    from napalm_ros.ros import ROSDriver
  File "/opt/netbox/venv/lib/python3.9/site-packages/napalm_ros/ros.py", line 37, in <module>
    from napalm_ros.query import (
ModuleNotFoundError: No module named 'napalm_ros.query'
luqasz commented 2 years ago

Done in #97