From 230a9c48fc4f632fe4cb08ebe7b479baf6b71bef Mon Sep 17 00:00:00 2001 From: Tynan Young Date: Mon, 22 Jun 2020 11:22:34 +1000 Subject: [PATCH 1/4] fix: force_no_enable enabled on ios and nx only --- napalm/base/base.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/napalm/base/base.py b/napalm/base/base.py index 4f9c5fb34..0581b4dc2 100644 --- a/napalm/base/base.py +++ b/napalm/base/base.py @@ -94,9 +94,13 @@ def _netmiko_open(self, device_type, netmiko_optional_args=None): except NetMikoTimeoutException: raise ConnectionException("Cannot connect to {}".format(self.hostname)) - # ensure in enable mode if not force disable - if not self.force_no_enable: - self._netmiko_device.enable() + # Ensure in enable mode if not force disable for device types that support enable + # mode (currently, Cisco ios and nxos) + enable_device_types = ['cisco_ios_telnet','cisco_ios', 'cisco_nxos'] + if device_type in enable_device_types: + if not self.force_no_enable: + self._netmiko_device.enable() + return self._netmiko_device def _netmiko_close(self): From c0fb2aceaf095aea77bb31fdf394972fbebabbe3 Mon Sep 17 00:00:00 2001 From: Tynan Young Date: Mon, 22 Jun 2020 11:49:52 +1000 Subject: [PATCH 2/4] fix: enable for non-cisco devices --- napalm/base/base.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/napalm/base/base.py b/napalm/base/base.py index 0581b4dc2..45d8b9576 100644 --- a/napalm/base/base.py +++ b/napalm/base/base.py @@ -100,6 +100,8 @@ def _netmiko_open(self, device_type, netmiko_optional_args=None): if device_type in enable_device_types: if not self.force_no_enable: self._netmiko_device.enable() + else: + self._netmiko_device.enable() return self._netmiko_device From b429b38a2aa63e712fb39af2a44a21bac6f770ed Mon Sep 17 00:00:00 2001 From: Tynan Young Date: Mon, 22 Jun 2020 14:02:38 +1000 Subject: [PATCH 3/4] fix: force_no_enable try/except --- napalm/base/base.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/napalm/base/base.py b/napalm/base/base.py index 45d8b9576..259b960ac 100644 --- a/napalm/base/base.py +++ b/napalm/base/base.py @@ -94,13 +94,12 @@ def _netmiko_open(self, device_type, netmiko_optional_args=None): except NetMikoTimeoutException: raise ConnectionException("Cannot connect to {}".format(self.hostname)) - # Ensure in enable mode if not force disable for device types that support enable - # mode (currently, Cisco ios and nxos) - enable_device_types = ['cisco_ios_telnet','cisco_ios', 'cisco_nxos'] - if device_type in enable_device_types: + # Disable enable mode if force_no_enable is true (for NAPALM drivers + # that support force_no_enable) + try: if not self.force_no_enable: self._netmiko_device.enable() - else: + except AttributeError: self._netmiko_device.enable() return self._netmiko_device From a062ede9de13fcce618ca14050a0f59946562d36 Mon Sep 17 00:00:00 2001 From: Tynan Young Date: Wed, 8 Jul 2020 16:55:30 +1000 Subject: [PATCH 4/4] format: remove trailing whitespace --- napalm/base/base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/napalm/base/base.py b/napalm/base/base.py index 259b960ac..cdb704e18 100644 --- a/napalm/base/base.py +++ b/napalm/base/base.py @@ -94,7 +94,7 @@ def _netmiko_open(self, device_type, netmiko_optional_args=None): except NetMikoTimeoutException: raise ConnectionException("Cannot connect to {}".format(self.hostname)) - # Disable enable mode if force_no_enable is true (for NAPALM drivers + # Disable enable mode if force_no_enable is true (for NAPALM drivers # that support force_no_enable) try: if not self.force_no_enable: