From 1ea83b3a7324da6582f1e9295745e0ab9bd65439 Mon Sep 17 00:00:00 2001 From: Hakan Calim <hakan.calim@fau.de> Date: Fri, 24 Nov 2023 15:29:18 +0100 Subject: [PATCH] NAT-329: added validation for juniper router interface names --- gso/workflows/iptrunk/create_iptrunk.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/gso/workflows/iptrunk/create_iptrunk.py b/gso/workflows/iptrunk/create_iptrunk.py index e488fde3..983a1854 100644 --- a/gso/workflows/iptrunk/create_iptrunk.py +++ b/gso/workflows/iptrunk/create_iptrunk.py @@ -29,6 +29,7 @@ from gso.utils.helpers import ( available_interfaces_choices, available_lags_choices, get_router_vendor, + validate_interface_name_list, validate_iptrunk_unique_interface, validate_router_in_netbox, ) @@ -103,6 +104,16 @@ def initial_input_form_generator(product_name: str) -> FormGenerator: def validate_iptrunk_unique_interface_side_a(cls, side_a_ae_members: list[LAGMember]) -> list[LAGMember]: return validate_iptrunk_unique_interface(side_a_ae_members) + @validator("side_a_ae_members", allow_reuse=True) + def validate_interface_name_members(cls, side_a_ae_members: list[LAGMember]) -> list[LAGMember]: + ret_val = None + if get_router_vendor(router_a) == RouterVendor.NOKIA: + ret_val = side_a_ae_members + else: + ret_val = validate_interface_name_list(side_a_ae_members) + + return ret_val + user_input_side_a = yield CreateIptrunkSideAForm # Remove the selected router for side A, to prevent any loops routers.pop(str(router_a)) -- GitLab