From bba14df8cdabb0ddb6f57b3230389999c9d07ad2 Mon Sep 17 00:00:00 2001 From: Mark Coleman Date: Thu, 29 Feb 2024 21:04:09 +0000 Subject: [PATCH] Added error handling for empty running configs --- .../agents/get_running_config/get_running_config.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/netbox-event-driven-architectures/agents/get_running_config/get_running_config.py b/netbox-event-driven-architectures/agents/get_running_config/get_running_config.py index 09cacc4..1d6242d 100644 --- a/netbox-event-driven-architectures/agents/get_running_config/get_running_config.py +++ b/netbox-event-driven-architectures/agents/get_running_config/get_running_config.py @@ -50,11 +50,15 @@ async def message_handler(self, msg) -> None: # Get all active devices with an IPv4 management IP from NetBox print(f"Loading devices from NetBox instance at {self.netbox_url}") total_devices_count, elligible_devices_count, devices = self.load_devices_from_netbox() - print(f"Found {total_devices_count} devices. {elligible_devices_count} of which are elligible for monitoring.") + print(f"Found {total_devices_count} devices. {elligible_devices_count} of which are elligible.") # Get the running config for each device and publish it for device in devices: running_config = self.get_running_config(device) + if running_config == str(None): + print(f"Running config is {running_config}. Skipping...") + continue + running_config_message = {} running_config_message["hostname"] = device.name running_config_message["ip"] = str(ipaddress.ip_interface(str(device.primary_ip4)).ip)