From 663cc2a10bdb4851a066566fa8199b807e59c84a Mon Sep 17 00:00:00 2001
From: Aleksandr Kurbatov <ak@geant.org>
Date: Mon, 7 Oct 2024 17:04:46 +0100
Subject: [PATCH] Add check for empty extra_vars item

if in extra_vars a var that is a result of `generate_inventory..`
function is empty, skip the lso_interaction step altogether.

Kudos to KvK.
---
 gso/utils/workflow_steps.py | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gso/utils/workflow_steps.py b/gso/utils/workflow_steps.py
index fb166950d..2095e7621 100644
--- a/gso/utils/workflow_steps.py
+++ b/gso/utils/workflow_steps.py
@@ -93,6 +93,13 @@ def _update_sdp_single_pe(
         )["all"]["hosts"],
     }
 
+    if not extra_vars["pe_router_list"]:
+        return {
+            "playbook_name": "",
+            "inventory": {"all": {"hosts": {}}},
+            "extra_vars": {},
+        }
+
     return {
         "playbook_name": "update_pe_sdp_mesh.yaml",
         "inventory": {"all": {"hosts": {subscription["router"]["router_fqdn"]: None}}},
@@ -118,6 +125,13 @@ def _add_pe_mesh_to_pe(
         )["all"]["hosts"],
     }
 
+    if not extra_vars["pe_router_list"]:
+        return {
+            "playbook_name": "",
+            "inventory": {"all": {"hosts": {}}},
+            "extra_vars": {},
+        }
+
     return {
         "playbook_name": "update_ibgp_mesh.yaml",
         "inventory": {"all": {"hosts": {subscription["router"]["router_fqdn"]: None}}},
@@ -167,6 +181,13 @@ def _add_all_p_to_pe(
         )["all"]["hosts"],
     }
 
+    if not extra_vars["p_router_list"]:
+        return {
+            "playbook_name": "",
+            "inventory": {"all": {"hosts": {}}},
+            "extra_vars": {},
+        }
+
     return {
         "playbook_name": "update_ibgp_mesh.yaml",
         "inventory": {"all": {"hosts": {subscription["router"]["router_fqdn"]: None}}},
-- 
GitLab