From 56b6c583a9c631e3e4f747ff5b1cb72b64dcd76f Mon Sep 17 00:00:00 2001
From: Karel van Klink <karel.vanklink@geant.org>
Date: Tue, 7 May 2024 14:01:42 +0200
Subject: [PATCH] Update extra vars for validation workflows

---
 gso/workflows/iptrunk/validate_iptrunk.py | 33 ++++++++++++++---------
 gso/workflows/router/validate_router.py   | 14 ++++++++--
 2 files changed, 33 insertions(+), 14 deletions(-)

diff --git a/gso/workflows/iptrunk/validate_iptrunk.py b/gso/workflows/iptrunk/validate_iptrunk.py
index f03dbb7e..af499cd2 100644
--- a/gso/workflows/iptrunk/validate_iptrunk.py
+++ b/gso/workflows/iptrunk/validate_iptrunk.py
@@ -131,42 +131,51 @@ def verify_netbox_entries(subscription: Iptrunk) -> None:
 @step("Verify configuration of IPtrunk")
 def verify_iptrunk_config(subscription: Iptrunk, callback_route: str) -> None:
     """Check for configuration drift on the relevant routers."""
-    extra_vars = {"wfo_trunk_json": json.loads(json_dumps(subscription)), "verb": "check"}
-
     execute_playbook(
         playbook_name="iptrunks.yaml",
         callback_route=callback_route,
         inventory=f"{subscription.iptrunk.iptrunk_sides[0].iptrunk_side_node.router_fqdn}\n"
         f"{subscription.iptrunk.iptrunk_sides[1].iptrunk_side_node.router_fqdn}\n",
-        extra_vars=extra_vars,
+        extra_vars={
+            "wfo_trunk_json": subscription,
+            "verb": "deploy",
+            "dry_run": "true",
+            "is_verification_workflow": "true",
+        },
     )
 
 
-@step("Check ISIS adjacency")
+@step("Check ISIS configuration")
 def check_ip_trunk_isis(subscription: Iptrunk, callback_route: str) -> None:
-    """Run an Ansible playbook to confirm :term:`ISIS` adjacency."""
-    extra_vars = {"wfo_ip_trunk_json": json.loads(json_dumps(subscription)), "check": "isis"}
-
+    """Run an Ansible playbook to check for any :term:`ISIS` configuration drift."""
     execute_playbook(
-        playbook_name="iptrunks_checks.yaml",
+        playbook_name="iptrunks_ibgp.yaml",
         callback_route=callback_route,
         inventory=f"{subscription.iptrunk.iptrunk_sides[0].iptrunk_side_node.router_fqdn}\n"
         f"{subscription.iptrunk.iptrunk_sides[1].iptrunk_side_node.router_fqdn}\n",
-        extra_vars=extra_vars,
+        extra_vars={
+            "wfo_trunk_json": subscription,
+            "verb": "deploy",
+            "dry_run": "true",
+            "is_verification_workflow": "true",
+        },
     )
 
 
 @step("Verify TWAMP configuration")
 def verify_twamp_config(subscription: Iptrunk, callback_route: str) -> None:
     """Check for configuration drift of TWAMP."""
-    extra_vars = {"subscription": json.loads(json_dumps(subscription)), "verb": "check"}
-
     execute_playbook(
         playbook_name="deploy_twamp.yaml",
         callback_route=callback_route,
         inventory=f"{subscription.iptrunk.iptrunk_sides[0].iptrunk_side_node.router_fqdn}\n"
         f"{subscription.iptrunk.iptrunk_sides[1].iptrunk_side_node.router_fqdn}\n",
-        extra_vars=extra_vars,
+        extra_vars={
+            "wfo_trunk_json": subscription,
+            "verb": "deploy",
+            "dry_run": "true",
+            "is_verification_workflow": "true",
+        },
     )
 
 
diff --git a/gso/workflows/router/validate_router.py b/gso/workflows/router/validate_router.py
index 1bedf16f..05037b96 100644
--- a/gso/workflows/router/validate_router.py
+++ b/gso/workflows/router/validate_router.py
@@ -66,7 +66,12 @@ def verify_base_config(subscription: Router, callback_route: str) -> None:
         playbook_name="base_config.yaml",
         callback_route=callback_route,
         inventory=subscription.router.router_fqdn,
-        extra_vars={"wfo_router_json": subscription, "verb": "check-drift"},
+        extra_vars={
+            "wfo_router_json": subscription,
+            "verb": "deploy",
+            "dry_run": "true",
+            "is_verification_workflow": "true",
+        },
     )
 
 
@@ -77,7 +82,12 @@ def validate_ibgp_mesh_config(subscription: Router, callback_route: str) -> None
         playbook_name="ibgp_checks.yaml",
         callback_route=callback_route,
         inventory=subscription.router.router_fqdn,
-        extra_vars={"wfo_router_json": subscription},
+        extra_vars={
+            "wfo_trunk_json": subscription,
+            "verb": "deploy",
+            "dry_run": "true",
+            "is_verification_workflow": "true",
+        },
     )
 
 
-- 
GitLab