From c34c6d0e16bf776f23aef23a5f50a489b9151b9b Mon Sep 17 00:00:00 2001
From: Aleksandr Kurbatov <aleksandr.kurbatov@GL1342.local>
Date: Thu, 11 Apr 2024 16:28:33 +0100
Subject: [PATCH] deploy_twamp: subscription -> json

---
 gso/workflows/iptrunk/deploy_twamp.py | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/gso/workflows/iptrunk/deploy_twamp.py b/gso/workflows/iptrunk/deploy_twamp.py
index b9003078..506125c3 100644
--- a/gso/workflows/iptrunk/deploy_twamp.py
+++ b/gso/workflows/iptrunk/deploy_twamp.py
@@ -1,5 +1,8 @@
 """Workflow for adding TWAMP to an existing IP trunk."""
 
+import json
+
+from orchestrator.utils.json import json_dumps
 from orchestrator.forms import FormPage
 from orchestrator.forms.validators import Label
 from orchestrator.targets import Target
@@ -38,7 +41,7 @@ def _initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator:
 def deploy_twamp_dry(subscription: Iptrunk, process_id: UUIDstr, callback_route: str, tt_number: str) -> State:
     """Perform a dry run of deploying the TWAMP session."""
     extra_vars = {
-        "subscription": subscription,
+        "subscription": json.loads(json_dumps(subscription)),
         "process_id": process_id,
         "dry_run": True,
         "commit_comment": f"GSO_PROCESS_ID: {process_id} - TT_NUMBER: {tt_number} - Deploy TWAMP",
@@ -49,7 +52,8 @@ def deploy_twamp_dry(subscription: Iptrunk, process_id: UUIDstr, callback_route:
         f"\n{subscription.iptrunk.iptrunk_sides[1].iptrunk_side_node.router_fqdn}"
     )
 
-    execute_playbook("deploy_twamp.yaml", callback_route, inventory, extra_vars)
+    execute_playbook("deploy_twamp.yaml", callback_route,
+                     inventory, extra_vars)
 
     return {"subscription": subscription}
 
@@ -58,7 +62,7 @@ def deploy_twamp_dry(subscription: Iptrunk, process_id: UUIDstr, callback_route:
 def deploy_twamp_real(subscription: Iptrunk, process_id: UUIDstr, callback_route: str, tt_number: str) -> State:
     """Deploy the TWAMP session."""
     extra_vars = {
-        "subscription": subscription,
+        "subscription": json.loads(json_dumps(subscription)),
         "process_id": process_id,
         "dry_run": False,
         "commit_comment": f"GSO_PROCESS_ID: {process_id} - TT_NUMBER: {tt_number} - Deploy TWAMP",
@@ -69,14 +73,16 @@ def deploy_twamp_real(subscription: Iptrunk, process_id: UUIDstr, callback_route
         f"\n{subscription.iptrunk.iptrunk_sides[1].iptrunk_side_node.router_fqdn}"
     )
 
-    execute_playbook("deploy_twamp.yaml", callback_route, inventory, extra_vars)
+    execute_playbook("deploy_twamp.yaml", callback_route,
+                     inventory, extra_vars)
 
     return {"subscription": subscription}
 
 
 @workflow(
     "Deploy TWAMP",
-    initial_input_form=wrap_modify_initial_input_form(_initial_input_form_generator),
+    initial_input_form=wrap_modify_initial_input_form(
+        _initial_input_form_generator),
     target=Target.MODIFY,
 )
 def deploy_twamp() -> StepList:
-- 
GitLab