diff --git a/gso/workflows/iptrunk/deploy_twamp.py b/gso/workflows/iptrunk/deploy_twamp.py index b9003078a016313bab3012cfee8eaf3f11f278ab..506125c36351658d65bca207daf03adc02543021 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: