diff --git a/gso/workflows/l2_circuit/create_layer_2_circuit.py b/gso/workflows/l2_circuit/create_layer_2_circuit.py index 7959a30b777396db24c659fce5bda0ba8b357d41..acf5beefa74860e548d272598d37f10fa3d69221 100644 --- a/gso/workflows/l2_circuit/create_layer_2_circuit.py +++ b/gso/workflows/l2_circuit/create_layer_2_circuit.py @@ -19,6 +19,7 @@ from gso.products.product_blocks.service_binding_port import ServiceBindingPortI from gso.products.product_types.edge_port import EdgePort from gso.products.product_types.layer_2_circuit import Layer2Circuit, Layer2CircuitInactive from gso.services.partners import get_partner_by_name +from gso.services.subscriptions import generate_unique_gs_id from gso.utils.helpers import active_edge_port_selector, generate_unique_vc_id, partner_choice from gso.utils.shared_enums import SBPType from gso.utils.types.interfaces import BandwidthString @@ -69,7 +70,6 @@ def initial_input_generator(product_name: str) -> FormGenerator: vlan_divider: Divider = Field(None, exclude=True) policer_bandwidth: _policer_field(policer_enabled=initial_user_input.policer_enabled) # type: ignore[valid-type] policer_burst_rate: _policer_field(policer_enabled=initial_user_input.policer_enabled) # type: ignore[valid-type] - gs_id: str layer_2_circuit_side_a: Layer2CircuitSideSelection side_divider: Divider = Field(None, exclude=True) layer_2_circuit_side_b: Layer2CircuitSideSelection @@ -105,10 +105,10 @@ def initialize_subscription( policer_enabled: bool, # noqa: FBT001 policer_bandwidth: BandwidthString | None, policer_burst_rate: BandwidthString | None, - gs_id: str, ) -> State: """Build a subscription object from all user input.""" layer_2_circuit_sides = [] + gs_id = generate_unique_gs_id() for circuit_side_data in [layer_2_circuit_side_a, layer_2_circuit_side_b]: sbp = ServiceBindingPortInactive.new( uuid4(), diff --git a/gso/workflows/l3_core_service/create_l3_core_service.py b/gso/workflows/l3_core_service/create_l3_core_service.py index 04edd53f4bc089f02ef484255cf0b9416922aab6..cd42c7613a391213ad9908797ef8a3dedb7dc200 100644 --- a/gso/workflows/l3_core_service/create_l3_core_service.py +++ b/gso/workflows/l3_core_service/create_l3_core_service.py @@ -20,6 +20,7 @@ from gso.products.product_types.edge_port import EdgePort from gso.products.product_types.l3_core_service import L3CoreService, L3CoreServiceInactive from gso.services.lso_client import LSOState, lso_interaction from gso.services.partners import get_partner_by_id +from gso.services.subscriptions import generate_unique_gs_id from gso.utils.helpers import ( active_edge_port_selector, partner_choice, @@ -113,7 +114,6 @@ def initial_input_form_generator(product_name: str) -> FormGenerator: exclude=True, ) - gs_id: str is_tagged: bool = False vlan_id: VLAN_ID custom_firewall_filters: bool = False @@ -165,6 +165,7 @@ def initialize_subscription( BGPSession.new(subscription_id=uuid4(), rtbh_enabled=True, is_multi_hop=True, **session) for session in binding_port_input["bgp_peers"] ] + sbp_gs_id = generate_unique_gs_id() service_binding_port = ServiceBindingPortInactive.new( subscription_id=uuid4(), v4_bfd_settings=BFDSettings.new(subscription_id=uuid4(), **(binding_port_input.pop("v4_bfd_settings"))), @@ -173,6 +174,7 @@ def initialize_subscription( bgp_session_list=sbp_bgp_session_list, sbp_type=SBPType.L3, edge_port=edge_port_subscription.edge_port, + gs_id=sbp_gs_id, ) subscription.l3_core_service.ap_list.append( AccessPortInactive.new( diff --git a/test/workflows/l2_circuit/test_create_layer_2_circuit.py b/test/workflows/l2_circuit/test_create_layer_2_circuit.py index edfab4dd65ef0e305dc8f0b39e6e3d431d6b334c..c14ab1213a41f24414b56046fbeb4a8afef43110 100644 --- a/test/workflows/l2_circuit/test_create_layer_2_circuit.py +++ b/test/workflows/l2_circuit/test_create_layer_2_circuit.py @@ -28,7 +28,6 @@ def layer_2_circuit_input(faker, partner_factory, edge_port_subscription_factory "vlan_range_upper_bound": faker.vlan_id(), "policer_bandwidth": faker.bandwidth() if policer_enabled else None, "policer_burst_rate": faker.bandwidth() if policer_enabled else None, - "gs_id": faker.geant_sid(), "layer_2_circuit_side_a": {"edge_port": edge_port_a, "vlan_id": faker.vlan_id()}, "layer_2_circuit_side_b": {"edge_port": edge_port_b, "vlan_id": faker.vlan_id()}, }, @@ -56,13 +55,15 @@ def test_create_layer_2_circuit_success( == layer_2_circuit_input[2]["layer_2_circuit_side_a"]["edge_port"] ) assert subscription.layer_2_circuit.layer_2_circuit_sides[0].sbp.is_tagged is True - assert subscription.layer_2_circuit.layer_2_circuit_sides[0].sbp.gs_id == layer_2_circuit_input[2]["gs_id"] + assert ( + subscription.layer_2_circuit.layer_2_circuit_sides[0].sbp.gs_id + == subscription.layer_2_circuit.layer_2_circuit_sides[1].sbp.gs_id + ) assert ( str(subscription.layer_2_circuit.layer_2_circuit_sides[1].sbp.edge_port.owner_subscription_id) == layer_2_circuit_input[2]["layer_2_circuit_side_b"]["edge_port"] ) assert subscription.layer_2_circuit.layer_2_circuit_sides[1].sbp.is_tagged is True - assert subscription.layer_2_circuit.layer_2_circuit_sides[1].sbp.gs_id == layer_2_circuit_input[2]["gs_id"] assert subscription.layer_2_circuit.layer_2_circuit_type == Layer2CircuitType.TAGGED assert subscription.layer_2_circuit.vlan_range_lower_bound == layer_2_circuit_input[2]["vlan_range_lower_bound"] assert subscription.layer_2_circuit.vlan_range_upper_bound == layer_2_circuit_input[2]["vlan_range_upper_bound"] diff --git a/test/workflows/l3_core_service/test_create_l3_core_service.py b/test/workflows/l3_core_service/test_create_l3_core_service.py index 2295e362e2d011d5ae14cf8651bd840da3573487..c26e649443f01d44d024062038d5d7192c54fa3a 100644 --- a/test/workflows/l3_core_service/test_create_l3_core_service.py +++ b/test/workflows/l3_core_service/test_create_l3_core_service.py @@ -49,7 +49,6 @@ def test_create_l3_core_service_success( {"tt_number": faker.tt_number(), "partner": partner["partner_id"]}, {"edge_port": {"edge_port": edge_port_a, "ap_type": APType.PRIMARY}}, { - "gs_id": faker.geant_sid(), "is_tagged": faker.boolean(), "vlan_id": faker.vlan_id(), "ipv4_address": faker.ipv4(),