From d41575ae4a52a3e10be3fc4ebd155fc2743ba28d Mon Sep 17 00:00:00 2001
From: Robert Latta <robert.latta@geant.org>
Date: Wed, 12 Feb 2025 13:55:35 +0000
Subject: [PATCH] added additional checking RE.DBOARD3-1104

---
 inventory_provider/nokia.py | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/inventory_provider/nokia.py b/inventory_provider/nokia.py
index 43a078d..564c28a 100644
--- a/inventory_provider/nokia.py
+++ b/inventory_provider/nokia.py
@@ -257,13 +257,19 @@ def get_epipes_state(state_doc):
 
 def get_epipe_sap_details(netconf_config):
     for epipe in netconf_config.xpath('configure/service/epipe'):
-        service_id = epipe.find('service-id').text
-        vpn_id = epipe.find('vpn-id').text
+        service_id = epipe.find('service-id')
+        if service_id is None:
+            logger.warning(f'epipe {epipe.find("service-name").text} has no service-id')
+            continue
+        vpn_id = epipe.find('vpn-id')
+        if vpn_id is None:
+            logger.warning(f'epipe {epipe.find("service-name").text} has no vpn-id')
+            continue
         sap = epipe.find('sap')
         if sap is not None:
             yield {
-                'service-id': service_id,
-                'vpn-id': vpn_id,
+                'service-id': service_id.text,
+                'vpn-id': vpn_id.text,
                 'sap-id': sap.find('sap-id').text,
             }
 
-- 
GitLab