From 25bb3c73ce7d784637a219d8f7ae218ade2de916 Mon Sep 17 00:00:00 2001 From: David Cates Date: Tue, 22 Oct 2024 21:47:25 +0000 Subject: [PATCH 1/2] update interface load method exception handling --- .../adapters/sync_network_data_adapters.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/nautobot_device_onboarding/diffsync/adapters/sync_network_data_adapters.py b/nautobot_device_onboarding/diffsync/adapters/sync_network_data_adapters.py index 914afdf1..4a5d7f92 100644 --- a/nautobot_device_onboarding/diffsync/adapters/sync_network_data_adapters.py +++ b/nautobot_device_onboarding/diffsync/adapters/sync_network_data_adapters.py @@ -486,10 +486,20 @@ def load_devices(self): except Exception as err: # pylint: disable=broad-exception-caught self._handle_general_load_exception(error=err, hostname=hostname, data=device_data, model_type="device") continue - # for interface in device_data["interfaces"]: for interface_name, interface_data in device_data["interfaces"].items(): - network_interface = self.load_interface(hostname, interface_name, interface_data) - network_device.add_child(network_interface) + try: + network_interface = self.load_interface( + hostname, interface_name, interface_data + ) + network_device.add_child(network_interface) + except Exception as err: # pylint: disable=broad-exception-caught + self._handle_general_load_exception( + error=err, + hostname=hostname, + data=device_data, + model_type="interface", + ) + continue # def _get_vlan_name(self, interface_data): # """Given interface data returned from a device, process and return the vlan name.""" From 0f82affda071c23011b05b75edd52904658cb3f4 Mon Sep 17 00:00:00 2001 From: David Cates Date: Tue, 22 Oct 2024 21:58:56 +0000 Subject: [PATCH 2/2] ruff --- .../diffsync/adapters/sync_network_data_adapters.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/nautobot_device_onboarding/diffsync/adapters/sync_network_data_adapters.py b/nautobot_device_onboarding/diffsync/adapters/sync_network_data_adapters.py index 4a5d7f92..96a189d3 100644 --- a/nautobot_device_onboarding/diffsync/adapters/sync_network_data_adapters.py +++ b/nautobot_device_onboarding/diffsync/adapters/sync_network_data_adapters.py @@ -488,9 +488,7 @@ def load_devices(self): continue for interface_name, interface_data in device_data["interfaces"].items(): try: - network_interface = self.load_interface( - hostname, interface_name, interface_data - ) + network_interface = self.load_interface(hostname, interface_name, interface_data) network_device.add_child(network_interface) except Exception as err: # pylint: disable=broad-exception-caught self._handle_general_load_exception(