From 93a35d7e77cf5972220bfd43ee0ab74acc57f4eb Mon Sep 17 00:00:00 2001 From: Jarrod Johnson Date: Wed, 8 Apr 2026 15:30:43 -0400 Subject: [PATCH] Improve srlinux error handling --- .../confluent/plugins/hardwaremanagement/srlinux.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/confluent_server/confluent/plugins/hardwaremanagement/srlinux.py b/confluent_server/confluent/plugins/hardwaremanagement/srlinux.py index d20fe6ac..befa109c 100644 --- a/confluent_server/confluent/plugins/hardwaremanagement/srlinux.py +++ b/confluent_server/confluent/plugins/hardwaremanagement/srlinux.py @@ -1,3 +1,4 @@ +import confluent.exceptions as exc import confluent.networking.srlinux as srlinux import eventlet import eventlet.queue as queue @@ -9,8 +10,7 @@ def retrieve_node(node, element, user, pwd, configmanager, inputdata, results): try: retrieve_node_backend(node, element, user, pwd, configmanager, inputdata, results) except Exception as e: - print(traceback.format_exc()) - print(repr(e)) + results.put(e) def simplify_name(name): @@ -52,7 +52,7 @@ def retrieve_node_backend(node, element, user, pwd, configmanager, inputdata, re if element[-1] == 'all' or simplify_name(sensor['name']) == element[-1]: results.put(msg.SensorReadings([sensor], node)) else: - print(repr(element)) + results.put(msg.ConfluentNodeError(node, 'Not supported')) def retrieve(nodes, element, configmanager, inputdata): @@ -77,6 +77,8 @@ def retrieve(nodes, element, configmanager, inputdata): try: datum = results.get(block=True, timeout=10) while datum: + if isinstance(datum, Exception): + raise datum if datum: yield datum datum = results.get_nowait()