diff --git a/gso/utils/workflow_steps.py b/gso/utils/workflow_steps.py index 0b6071fd982d658a08d87552758b045b86167dc5..c9b28ec735a2caca2c1f1a9b61e45e4699414b1b 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 3ae59b1fd6a9b608d3011fd6c42d798ecac6ba5c..7c734d61444d9531428d474c10b8d6385f8afd1d 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, + } + } )