Skip to content
Snippets Groups Projects

Feature/update iptrunk migration input form

Merged Karel van Klink requested to merge feature/update-iptrunk-migration-input-form into develop
Files
3
@@ -7,7 +7,6 @@ configured to run from A to C. B is then no longer associated with this IP trunk
import copy
import json
import re
from typing import NoReturn
from uuid import uuid4
from orchestrator import step, workflow
@@ -85,10 +84,12 @@ def initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator:
current_router_site = Router.from_subscription(router_id).router.router_site.subscription
old_side_site = Router.from_subscription(migrate_form_input.replace_side).router.router_site
if (
migrate_form_input.migrate_to_different_site
and current_router_site.subscription_id == old_side_site.owner_subscription_id
not migrate_form_input.migrate_to_different_site
and current_router_site.subscription_id != old_side_site.owner_subscription_id
):
# We want to stay on the same site, so all routers that are in different sites get skipped.
continue
# If migrate_to_different_site is true, we can add ALL routers to the result map
routers[str(router_id)] = router["description"]
new_router_enum = Choice("Select a new router", zip(routers.keys(), routers.items(), strict=True)) # type: ignore[arg-type]
@@ -148,7 +149,7 @@ def initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator:
new_lag_member_interfaces: ae_members # type: ignore[valid-type]
@validator("new_lag_interface", allow_reuse=True, pre=True, always=True)
def lag_interface_proper_name(cls, new_lag_interface: str) -> str | NoReturn:
def lag_interface_proper_name(cls, new_lag_interface: str) -> str:
if get_router_vendor(new_router) == RouterVendor.JUNIPER:
juniper_lag_re = re.compile("^ae\\d{1,2}$")
if not juniper_lag_re.match(new_lag_interface):
Loading