diff --git a/gso/products/product_blocks/iptrunk.py b/gso/products/product_blocks/iptrunk.py
index e513e72f1ca96c7b5f55473e9bf65fe41d246b1c..e72828ba24babbe3f7750271b9310cb8265a78d0 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 fe1f29068aa22c437d213d58dee341f0c9e68028..7161f08385356ab551e930b993024641d7d0f1de 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 d6320e6ff3f62436f8b84c5d49d46086e58f9499..565e652f9e78862249e763188c31bd000c526ca6 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}"