napalm-automation / napalm-base

Apache License 2.0
32 stars 48 forks source link

Implemented generic napalm tool with debugging capabilities #292

Closed dbarrosop closed 7 years ago

dbarrosop commented 7 years ago

Implemented a "show tech" type of command to gather enough data to start working with issues.

Note I added pre_connection, connection and post_connection method to the base driver so we can override on specifics drivers. This way we can run specific tests, enable debugging or show information for each particular platform. A pre_connection_test could easily be a telnet or curl to the device with the provided data and see if it works.

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

Traceback (most recent call last): File "/Users/dbarroso/.virtualenvs/napalm/bin/cl_napalm_show_tech", line 11, in load_entry_point('napalm-base', 'console_scripts', 'cl_napalm_show_tech')() File "/Users/dbarroso/workspace/napalm/napalm-base/napalm_base/clitools/cl_napalm_show_tech.py", line 131, in main run_tests(args) File "/Users/dbarroso/workspace/napalm/napalm-base/napalm_base/clitools/cl_napalm_show_tech.py", line 108, in run_tests driver = test_get_network_driver(args.vendor) File "/Users/dbarroso/workspace/napalm/napalm-base/napalm_base/clitools/cl_napalm_show_tech.py", line 30, in wrapper r = func(*args, **kwargs) File "/Users/dbarroso/workspace/napalm/napalm-base/napalm_base/clitools/cl_napalm_show_tech.py", line 57, in test_get_network_driver return get_network_driver(vendor) File "/Users/dbarroso/workspace/napalm/napalm-base/napalm_base/init.py", line 103, in get_network_driver install_name=module_install_name napalm_base.exceptions.ModuleImportError: Cannot import "napalm_eosa". Is the library installed?


* Example 2 - connection error

(napalm) rlyeh :: workspace/napalm/napalm-base ‹dbarrosop-show-tech› % cl_napalm_show_tech --user vagrant --password vagrant --vendor eos --optional_args "port=1244" localhost 2017-08-03 11:36:12,601 - napalm - DEBUG - Starting napalm's debugging tool 2017-08-03 11:36:12,601 - napalm - DEBUG - Gathering napalm packages 2017-08-03 11:36:12,614 - napalm - DEBUG - napalm-ansible==0.6.1 2017-08-03 11:36:12,614 - napalm - DEBUG - napalm-base==0.24.3 2017-08-03 11:36:12,614 - napalm - DEBUG - napalm-eos==0.6.0 2017-08-03 11:36:12,614 - napalm - DEBUG - napalm-fortios==0.4.0 2017-08-03 11:36:12,614 - napalm - DEBUG - napalm-ios==0.7.0 2017-08-03 11:36:12,614 - napalm - DEBUG - napalm-iosxr==0.5.4 2017-08-03 11:36:12,614 - napalm - DEBUG - napalm-junos==0.12.0 2017-08-03 11:36:12,614 - napalm - DEBUG - napalm-nxos==0.6.0 2017-08-03 11:36:12,614 - napalm - DEBUG - napalm-panos==0.4.0 2017-08-03 11:36:12,615 - napalm - DEBUG - napalm-pluribus==0.5.1 2017-08-03 11:36:12,615 - napalm - DEBUG - napalm-ros==0.2.2 2017-08-03 11:36:12,615 - napalm - DEBUG - napalm-vyos==0.1.3 2017-08-03 11:36:12,615 - napalm - DEBUG - napalm==1.2.0 2017-08-03 11:36:12,615 - napalm - DEBUG - get_network_driver - Calling with args: ('eos',), {} 2017-08-03 11:36:12,631 - napalm - ERROR - get_network_driver - Successful 2017-08-03 11:36:12,631 - napalm - DEBUG - init - Calling with args: (<class 'napalm_eos.eos.EOSDriver'>, 'localhost', 'vagrant', 'vagrant', 60), {'optional_args': {u'port': u'1244'}} 2017-08-03 11:36:12,631 - napalm - ERROR - init - Successful 2017-08-03 11:36:12,631 - napalm - DEBUG - pre_connection_tests - Calling with args: (<napalm_eos.eos.EOSDriver object at 0x10cf02850>,), {} 2017-08-03 11:36:12,631 - napalm - INFO - pre_connection_tests - Not implemented 2017-08-03 11:36:12,631 - napalm - DEBUG - open - Calling with args: (<napalm_eos.eos.EOSDriver object at 0x10cf02850>,), {} No handlers could be found for logger "pyeapi.eapilib" 2017-08-03 11:36:12,633 - napalm - ERROR - open - Failed: Socket error during eAPI connection: [Errno 61] Connection refused

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

Traceback (most recent call last): File "/Users/dbarroso/.virtualenvs/napalm/bin/cl_napalm_show_tech", line 11, in load_entry_point('napalm-base', 'console_scripts', 'cl_napalm_show_tech')() File "/Users/dbarroso/workspace/napalm/napalm-base/napalm_base/clitools/cl_napalm_show_tech.py", line 131, in main run_tests(args) File "/Users/dbarroso/workspace/napalm/napalm-base/napalm_base/clitools/cl_napalm_show_tech.py", line 114, in run_tests test_open_device(device) File "/Users/dbarroso/workspace/napalm/napalm-base/napalm_base/clitools/cl_napalm_show_tech.py", line 30, in wrapper r = func(*args, **kwargs) File "/Users/dbarroso/workspace/napalm/napalm-base/napalm_base/clitools/cl_napalm_show_tech.py", line 94, in test_open_device device.open() File "/Users/dbarroso/.virtualenvs/napalm/lib/python2.7/site-packages/napalm_eos/eos.py", line 118, in open raise ConnectionException(ce.message) napalm_base.exceptions.ConnectionException: Socket error during eAPI connection: [Errno 61] Connection refused


* Example 3 -  all good

(napalm) rlyeh :: workspace/napalm/napalm-base ‹dbarrosop-show-tech› % cl_napalm_show_tech --user vagrant --password vagrant --vendor eos --optional_args "port=12443" localhost 2017-08-03 11:36:41,687 - napalm - DEBUG - Starting napalm's debugging tool 2017-08-03 11:36:41,687 - napalm - DEBUG - Gathering napalm packages 2017-08-03 11:36:41,699 - napalm - DEBUG - napalm-ansible==0.6.1 2017-08-03 11:36:41,699 - napalm - DEBUG - napalm-base==0.24.3 2017-08-03 11:36:41,699 - napalm - DEBUG - napalm-eos==0.6.0 2017-08-03 11:36:41,699 - napalm - DEBUG - napalm-fortios==0.4.0 2017-08-03 11:36:41,699 - napalm - DEBUG - napalm-ios==0.7.0 2017-08-03 11:36:41,699 - napalm - DEBUG - napalm-iosxr==0.5.4 2017-08-03 11:36:41,699 - napalm - DEBUG - napalm-junos==0.12.0 2017-08-03 11:36:41,699 - napalm - DEBUG - napalm-nxos==0.6.0 2017-08-03 11:36:41,699 - napalm - DEBUG - napalm-panos==0.4.0 2017-08-03 11:36:41,699 - napalm - DEBUG - napalm-pluribus==0.5.1 2017-08-03 11:36:41,699 - napalm - DEBUG - napalm-ros==0.2.2 2017-08-03 11:36:41,699 - napalm - DEBUG - napalm-vyos==0.1.3 2017-08-03 11:36:41,699 - napalm - DEBUG - napalm==1.2.0 2017-08-03 11:36:41,699 - napalm - DEBUG - get_network_driver - Calling with args: ('eos',), {} 2017-08-03 11:36:41,708 - napalm - ERROR - get_network_driver - Successful 2017-08-03 11:36:41,708 - napalm - DEBUG - init - Calling with args: (<class 'napalm_eos.eos.EOSDriver'>, 'localhost', 'vagrant', 'vagrant', 60), {'optional_args': {u'port': u'12443'}} 2017-08-03 11:36:41,708 - napalm - ERROR - init - Successful 2017-08-03 11:36:41,708 - napalm - DEBUG - pre_connection_tests - Calling with args: (<napalm_eos.eos.EOSDriver object at 0x10ff61850>,), {} 2017-08-03 11:36:41,708 - napalm - INFO - pre_connection_tests - Not implemented 2017-08-03 11:36:41,708 - napalm - DEBUG - open - Calling with args: (<napalm_eos.eos.EOSDriver object at 0x10ff61850>,), {} 2017-08-03 11:36:41,741 - napalm - ERROR - open - Successful 2017-08-03 11:36:41,741 - napalm - DEBUG - connection_tests - Calling with args: (<napalm_eos.eos.EOSDriver object at 0x10ff61850>,), {} 2017-08-03 11:36:41,741 - napalm - INFO - connection_tests - Not implemented 2017-08-03 11:36:41,742 - napalm - DEBUG - get_facts - Calling with args: (<napalm_eos.eos.EOSDriver object at 0x10ff61850>,), {} 2017-08-03 11:36:41,768 - napalm - DEBUG - Gathered facts: {u'fqdn': u'localhost', u'hostname': u'localhost', u'interface_list': [u'Ethernet1', u'Ethernet2', u'Management1'], u'model': u'vEOS', u'os_version': u'4.15.2.1F-2759627.41521F', u'serial_number': u'', u'uptime': 57151, u'vendor': u'Arista'} 2017-08-03 11:36:41,768 - napalm - ERROR - get_facts - Successful 2017-08-03 11:36:41,768 - napalm - DEBUG - close - Calling with args: (<napalm_eos.eos.EOSDriver object at 0x10ff61850>,), {} 2017-08-03 11:36:41,769 - napalm - ERROR - close - Successful 2017-08-03 11:36:41,769 - napalm - DEBUG - post_connection_tests - Calling with args: (<napalm_eos.eos.EOSDriver object at 0x10ff61850>,), {} 2017-08-03 11:36:41,769 - napalm - INFO - post_connection_tests - Not implemented


* Example 4 - users can even ask for a particular getter

(napalm) rlyeh :: workspace/napalm/napalm-base ‹dbarrosop-show-tech› % cl_napalm_show_tech --user vagrant --password vagrant --vendor eos --optional_args "port=12443" -g get_route_to -k destination=10.0.2.1 localhost 2017-08-03 11:37:11,711 - napalm - DEBUG - Starting napalm's debugging tool 2017-08-03 11:37:11,711 - napalm - DEBUG - Gathering napalm packages 2017-08-03 11:37:11,725 - napalm - DEBUG - napalm-ansible==0.6.1 2017-08-03 11:37:11,725 - napalm - DEBUG - napalm-base==0.24.3 2017-08-03 11:37:11,725 - napalm - DEBUG - napalm-eos==0.6.0 2017-08-03 11:37:11,725 - napalm - DEBUG - napalm-fortios==0.4.0 2017-08-03 11:37:11,725 - napalm - DEBUG - napalm-ios==0.7.0 2017-08-03 11:37:11,725 - napalm - DEBUG - napalm-iosxr==0.5.4 2017-08-03 11:37:11,725 - napalm - DEBUG - napalm-junos==0.12.0 2017-08-03 11:37:11,725 - napalm - DEBUG - napalm-nxos==0.6.0 2017-08-03 11:37:11,725 - napalm - DEBUG - napalm-panos==0.4.0 2017-08-03 11:37:11,725 - napalm - DEBUG - napalm-pluribus==0.5.1 2017-08-03 11:37:11,725 - napalm - DEBUG - napalm-ros==0.2.2 2017-08-03 11:37:11,725 - napalm - DEBUG - napalm-vyos==0.1.3 2017-08-03 11:37:11,725 - napalm - DEBUG - napalm==1.2.0 2017-08-03 11:37:11,726 - napalm - DEBUG - get_network_driver - Calling with args: ('eos',), {} 2017-08-03 11:37:11,734 - napalm - ERROR - get_network_driver - Successful 2017-08-03 11:37:11,734 - napalm - DEBUG - init - Calling with args: (<class 'napalm_eos.eos.EOSDriver'>, 'localhost', 'vagrant', 'vagrant', 60), {'optional_args': {u'port': u'12443'}} 2017-08-03 11:37:11,734 - napalm - ERROR - init - Successful 2017-08-03 11:37:11,734 - napalm - DEBUG - pre_connection_tests - Calling with args: (<napalm_eos.eos.EOSDriver object at 0x107251890>,), {} 2017-08-03 11:37:11,734 - napalm - INFO - pre_connection_tests - Not implemented 2017-08-03 11:37:11,734 - napalm - DEBUG - open - Calling with args: (<napalm_eos.eos.EOSDriver object at 0x107251890>,), {} 2017-08-03 11:37:11,768 - napalm - ERROR - open - Successful 2017-08-03 11:37:11,768 - napalm - DEBUG - connection_tests - Calling with args: (<napalm_eos.eos.EOSDriver object at 0x107251890>,), {} 2017-08-03 11:37:11,768 - napalm - INFO - connection_tests - Not implemented 2017-08-03 11:37:11,769 - napalm - DEBUG - get_facts - Calling with args: (<napalm_eos.eos.EOSDriver object at 0x107251890>,), {} 2017-08-03 11:37:11,796 - napalm - DEBUG - Gathered facts: {u'fqdn': u'localhost', u'hostname': u'localhost', u'interface_list': [u'Ethernet1', u'Ethernet2', u'Management1'], u'model': u'vEOS', u'os_version': u'4.15.2.1F-2759627.41521F', u'serial_number': u'', u'uptime': 57181, u'vendor': u'Arista'} 2017-08-03 11:37:11,797 - napalm - ERROR - get_facts - Successful 2017-08-03 11:37:11,797 - napalm - DEBUG - getter - Calling with args: (<napalm_eos.eos.EOSDriver object at 0x107251890>, 'get_route_to'), {u'destination': u'10.0.2.1'} 2017-08-03 11:37:11,797 - napalm - DEBUG - get_route_to - Attempting to resolve getter 2017-08-03 11:37:11,797 - napalm - DEBUG - get_route_to - Attempting to call getter with kwargs: {u'destination': u'10.0.2.1'} 2017-08-03 11:37:11,830 - napalm - DEBUG - get_route_to - Response {u'10.0.2.0/24': [{u'age': 0, u'current_active': True, u'inactive_reason': u'', u'last_active': True, u'next_hop': u'', u'outgoing_interface': u'Management1', u'preference': 0, u'protocol': u'connected', u'protocol_attributes': {}, u'routing_table': u'default', u'selected_next_hop': True}]} 2017-08-03 11:37:11,831 - napalm - ERROR - getter - Successful 2017-08-03 11:37:11,831 - napalm - DEBUG - close - Calling with args: (<napalm_eos.eos.EOSDriver object at 0x107251890>,), {} 2017-08-03 11:37:11,831 - napalm - ERROR - close - Successful 2017-08-03 11:37:11,831 - napalm - DEBUG - post_connection_tests - Calling with args: (<napalm_eos.eos.EOSDriver object at 0x107251890>,), {} 2017-08-03 11:37:11,831 - napalm - INFO - post_connection_tests - Not implemented

dbarrosop commented 7 years ago

We could potentially extend with an --attempt-configuration-change kind of option but that might be tricky so we could potentially do it after this one is merged to avoid blocking it.

mirceaulinic commented 7 years ago

Ready to merge @dbarrosop?

dbarrosop commented 7 years ago

Masking passwords shouldn't be hard. Will do.

dbarrosop commented 7 years ago

Hiding the password:

(napalm) ➜  napalm-base git:(dbarrosop-show-tech) ✗ cl_napalm_show_tech --user vagrant --password vagrant --vendor eos --optional_args "port=1244" localhost
2017-08-14 19:27:13,916 - napalm - DEBUG - Starting napalm's debugging tool
2017-08-14 19:27:13,917 - napalm - DEBUG - Gathering napalm packages
2017-08-14 19:27:13,931 - napalm - DEBUG - napalm-ansible==0.7.0
2017-08-14 19:27:13,931 - napalm - DEBUG - napalm-base==0.24.3
2017-08-14 19:27:13,931 - napalm - DEBUG - napalm-eos==0.6.0
2017-08-14 19:27:13,931 - napalm - DEBUG - napalm-fortios==0.4.0
2017-08-14 19:27:13,931 - napalm - DEBUG - napalm-ios==0.7.0
2017-08-14 19:27:13,931 - napalm - DEBUG - napalm-iosxr==0.5.4
2017-08-14 19:27:13,931 - napalm - DEBUG - napalm-junos==0.12.0
2017-08-14 19:27:13,931 - napalm - DEBUG - napalm-nxos==0.6.0
2017-08-14 19:27:13,931 - napalm - DEBUG - napalm-panos==0.4.0
2017-08-14 19:27:13,931 - napalm - DEBUG - napalm-pluribus==0.5.1
2017-08-14 19:27:13,931 - napalm - DEBUG - napalm-ros==0.2.2
2017-08-14 19:27:13,931 - napalm - DEBUG - napalm-vyos==0.1.3
2017-08-14 19:27:13,931 - napalm - DEBUG - napalm==1.2.0
2017-08-14 19:27:13,931 - napalm - DEBUG - get_network_driver - Calling with args: ('eos',), {}
2017-08-14 19:27:13,960 - napalm - ERROR - get_network_driver - Successful
2017-08-14 19:27:13,960 - napalm - DEBUG - __init__ - Calling with args: (<class 'napalm_eos.eos.EOSDriver'>, 'localhost', 'vagrant'), {'password': u'*******', 'optional_args': {u'port': u'1244'}, 'timeout': 60}
2017-08-14 19:27:13,960 - napalm - ERROR - __init__ - Successful
2017-08-14 19:27:13,960 - napalm - DEBUG - pre_connection_tests - Calling with args: (<napalm_eos.eos.EOSDriver object at 0x103ac52d0>,), {}
2017-08-14 19:27:13,960 - napalm - INFO - pre_connection_tests - Not implemented
2017-08-14 19:27:13,960 - napalm - DEBUG - open - Calling with args: (<napalm_eos.eos.EOSDriver object at 0x103ac52d0>,), {}
No handlers could be found for logger "pyeapi.eapilib"
2017-08-14 19:27:13,962 - napalm - ERROR - open - Failed: Socket error during eAPI connection: [Errno 61] Connection refused

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

Traceback (most recent call last):
  File "/Users/dbarroso/.virtualenvs/napalm/bin/cl_napalm_show_tech", line 11, in <module>
    load_entry_point('napalm-base', 'console_scripts', 'cl_napalm_show_tech')()
  File "/Users/dbarroso/workspace/napalm/napalm-base/napalm_base/clitools/cl_napalm_show_tech.py", line 135, in main
    run_tests(args)
  File "/Users/dbarroso/workspace/napalm/napalm-base/napalm_base/clitools/cl_napalm_show_tech.py", line 118, in run_tests
    test_open_device(device)
  File "/Users/dbarroso/workspace/napalm/napalm-base/napalm_base/clitools/cl_napalm_show_tech.py", line 33, in wrapper
    r = func(*args, **kwargs)
  File "/Users/dbarroso/workspace/napalm/napalm-base/napalm_base/clitools/cl_napalm_show_tech.py", line 97, in test_open_device
    device.open()
  File "/Users/dbarroso/workspace/napalm/napalm-eos/napalm_eos/eos.py", line 118, in open
    raise ConnectionException(ce.message)
napalm_base.exceptions.ConnectionException: Socket error during eAPI connection: [Errno 61] Connection refused
coveralls commented 7 years ago

Coverage Status

Changes Unknown when pulling 41ff61e8068aeb480e99fee6508dcddeda0e5bd4 on dbarrosop-show-tech into on develop.

dbarrosop commented 7 years ago

Ok, so with the last commit I went overboard and turned this into a generic method that can call getters and do configuration changes. It has a regular and a debug mode. For instance:

Regular mode:

(napalm) ➜  napalm-base git:(dbarrosop-show-tech) ✗ napalm --user vagrant --password vagrant --vendor eos --optional_args "port=12443" --method get_interfaces -f new_config --strategy merge --dry-run localhost
2017-08-14 20:10:55,860 - napalm - INFO - Result of get_interfaces:
{
    "Ethernet2": {
        "is_enabled": true,
        "description": "",
        "last_flapped": 1502731278.4344149,
        "is_up": true,
        "mac_address": "08:00:27:3D:83:34",
        "speed": 0
    },
    "Management1": {
        "is_enabled": true,
        "description": "",
        "last_flapped": 1502731294.5988362,
        "is_up": true,
        "mac_address": "08:00:27:7D:44:C1",
        "speed": 1000
    },
    "Ethernet1": {
        "is_enabled": true,
        "description": "",
        "last_flapped": 1502731278.4342613,
        "is_up": true,
        "mac_address": "08:00:27:E6:4C:E9",
        "speed": 0
    }
}
2017-08-14 20:10:57,237 - napalm - INFO - Gathered diff:
@@ -8,7 +8,7 @@
 !
 transceiver qsfp default-mode 4x10G
 !
-hostname myhost
+hostname myhost2
 !
 spanning-tree mode mstp
 !

Debug mode:

(napalm) ➜  napalm-base git:(dbarrosop-show-tech) ✗ napalm --user vagrant --password vagrant --vendor eos --optional_args "port=12443" --method get_interfaces -f new_config --strategy merge --dry-run --debug localhost
2017-08-14 20:11:07,262 - napalm - DEBUG - Starting napalm's debugging tool
2017-08-14 20:11:07,262 - napalm - DEBUG - Gathering napalm packages
2017-08-14 20:11:07,274 - napalm - DEBUG - napalm-ansible==0.7.0
2017-08-14 20:11:07,274 - napalm - DEBUG - napalm-base==0.24.3
2017-08-14 20:11:07,274 - napalm - DEBUG - napalm-eos==0.6.0
2017-08-14 20:11:07,274 - napalm - DEBUG - napalm-fortios==0.4.0
2017-08-14 20:11:07,274 - napalm - DEBUG - napalm-ios==0.7.0
2017-08-14 20:11:07,274 - napalm - DEBUG - napalm-iosxr==0.5.4
2017-08-14 20:11:07,274 - napalm - DEBUG - napalm-junos==0.12.0
2017-08-14 20:11:07,274 - napalm - DEBUG - napalm-nxos==0.6.0
2017-08-14 20:11:07,274 - napalm - DEBUG - napalm-panos==0.4.0
2017-08-14 20:11:07,274 - napalm - DEBUG - napalm-pluribus==0.5.1
2017-08-14 20:11:07,275 - napalm - DEBUG - napalm-ros==0.2.2
2017-08-14 20:11:07,275 - napalm - DEBUG - napalm-vyos==0.1.3
2017-08-14 20:11:07,275 - napalm - DEBUG - napalm==1.2.0
2017-08-14 20:11:07,275 - napalm - DEBUG - get_network_driver - Calling with args: ('eos',), {}
2017-08-14 20:11:07,286 - napalm - DEBUG - get_network_driver - Successful
2017-08-14 20:11:07,286 - napalm - DEBUG - __init__ - Calling with args: (<class 'napalm_eos.eos.EOSDriver'>, 'localhost', 'vagrant'), {'password': u'*******', 'optional_args': {u'port': u'12443'}, 'timeout': 60}
2017-08-14 20:11:07,286 - napalm - DEBUG - __init__ - Successful
2017-08-14 20:11:07,286 - napalm - DEBUG - pre_connection_tests - Calling with args: (<napalm_eos.eos.EOSDriver object at 0x11073ad90>,), {}
2017-08-14 20:11:07,286 - napalm - DEBUG - open - Calling with args: (<napalm_eos.eos.EOSDriver object at 0x11073ad90>,), {}
2017-08-14 20:11:07,354 - napalm - DEBUG - open - Successful
2017-08-14 20:11:07,354 - napalm - DEBUG - connection_tests - Calling with args: (<napalm_eos.eos.EOSDriver object at 0x11073ad90>,), {}
2017-08-14 20:11:07,354 - napalm - DEBUG - get_facts - Calling with args: (<napalm_eos.eos.EOSDriver object at 0x11073ad90>,), {}
2017-08-14 20:11:07,412 - napalm - DEBUG - Gathered facts:
{
    "os_version": "4.15.2.1F-2759627.41521F",
    "uptime": 3040,
    "interface_list": [
        "Ethernet1",
        "Ethernet2",
        "Management1"
    ],
    "vendor": "Arista",
    "serial_number": "",
    "model": "vEOS",
    "hostname": "myhost",
    "fqdn": "myhost"
}
2017-08-14 20:11:07,412 - napalm - DEBUG - get_facts - Successful
2017-08-14 20:11:07,412 - napalm - DEBUG - getter - Calling with args: (<napalm_eos.eos.EOSDriver object at 0x11073ad90>, 'get_interfaces'), {}
2017-08-14 20:11:07,412 - napalm - DEBUG - get_interfaces - Attempting to resolve getter
2017-08-14 20:11:07,412 - napalm - DEBUG - get_interfaces - Attempting to call getter with kwargs: {}
2017-08-14 20:11:07,465 - napalm - DEBUG - get_interfaces - Response
2017-08-14 20:11:07,465 - napalm - INFO - Result of get_interfaces:
{
    "Ethernet2": {
        "is_enabled": true,
        "description": "",
        "last_flapped": 1502731278.4344132,
        "is_up": true,
        "mac_address": "08:00:27:3D:83:34",
        "speed": 0
    },
    "Management1": {
        "is_enabled": true,
        "description": "",
        "last_flapped": 1502731294.5988345,
        "is_up": true,
        "mac_address": "08:00:27:7D:44:C1",
        "speed": 1000
    },
    "Ethernet1": {
        "is_enabled": true,
        "description": "",
        "last_flapped": 1502731278.4342616,
        "is_up": true,
        "mac_address": "08:00:27:E6:4C:E9",
        "speed": 0
    }
}
2017-08-14 20:11:07,465 - napalm - DEBUG - getter - Successful
2017-08-14 20:11:07,465 - napalm - DEBUG - load_merge_candidate - Calling with args: (<napalm_eos.eos.EOSDriver object at 0x11073ad90>,), {'filename': 'new_config'}
2017-08-14 20:11:07,941 - napalm - DEBUG - load_merge_candidate - Successful
2017-08-14 20:11:07,941 - napalm - DEBUG - compare_config - Calling with args: (<napalm_eos.eos.EOSDriver object at 0x11073ad90>,), {}
2017-08-14 20:11:08,681 - napalm - INFO - Gathered diff:
@@ -8,7 +8,7 @@
 !
 transceiver qsfp default-mode 4x10G
 !
-hostname myhost
+hostname myhost2
 !
 spanning-tree mode mstp
 !
2017-08-14 20:11:08,681 - napalm - DEBUG - compare_config - Successful
2017-08-14 20:11:08,681 - napalm - DEBUG - close - Calling with args: (<napalm_eos.eos.EOSDriver object at 0x11073ad90>,), {}
2017-08-14 20:11:08,723 - napalm - DEBUG - close - Successful
2017-08-14 20:11:08,723 - napalm - DEBUG - post_connection_tests - Calling with args: (<napalm_eos.eos.EOSDriver object at 0x11073ad90>,), {}

I figured we can obsolete all the methods we have now and just have a single napalm one?

coveralls commented 7 years ago

Coverage Status

Changes Unknown when pulling 470acff33eadc391af3403577173aef88bf4a38c on dbarrosop-show-tech into on develop.

coveralls commented 7 years ago

Coverage Status

Changes Unknown when pulling 470acff33eadc391af3403577173aef88bf4a38c on dbarrosop-show-tech into on develop.

coveralls commented 7 years ago

Coverage Status

Changes Unknown when pulling 470acff33eadc391af3403577173aef88bf4a38c on dbarrosop-show-tech into on develop.

coveralls commented 7 years ago

Coverage Status

Changes Unknown when pulling 0956c45de6a0d2dd3b3e3a38b5b2e6f79c23e0f4 on dbarrosop-show-tech into on develop.

coveralls commented 7 years ago

Coverage Status

Changes Unknown when pulling 7ca865de4bf188258ba250b34d80c615da73f5c0 on dbarrosop-show-tech into on develop.

dbarrosop commented 7 years ago

This one should be ready. I added deprecation warnings to the old cli tools. Would appreciate some testing :P

coveralls commented 7 years ago

Coverage Status

Changes Unknown when pulling 7ca865de4bf188258ba250b34d80c615da73f5c0 on dbarrosop-show-tech into on develop.

coveralls commented 7 years ago

Coverage Status

Coverage decreased (-11.8%) to 60.757% when pulling 73db3a9d001157caccc2ad04660599cde262dcd0 on dbarrosop-show-tech into cb9ecd4bce0294354584a5b7587a3406eda6c383 on develop.

coveralls commented 7 years ago

Coverage Status

Coverage decreased (-11.8%) to 60.757% when pulling 73db3a9d001157caccc2ad04660599cde262dcd0 on dbarrosop-show-tech into cb9ecd4bce0294354584a5b7587a3406eda6c383 on develop.

coveralls commented 7 years ago

Coverage Status

Coverage decreased (-11.8%) to 60.757% when pulling 73db3a9d001157caccc2ad04660599cde262dcd0 on dbarrosop-show-tech into cb9ecd4bce0294354584a5b7587a3406eda6c383 on develop.

coveralls commented 7 years ago

Coverage Status

Coverage decreased (-12.0%) to 60.626% when pulling 4c5947ae958b5584c38b24e4b5a5d1cfc55e9eac on dbarrosop-show-tech into cb9ecd4bce0294354584a5b7587a3406eda6c383 on develop.

coveralls commented 7 years ago

Coverage Status

Coverage decreased (-12.0%) to 60.626% when pulling 4c5947ae958b5584c38b24e4b5a5d1cfc55e9eac on dbarrosop-show-tech into cb9ecd4bce0294354584a5b7587a3406eda6c383 on develop.

coveralls commented 7 years ago

Coverage Status

Coverage decreased (-12.0%) to 60.626% when pulling 4c5947ae958b5584c38b24e4b5a5d1cfc55e9eac on dbarrosop-show-tech into cb9ecd4bce0294354584a5b7587a3406eda6c383 on develop.

coveralls commented 7 years ago

Coverage Status

Coverage decreased (-12.0%) to 60.626% when pulling 4266fa7e05e36c742fae4391a00411be4fb4ed09 on dbarrosop-show-tech into cb9ecd4bce0294354584a5b7587a3406eda6c383 on develop.