From 10213a98433548dbf66ec1e4909ecefb3b06f2ba Mon Sep 17 00:00:00 2001
From: Bjarke Madsen <bjarke@nordu.net>
Date: Tue, 29 Aug 2023 16:47:35 +0200
Subject: [PATCH] Fix a bug in _get_speed breaking the IMS task. Also add
 logger.exception call to show stack trace in the future.

---
 inventory_provider/tasks/worker.py | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/inventory_provider/tasks/worker.py b/inventory_provider/tasks/worker.py
index d3ba5b6b..02b55fe7 100644
--- a/inventory_provider/tasks/worker.py
+++ b/inventory_provider/tasks/worker.py
@@ -760,8 +760,8 @@ def ims_task(self, use_current=False):
         transformed_data = transform_ims_data(extracted_data)
 
         persist_ims_data(transformed_data, use_current)
-    except Exception as e:
-        logger.error(e)
+    except Exception:
+        logger.exception('Error in IMS task:')
         update_latch_status(InventoryTask.config, pending=True, failure=True)
 
 
@@ -1014,7 +1014,9 @@ def transform_ims_data(data):
         return int(value) * conversions[unit]
 
     def _get_speed(circuit_id):
-        c = hierarchy[circuit_id]
+        c = hierarchy.get(circuit_id)
+        if c is None:
+            return 0
         if c['status'] != 'operational':
             return 0
         pattern = re.compile(r'^(\d+)([a-zA-z]+)$')
-- 
GitLab