From 5a52846fd70a2e99d811deb848b13b087073897c Mon Sep 17 00:00:00 2001 From: Karel van Klink <karel.vanklink@geant.org> Date: Fri, 25 Aug 2023 16:47:25 +0200 Subject: [PATCH] update iptrunk workflows with side A and B --- gso/products/product_blocks/iptrunk.py | 2 +- gso/workflows/iptrunk/migrate_iptrunk.py | 13 ++++--- .../iptrunk/modify_trunk_interface.py | 36 +++++++++---------- 3 files changed, 27 insertions(+), 24 deletions(-) diff --git a/gso/products/product_blocks/iptrunk.py b/gso/products/product_blocks/iptrunk.py index e513e72f..e72828ba 100644 --- a/gso/products/product_blocks/iptrunk.py +++ b/gso/products/product_blocks/iptrunk.py @@ -19,7 +19,7 @@ class IptrunkType(strEnum): T = TypeVar("T", covariant=True) -class IptrunkSides(UniqueConstrainedList[T]): +class IptrunkSides(UniqueConstrainedList[T]): # type: ignore min_items = 2 max_items = 2 diff --git a/gso/workflows/iptrunk/migrate_iptrunk.py b/gso/workflows/iptrunk/migrate_iptrunk.py index fe1f2906..7161f083 100644 --- a/gso/workflows/iptrunk/migrate_iptrunk.py +++ b/gso/workflows/iptrunk/migrate_iptrunk.py @@ -27,7 +27,10 @@ def initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator: str(side.iptrunk_side_node.subscription.subscription_id): side.iptrunk_side_node.subscription.description for side in subscription.iptrunk.iptrunk_sides } - ReplacedSide = Choice("Select the side of the IP trunk to be replaced", zip(sides_dict.keys(), sides_dict.items())) + + ReplacedSide = Choice( + "Select the side of the IP trunk to be replaced", zip(sides_dict.keys(), sides_dict.items()) # type: ignore + ) class OldSideIptrunkForm(FormPage): class Config: @@ -38,7 +41,7 @@ def initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator: ) replace_side: ReplacedSide # type: ignore - warning_label: Label = "Are we moving to a different Site?" + warning_label: Label = "Are we moving to a different Site?" # type: ignore migrate_to_different_site: Optional[bool] = False old_side_input = yield OldSideIptrunkForm @@ -110,13 +113,13 @@ def initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator: @inputstep("Wait for confirmation", assignee=Assignee.SYSTEM) -def confirm_continue() -> State: +def confirm_continue() -> FormGenerator: class ProvisioningResultPage(FormPage): class Config: title = "Please confirm before continuing" - info_label: Label = ( # type: ignore - "ISIS metric has been set to 9000, please confirm to continue the workflow when ready." + info_label: Label = ( + "ISIS metric has been set to 9000, please confirm to continue the workflow when ready." # type: ignore ) yield ProvisioningResultPage diff --git a/gso/workflows/iptrunk/modify_trunk_interface.py b/gso/workflows/iptrunk/modify_trunk_interface.py index d6320e6f..565e652f 100644 --- a/gso/workflows/iptrunk/modify_trunk_interface.py +++ b/gso/workflows/iptrunk/modify_trunk_interface.py @@ -37,13 +37,13 @@ def initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator: class Config: title = "Provide subscription details for side A of the trunk." - iptrunk_sideA_node: str = ReadOnlyField(subscription.iptrunk.iptrunk_sideA_node.router_fqdn) - iptrunk_sideA_ae_iface: str = ReadOnlyField(subscription.iptrunk.iptrunk_sideA_ae_iface) - iptrunk_sideA_ae_geant_a_sid: str = subscription.iptrunk.iptrunk_sideA_ae_geant_a_sid + iptrunk_sideA_node: str = ReadOnlyField(subscription.iptrunk.iptrunk_sides[0].iptrunk_side_node.router_fqdn) + iptrunk_sideA_ae_iface: str = ReadOnlyField(subscription.iptrunk.iptrunk_sides[0].iptrunk_ae_iface) + iptrunk_sideA_ae_geant_a_sid: str = subscription.iptrunk.iptrunk_sides[0].iptrunk_side_ae_geant_a_sid iptrunk_sideA_ae_members: AeMembersListA = subscription.iptrunk.iptrunk_sideA_ae_members # type: ignore - iptrunk_sideA_ae_members_descriptions: AeMembersListA = ( - subscription.iptrunk.iptrunk_sideA_ae_members_description # type: ignore - ) + iptrunk_sideA_ae_members_descriptions: AeMembersListA = subscription.iptrunk.iptrunk_sides[ + 0 + ].iptrunk_side_ae_members_description user_input_side_a = yield ModifyIptrunkSideAForm @@ -55,13 +55,13 @@ def initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator: class Config: title = "Provide subscription details for side B of the trunk." - iptrunk_sideB_node: str = ReadOnlyField(subscription.iptrunk.iptrunk_sideB_node.router_fqdn) - iptrunk_sideB_ae_iface: str = ReadOnlyField(subscription.iptrunk.iptrunk_sideB_ae_iface) - iptrunk_sideB_ae_geant_a_sid: str = subscription.iptrunk.iptrunk_sideB_ae_geant_a_sid + iptrunk_sideB_node: str = ReadOnlyField(subscription.iptrunk.iptrunk_sides[1].iptrunk_side_node.router_fqdn) + iptrunk_sideB_ae_iface: str = ReadOnlyField(subscription.iptrunk.iptrunk_sides[1].iptrunk_side_ae_iface) + iptrunk_sideB_ae_geant_a_sid: str = subscription.iptrunk.iptrunk_sides[1].iptrunk_side_ae_geant_a_sid iptrunk_sideB_ae_members: AeMembersListB = subscription.iptrunk.iptrunk_sideB_ae_members # type: ignore - iptrunk_sideB_ae_members_descriptions: AeMembersListB = ( - subscription.iptrunk.iptrunk_sideB_ae_members_description # type: ignore - ) + iptrunk_sideB_ae_members_descriptions: AeMembersListB = subscription.iptrunk.iptrunk_sides[ + 1 + ].iptrunk_side_ae_members_description user_input_side_b = yield ModifyIptrunkSideBForm @@ -89,13 +89,13 @@ def modify_iptrunk_subscription( subscription.iptrunk.iptrunk_speed = iptrunk_speed subscription.iptrunk.iptrunk_minimum_links = iptrunk_minimum_links - subscription.iptrunk.iptrunk_sideA_ae_geant_a_sid = iptrunk_sideA_ae_geant_a_sid - subscription.iptrunk.iptrunk_sideA_ae_members = iptrunk_sideA_ae_members - subscription.iptrunk.iptrunk_sideA_ae_members_description = iptrunk_sideA_ae_members_descriptions + subscription.iptrunk.iptrunk_sides[0].iptrunk_side_ae_geant_a_sid = iptrunk_sideA_ae_geant_a_sid + subscription.iptrunk.iptrunk_sides[0].iptrunk_side_ae_members = iptrunk_sideA_ae_members + subscription.iptrunk.iptrunk_sides[0].iptrunk_side_ae_members_description = iptrunk_sideA_ae_members_descriptions - subscription.iptrunk.iptrunk_sideB_ae_geant_a_sid = iptrunk_sideB_ae_geant_a_sid - subscription.iptrunk.iptrunk_sideB_ae_members = iptrunk_sideB_ae_members - subscription.iptrunk.iptrunk_sideB_ae_members_description = iptrunk_sideB_ae_members_descriptions + subscription.iptrunk.iptrunk_sides[1].iptrunk_side_ae_geant_a_sid = iptrunk_sideB_ae_geant_a_sid + subscription.iptrunk.iptrunk_sides[1].iptrunk_side_ae_members = iptrunk_sideB_ae_members + subscription.iptrunk.iptrunk_sides[1].iptrunk_side_ae_members_description = iptrunk_sideB_ae_members_descriptions subscription.description = f"IP trunk, geant_s_sid:{geant_s_sid}" -- GitLab