From 35f5a2db603e5ca6e8ca73db28bbdaf8654d636c Mon Sep 17 00:00:00 2001
From: Karel van Klink <karel.vanklink@geant.org>
Date: Fri, 2 Feb 2024 13:46:09 +0100
Subject: [PATCH] Add code comments to trunk migration logic

---
 .pre-commit-config.yaml                  | 1 +
 gso/workflows/iptrunk/migrate_iptrunk.py | 7 ++++---
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index b6911b2d0..70bfc27e1 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -8,6 +8,7 @@ repos:
         args:
           - --fix
           - --preview
+          - --ignore=PLR0917,PLR0914
       # Run the formatter.
       - id: ruff-format
         args:
diff --git a/gso/workflows/iptrunk/migrate_iptrunk.py b/gso/workflows/iptrunk/migrate_iptrunk.py
index 0f47dfee2..f0e9d2f44 100644
--- a/gso/workflows/iptrunk/migrate_iptrunk.py
+++ b/gso/workflows/iptrunk/migrate_iptrunk.py
@@ -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
@@ -44,7 +43,7 @@ from gso.utils.helpers import (
 from gso.utils.workflow_steps import set_isis_to_90000
 
 
-def initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator:
+def initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator:  # type: ignore[PLR0914]
     """Gather input from the operator on the new router that the IP trunk should connect to."""
     subscription = Iptrunk.from_subscription(subscription_id)
     form_title = (
@@ -88,7 +87,9 @@ def initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator:
                 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):
-- 
GitLab