diff --git a/gso/workflows/l3_core_service/geant_ip/validate_prefix_list.py b/gso/workflows/l3_core_service/geant_ip/validate_prefix_list.py index ec335abd7aa3f70ac054a5d6d518893c97a4a548..8dc838d20f7c29db62359d8cda6bb5a2538ef320 100644 --- a/gso/workflows/l3_core_service/geant_ip/validate_prefix_list.py +++ b/gso/workflows/l3_core_service/geant_ip/validate_prefix_list.py @@ -7,7 +7,7 @@ from orchestrator.domain import SubscriptionModel from orchestrator.forms import SubmitFormPage from orchestrator.targets import Target from orchestrator.workflow import StepList, begin, conditional, done, inputstep, step, workflow -from orchestrator.workflows.steps import resync, store_process_subscription, unsync +from orchestrator.workflows.steps import resync, store_process_subscription, unsync_unchecked from orchestrator.workflows.utils import wrap_modify_initial_input_form from pydantic import Field from pydantic_forms.types import FormGenerator, State, UUIDstr @@ -26,7 +26,7 @@ def build_fqdn_list(subscription_id: UUIDstr) -> State: ap_fqdn_list = [ ap.sbp.edge_port.node.router_fqdn for ap in ap_list if ap.sbp.edge_port.node.vendor != Vendor.JUNIPER ] - return {"ap_fqdn_list": ap_fqdn_list, "subscription": subscription} + return {"ap_fqdn_list": ap_fqdn_list, "subscription": subscription, "subscription_was_in_sync": subscription.insync} @step("[DRY RUN] Validate Prefix-Lists") @@ -115,14 +115,15 @@ def validate_geant_ip_prefix_list() -> StepList: """Validate prefix-lists for an existing GÉANT IP subscription.""" fqdn_list_is_empty = conditional(lambda state: state["ap_fqdn_list"] == []) prefix_list_has_drifted = conditional(lambda state: bool(state["prefix_list_drift"])) + subscription_was_in_sync = conditional(lambda state: bool(state["subscription_was_in_sync"])) redeploy_prefix_list_steps = ( begin - >> unsync + >> unsync_unchecked >> await_operator >> lso_interaction(deploy_prefix_lists_dry) >> lso_interaction(deploy_prefix_lists_real) - >> resync + >> subscription_was_in_sync(resync) ) prefix_list_validation_steps = ( begin