From f4b30155ace580d049f57a76e08862947e2b348b Mon Sep 17 00:00:00 2001
From: Karel van Klink <karel.vanklink@geant.org>
Date: Fri, 16 Feb 2024 13:35:14 +0100
Subject: [PATCH] update lifecycle states for router and iptrunk creation
 workflows

---
 .pre-commit-config.yaml                       | 1 +
 gso/workflows/iptrunk/create_iptrunk.py       | 3 +--
 gso/workflows/router/create_router.py         | 4 +---
 test/workflows/iptrunk/test_create_iptrunk.py | 2 +-
 test/workflows/router/test_create_router.py   | 4 ++--
 5 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 6c9492b7..45164592 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -14,3 +14,4 @@ repos:
       - id: ruff-format
         args:
           - --preview
+          - --exclude=test/*
diff --git a/gso/workflows/iptrunk/create_iptrunk.py b/gso/workflows/iptrunk/create_iptrunk.py
index acbfe375..a42b60f9 100644
--- a/gso/workflows/iptrunk/create_iptrunk.py
+++ b/gso/workflows/iptrunk/create_iptrunk.py
@@ -242,7 +242,6 @@ def initialize_subscription(
         )
     side_names = sorted([side_a.router_site.site_name, side_b.router_site.site_name])
     subscription.description = f"IP trunk {side_names[0]} {side_names[1]}, geant_s_sid:{geant_s_sid}"
-    subscription = IptrunkProvisioning.from_other_lifecycle(subscription, SubscriptionLifecycle.PROVISIONING)
 
     return {"subscription": subscription}
 
@@ -484,7 +483,7 @@ def create_iptrunk() -> StepList:
         >> pp_interaction(check_ip_trunk_isis)
         >> side_a_is_nokia(netbox_allocate_side_a_interfaces)
         >> side_b_is_nokia(netbox_allocate_side_b_interfaces)
-        >> set_status(SubscriptionLifecycle.ACTIVE)
+        >> set_status(SubscriptionLifecycle.PROVISIONING)
         >> resync
         >> done
     )
diff --git a/gso/workflows/router/create_router.py b/gso/workflows/router/create_router.py
index e42d2299..af68b2d3 100644
--- a/gso/workflows/router/create_router.py
+++ b/gso/workflows/router/create_router.py
@@ -123,8 +123,6 @@ def ipam_allocate_loopback(subscription: RouterInactive) -> State:
     subscription.router.router_lo_ipv6_address = loopback_v6
     subscription.router.router_lo_iso_address = iso_from_ipv4(subscription.router.router_lo_ipv4_address)
 
-    subscription = RouterProvisioning.from_other_lifecycle(subscription, SubscriptionLifecycle.PROVISIONING)
-
     return {"subscription": subscription}
 
 
@@ -231,7 +229,7 @@ def create_router() -> StepList:
         >> prompt_insert_in_ims
         >> router_is_nokia(create_netbox_device)
         >> pp_interaction(run_checks_after_base_config)
-        >> set_status(SubscriptionLifecycle.ACTIVE)
+        >> set_status(SubscriptionLifecycle.PROVISIONING)
         >> resync
         >> done
     )
diff --git a/test/workflows/iptrunk/test_create_iptrunk.py b/test/workflows/iptrunk/test_create_iptrunk.py
index 59ecc85e..c0696184 100644
--- a/test/workflows/iptrunk/test_create_iptrunk.py
+++ b/test/workflows/iptrunk/test_create_iptrunk.py
@@ -129,7 +129,7 @@ def test_successful_iptrunk_creation_with_standard_lso_result(
             subscription.iptrunk.iptrunk_sides[1].iptrunk_side_node.router_site.site_name,
         ]
     )
-    assert subscription.status == "active"
+    assert subscription.status == "provisioning"
     assert subscription.description == (
         f"IP trunk {sorted_sides[0]} {sorted_sides[1]}, geant_s_sid:{input_form_wizard_data[0]['geant_s_sid']}"
     )
diff --git a/test/workflows/router/test_create_router.py b/test/workflows/router/test_create_router.py
index 0a7cb652..ca012757 100644
--- a/test/workflows/router/test_create_router.py
+++ b/test/workflows/router/test_create_router.py
@@ -98,7 +98,7 @@ def test_create_nokia_router_success(
     state = extract_state(result)
     subscription = Router.from_subscription(subscription_id)
 
-    assert subscription.status == "active"
+    assert subscription.status == "provisioning"
     assert subscription.description == f"Router {mock_fqdn}"
 
     assert mock_provision_router.call_count == 3
@@ -177,7 +177,7 @@ def test_create_nokia_router_lso_failure(
 
     assert_pp_interaction_failure(result, process_stat, step_log)
 
-    assert subscription.status == "provisioning"
+    assert subscription.status == "initial"
     assert subscription.description == f"Router {mock_fqdn}"
 
     assert mock_provision_router.call_count == 2
-- 
GitLab