From 68a9bb8be13086324c220012489e25810d731602 Mon Sep 17 00:00:00 2001 From: Mohammad Torkashvand <mohammad.torkashvand@geant.org> Date: Mon, 2 Jun 2025 14:12:29 +0200 Subject: [PATCH 1/2] add threshold vars for BGP to moodi --- gso/utils/workflow_steps.py | 6 +++++- .../base_migrate_l3_core_service.py | 14 +++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/gso/utils/workflow_steps.py b/gso/utils/workflow_steps.py index 0b6071fd9..c9b28ec73 100644 --- a/gso/utils/workflow_steps.py +++ b/gso/utils/workflow_steps.py @@ -24,6 +24,7 @@ from gso.utils.shared_enums import Vendor SKIP_MOODI_KEY = "__skip_moodi" IS_HUMAN_INITIATED_WF_KEY = "__is_human_initiated_wf" +MOODI_EXTRA_KWARGS_KEY = "__moodi_extra_kwargs" def _deploy_base_config( @@ -419,7 +420,10 @@ def start_moodi() -> StepList: return { "playbook_name": "moodi_telemetry/playbooks/start_moodi.yaml", "inventory": {"all": {"hosts": {host: None}}}, - "extra_vars": {"subscription": state.get("scoped_subscription", state.get("subscription"))}, + "extra_vars": { + "subscription": state.get("scoped_subscription", state.get("subscription")), + "extra_kwargs": state.get(MOODI_EXTRA_KWARGS_KEY, {}), + }, } return _is_moodi_enabled(indifferent_lso_interaction(_start_moodi)) diff --git a/gso/workflows/l3_core_service/base_migrate_l3_core_service.py b/gso/workflows/l3_core_service/base_migrate_l3_core_service.py index 3ae59b1fd..7c734d614 100644 --- a/gso/workflows/l3_core_service/base_migrate_l3_core_service.py +++ b/gso/workflows/l3_core_service/base_migrate_l3_core_service.py @@ -26,7 +26,7 @@ from gso.services.lso_client import LSOState from gso.services.partners import get_partner_by_id from gso.services.subscriptions import get_active_edge_port_subscriptions from gso.utils.types.tt_number import TTNumber -from gso.utils.workflow_steps import IS_HUMAN_INITIATED_WF_KEY, SKIP_MOODI_KEY +from gso.utils.workflow_steps import IS_HUMAN_INITIATED_WF_KEY, MOODI_EXTRA_KWARGS_KEY, SKIP_MOODI_KEY from gso.workflows.shared import create_summary_form @@ -55,6 +55,10 @@ def initial_input_form(subscription_id: UUIDstr) -> FormGenerator: skip_moodi: bool = False is_human_initiated_wf: bool = True source_edge_port: source_edge_port_selector | str # type: ignore[valid-type] + expected_ipv4_received_routes: int | None = None + expected_ipv4_advertised_routes: int | None = None + expected_ipv6_received_routes: int | None = None + expected_ipv6_advertised_routes: int | None = None source_ep_user_input = yield L3CoreServiceSourceEdgePortSelectionForm @@ -94,6 +98,14 @@ def initial_input_form(subscription_id: UUIDstr) -> FormGenerator: IS_HUMAN_INITIATED_WF_KEY: source_ep_user_input.is_human_initiated_wf, SKIP_MOODI_KEY: source_ep_user_input.skip_moodi, } + | { + MOODI_EXTRA_KWARGS_KEY: { + "expected_ipv4_received_routes": source_ep_user_input.expected_ipv4_received_routes, + "expected_ipv4_advertised_routes": source_ep_user_input.expected_ipv4_advertised_routes, + "expected_ipv6_received_routes": source_ep_user_input.expected_ipv6_received_routes, + "expected_ipv6_advertised_routes": source_ep_user_input.expected_ipv6_advertised_routes, + } + } ) -- GitLab From 6870436898671dc5c63d8ec6008e3d17a5db2246 Mon Sep 17 00:00:00 2001 From: Mohammad Torkashvand <mohammad.torkashvand@geant.org> Date: Mon, 2 Jun 2025 14:33:02 +0200 Subject: [PATCH 2/2] rename bgp vars --- .../base_migrate_l3_core_service.py | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/gso/workflows/l3_core_service/base_migrate_l3_core_service.py b/gso/workflows/l3_core_service/base_migrate_l3_core_service.py index 7c734d614..de2cae895 100644 --- a/gso/workflows/l3_core_service/base_migrate_l3_core_service.py +++ b/gso/workflows/l3_core_service/base_migrate_l3_core_service.py @@ -55,12 +55,12 @@ def initial_input_form(subscription_id: UUIDstr) -> FormGenerator: skip_moodi: bool = False is_human_initiated_wf: bool = True source_edge_port: source_edge_port_selector | str # type: ignore[valid-type] - expected_ipv4_received_routes: int | None = None - expected_ipv4_advertised_routes: int | None = None - expected_ipv6_received_routes: int | None = None - expected_ipv6_advertised_routes: int | None = None + expected_number_of_ipv4_received_routes: int | None = None + expected_number_of_ipv4_advertised_routes: int | None = None + expected_number_of_ipv6_received_routes: int | None = None + expected_number_of_ipv6_advertised_routes: int | None = None - source_ep_user_input = yield L3CoreServiceSourceEdgePortSelectionForm + source_ep_input = yield L3CoreServiceSourceEdgePortSelectionForm def _destination_edge_port_selector(pid: UUIDstr) -> Choice: existing_ep_list = [ap.sbp.edge_port.owner_subscription_id for ap in ap_list] @@ -81,9 +81,9 @@ def initial_input_form(subscription_id: UUIDstr) -> FormGenerator: destination_edge_port: _destination_edge_port_selector(partner_id) | str # type: ignore[valid-type] destination_ep_user_input = yield L3CoreServiceEdgePortSelectionForm - if source_ep_user_input.is_human_initiated_wf: + if source_ep_input.is_human_initiated_wf: summary_input = { - "source_edge_port": EdgePort.from_subscription(source_ep_user_input.source_edge_port).description, + "source_edge_port": EdgePort.from_subscription(source_ep_input.source_edge_port).description, "destination_edge_port": EdgePort.from_subscription( destination_ep_user_input.destination_edge_port ).description, @@ -92,18 +92,18 @@ def initial_input_form(subscription_id: UUIDstr) -> FormGenerator: return ( {"subscription_id": subscription.subscription_id, "subscription": subscription} - | source_ep_user_input.model_dump() + | source_ep_input.model_dump() | destination_ep_user_input.model_dump() | { - IS_HUMAN_INITIATED_WF_KEY: source_ep_user_input.is_human_initiated_wf, - SKIP_MOODI_KEY: source_ep_user_input.skip_moodi, + IS_HUMAN_INITIATED_WF_KEY: source_ep_input.is_human_initiated_wf, + SKIP_MOODI_KEY: source_ep_input.skip_moodi, } | { MOODI_EXTRA_KWARGS_KEY: { - "expected_ipv4_received_routes": source_ep_user_input.expected_ipv4_received_routes, - "expected_ipv4_advertised_routes": source_ep_user_input.expected_ipv4_advertised_routes, - "expected_ipv6_received_routes": source_ep_user_input.expected_ipv6_received_routes, - "expected_ipv6_advertised_routes": source_ep_user_input.expected_ipv6_advertised_routes, + "expected_number_of_ipv4_received_routes": source_ep_input.expected_number_of_ipv4_received_routes, + "expected_number_of_ipv4_advertised_routes": source_ep_input.expected_number_of_ipv4_advertised_routes, + "expected_number_of_ipv6_received_routes": source_ep_input.expected_number_of_ipv6_received_routes, + "expected_number_of_ipv6_advertised_routes": source_ep_input.expected_number_of_ipv6_advertised_routes, } } ) -- GitLab