From 47eb35e8d1b91f5aa1d4f8ac99758e4d536a0af0 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 fb166950..2095e762 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