From c8a84f9eab3842de198b70b1c772eae4d6a8f93a Mon Sep 17 00:00:00 2001
From: Pelle Koster <pelle.koster@geant.org>
Date: Thu, 4 Apr 2024 16:53:28 +0200
Subject: [PATCH] get-interface-stats register errors and exit non-zero

---
 brian_polling_manager/interface_stats/cli.py | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/brian_polling_manager/interface_stats/cli.py b/brian_polling_manager/interface_stats/cli.py
index 2203647..5829c07 100644
--- a/brian_polling_manager/interface_stats/cli.py
+++ b/brian_polling_manager/interface_stats/cli.py
@@ -85,9 +85,13 @@ def get_netconf(router_name, vendor=Vendor.JUNIPER, **kwargs):
     source_dir = _APP_CONFIG_PARAMS.get("testing", {}).get("netconf-source-dir")
     if source_dir:
         if vendor == Vendor.JUNIPER:
-            return juniper.get_netconf_interface_info_from_source_dir(router_name, source_dir)
+            return juniper.get_netconf_interface_info_from_source_dir(
+                router_name, source_dir
+            )
         else:
-            return nokia.get_netconf_interface_info_from_source_dir(router_name, source_dir)
+            return nokia.get_netconf_interface_info_from_source_dir(
+                router_name, source_dir
+            )
 
     ssh_params = _APP_CONFIG_PARAMS[vendor.value]
     if vendor == Vendor.JUNIPER:
@@ -97,7 +101,10 @@ def get_netconf(router_name, vendor=Vendor.JUNIPER, **kwargs):
 
 
 def validate_router_hosts(
-    hostnames: List[str], vendor: Vendor, inprov_hosts=None, load_interfaces_=load_interfaces
+    hostnames: List[str],
+    vendor: Vendor,
+    inprov_hosts=None,
+    load_interfaces_=load_interfaces,
 ):
     if inprov_hosts is None:
         return True
@@ -207,6 +214,8 @@ def main(
             logger.exception(
                 f"Error while processing {vendor_str} {router}", exc_info=e
             )
+            error_count += 1
+
             if raise_errors:
                 raise
 
-- 
GitLab