diff --git a/gso/products/__init__.py b/gso/products/__init__.py index 09d0333b61331fbd5de4d28ff57eb6afeceda72f..ad3c2d2a7be2d9c863541d38d950100b0acb59a8 100644 --- a/gso/products/__init__.py +++ b/gso/products/__init__.py @@ -9,9 +9,9 @@ from orchestrator.domain import SUBSCRIPTION_MODEL_REGISTRY from pydantic_forms.types import strEnum from gso.products.product_types.edge_port import EdgePort, ImportedEdgePort -from gso.products.product_types.geant_ip import GeantIP, ImportedGeantIP from gso.products.product_types.iptrunk import ImportedIptrunk, Iptrunk from gso.products.product_types.lan_switch_interconnect import LanSwitchInterconnect +from gso.products.product_types.nren_l3_core_service import ImportedNRENL3CoreService, NRENL3CoreService from gso.products.product_types.office_router import ImportedOfficeRouter, OfficeRouter from gso.products.product_types.opengear import ImportedOpengear, Opengear from gso.products.product_types.pop_vlan import PopVlan @@ -43,6 +43,8 @@ class ProductName(strEnum): IMPORTED_EDGE_PORT = "Imported Edge Port" GEANT_IP = "GÉANT IP" IMPORTED_GEANT_IP = "Imported GÉANT IP" + IAS = "IAS" + IMPORTED_IAS = "Imported IAS" class ProductType(strEnum): @@ -65,8 +67,10 @@ class ProductType(strEnum): IMPORTED_OPENGEAR = Opengear.__name__ EDGE_PORT = EdgePort.__name__ IMPORTED_EDGE_PORT = ImportedEdgePort.__name__ - GEANT_IP = GeantIP.__name__ - IMPORTED_GEANT_IP = ImportedGeantIP.__name__ + GEANT_IP = NRENL3CoreService.__name__ + IMPORTED_GEANT_IP = ImportedNRENL3CoreService.__name__ + IAS = NRENL3CoreService.__name__ + IMPORTED_IAS = ImportedNRENL3CoreService.__name__ SUBSCRIPTION_MODEL_REGISTRY.update( @@ -88,7 +92,9 @@ SUBSCRIPTION_MODEL_REGISTRY.update( ProductName.IMPORTED_OPENGEAR.value: ImportedOpengear, ProductName.EDGE_PORT.value: EdgePort, ProductName.IMPORTED_EDGE_PORT.value: ImportedEdgePort, - ProductName.GEANT_IP.value: GeantIP, - ProductName.IMPORTED_GEANT_IP.value: ImportedGeantIP, + ProductName.GEANT_IP.value: NRENL3CoreService, + ProductName.IMPORTED_GEANT_IP.value: ImportedNRENL3CoreService, + ProductName.IAS.value: NRENL3CoreService, + ProductName.IMPORTED_IAS.value: ImportedNRENL3CoreService, }, ) diff --git a/gso/products/product_blocks/geant_ip.py b/gso/products/product_blocks/nren_l3_core_service.py similarity index 51% rename from gso/products/product_blocks/geant_ip.py rename to gso/products/product_blocks/nren_l3_core_service.py index 89ee59fb9d7bebf10d6761c9d6851e926bd411b6..37eb7616511dc34d887db0ad324dee8b59ec4f96 100644 --- a/gso/products/product_blocks/geant_ip.py +++ b/gso/products/product_blocks/nren_l3_core_service.py @@ -1,4 +1,4 @@ -"""Product blocks for :class:`GeantIP` products.""" +"""Product blocks for :class:`NREN` Layer 3 Core Service products.""" from orchestrator.domain.base import ProductBlockModel from orchestrator.types import SubscriptionLifecycle @@ -17,42 +17,44 @@ class NRENAccessPortInactive( ): """An access port for an R&E :term:`NREN` service that is inactive.""" - nren_ap_type: APType | None = None - geant_ip_sbp: ServiceBindingPortInactive + ap_type: APType | None = None + sbp: ServiceBindingPortInactive class NRENAccessPortProvisioning(NRENAccessPortInactive, lifecycle=[SubscriptionLifecycle.PROVISIONING]): """An access port for an R&E :term:`NREN` service that is being provisioned.""" - nren_ap_type: APType - geant_ip_sbp: ServiceBindingPortProvisioning + ap_type: APType + sbp: ServiceBindingPortProvisioning class NRENAccessPort(NRENAccessPortProvisioning, lifecycle=[SubscriptionLifecycle.ACTIVE]): """An access port for an R&E :term:`NREN` service.""" #: The type of Access Port - nren_ap_type: APType + ap_type: APType #: The corresponding :term:`SBP` of this Access Port. - geant_ip_sbp: ServiceBindingPort + sbp: ServiceBindingPort -class GeantIPBlockInactive( - ProductBlockModel, lifecycle=[SubscriptionLifecycle.INITIAL], product_block_name="GeantIPBlock" +class NRENL3CoreServiceBlockInactive( + ProductBlockModel, lifecycle=[SubscriptionLifecycle.INITIAL], product_block_name="NRENL3CoreServiceBlock" ): - """A GÉANT IP subscription that is currently inactive. See :class:`GeantIPBlock`.""" + """An inactive :term:`NREN` L3 Core service subscription. See :class:`NRENL3CoreServiceBlock`.""" - geant_ip_ap_list: list[NRENAccessPortInactive] = Field(default_factory=list) + nren_ap_list: list[NRENAccessPortInactive] = Field(default_factory=list) -class GeantIPBlockProvisioning(GeantIPBlockInactive, lifecycle=[SubscriptionLifecycle.PROVISIONING]): - """A GÉANT IP subscription that is currently being provisioned. See :class:`GeantIPBlock`.""" +class NRENL3CoreServiceBlockProvisioning( + NRENL3CoreServiceBlockInactive, lifecycle=[SubscriptionLifecycle.PROVISIONING] +): + """A provisioning :term:`NREN` L3 Core Service subscription. See :class:`NRENL3CoreServiceBlock`.""" - geant_ip_ap_list: list[NRENAccessPortProvisioning] # type: ignore[assignment] + nren_ap_list: list[NRENAccessPortProvisioning] # type: ignore[assignment] -class GeantIPBlock(GeantIPBlockProvisioning, lifecycle=[SubscriptionLifecycle.ACTIVE]): - """A GÉANT IP subscription block.""" +class NRENL3CoreServiceBlock(NRENL3CoreServiceBlockProvisioning, lifecycle=[SubscriptionLifecycle.ACTIVE]): + """An active :term:`NREN` L3 Core Service subscription block.""" #: The list of Access Points where this service is present. - geant_ip_ap_list: list[NRENAccessPort] # type: ignore[assignment] + nren_ap_list: list[NRENAccessPort] # type: ignore[assignment] diff --git a/gso/products/product_types/geant_ip.py b/gso/products/product_types/geant_ip.py deleted file mode 100644 index 064a01ea2d23676f975c820a40d07ea19766ea1b..0000000000000000000000000000000000000000 --- a/gso/products/product_types/geant_ip.py +++ /dev/null @@ -1,38 +0,0 @@ -"""GÉANT IP product type.""" - -from orchestrator.domain import SubscriptionModel -from orchestrator.types import SubscriptionLifecycle - -from gso.products.product_blocks.geant_ip import GeantIPBlock, GeantIPBlockInactive, GeantIPBlockProvisioning - - -class GeantIPInactive(SubscriptionModel, is_base=True): - """An inactive GÉANT IP subscription.""" - - geant_ip: GeantIPBlockInactive - - -class GeantIPProvisioning(GeantIPInactive, lifecycle=[SubscriptionLifecycle.PROVISIONING]): - """A GÉANT IP subscription that's being provisioned.""" - - geant_ip: GeantIPBlockProvisioning - - -class GeantIP(GeantIPProvisioning, lifecycle=[SubscriptionLifecycle.ACTIVE]): - """An active GÉANT IP subscription.""" - - geant_ip: GeantIPBlock - - -class ImportedGeantIPInactive(SubscriptionModel, is_base=True): - """An imported, inactive GÉANT IP subscription.""" - - geant_ip: GeantIPBlockInactive - - -class ImportedGeantIP( - ImportedGeantIPInactive, lifecycle=[SubscriptionLifecycle.PROVISIONING, SubscriptionLifecycle.ACTIVE] -): - """An imported GÉANT IP subscription.""" - - geant_ip: GeantIPBlock diff --git a/gso/products/product_types/nren_l3_core_service.py b/gso/products/product_types/nren_l3_core_service.py new file mode 100644 index 0000000000000000000000000000000000000000..a00cdf571da9e2208c091ce8c9a9c41ea3e5e46e --- /dev/null +++ b/gso/products/product_types/nren_l3_core_service.py @@ -0,0 +1,58 @@ +""":term:`NREN` L3 Core Service product type.""" + +from orchestrator.domain import SubscriptionModel +from orchestrator.types import SubscriptionLifecycle +from pydantic_forms.types import strEnum + +from gso.products.product_blocks.nren_l3_core_service import ( + NRENL3CoreServiceBlock, + NRENL3CoreServiceBlockInactive, + NRENL3CoreServiceBlockProvisioning, +) + + +class NRENL3CoreServiceType(strEnum): + """Available types of :term:`NREN` Layer 3 Core Services. + + The core services offered include GÉANT IP for R&E access, and the Internet Access Service. + """ + + GEANT_IP = "GÉANT IP" + IAS = "IAS" + + +class NRENL3CoreServiceInactive(SubscriptionModel, is_base=True): + """An inactive :term:`NREN` L3 Core Service subscription.""" + + nren_l3_core_service_type: NRENL3CoreServiceType + nren_l3_core_service: NRENL3CoreServiceBlockInactive + + +class NRENL3CoreServiceProvisioning(NRENL3CoreServiceInactive, lifecycle=[SubscriptionLifecycle.PROVISIONING]): + """A :term:`NREN` L3 Core Service subscription that's being provisioned.""" + + nren_l3_core_service_type: NRENL3CoreServiceType + nren_l3_core_service: NRENL3CoreServiceBlockProvisioning + + +class NRENL3CoreService(NRENL3CoreServiceProvisioning, lifecycle=[SubscriptionLifecycle.ACTIVE]): + """An active :term:`NREN` L3 Core Service subscription.""" + + nren_l3_core_service_type: NRENL3CoreServiceType + nren_l3_core_service: NRENL3CoreServiceBlock + + +class ImportedNRENL3CoreServiceInactive(SubscriptionModel, is_base=True): + """An imported, inactive :term:`NREN` L3 Core Service subscription.""" + + nren_l3_core_service_type: NRENL3CoreServiceType + nren_l3_core_service: NRENL3CoreServiceBlockInactive + + +class ImportedNRENL3CoreService( + ImportedNRENL3CoreServiceInactive, lifecycle=[SubscriptionLifecycle.PROVISIONING, SubscriptionLifecycle.ACTIVE] +): + """An imported :term:`NREN` L3 Core Service subscription.""" + + nren_l3_core_service_type: NRENL3CoreServiceType + nren_l3_core_service: NRENL3CoreServiceBlock diff --git a/gso/translations/en-GB.json b/gso/translations/en-GB.json index d136f8819af0f934b75725113fb5fcc94098c5c8..bfab227c3dff711f6f0a62c6bc99f8e73c43239c 100644 --- a/gso/translations/en-GB.json +++ b/gso/translations/en-GB.json @@ -45,17 +45,17 @@ "create_site": "Create Site", "create_switch": "Create Switch", "create_edge_port": "Create Edge Port", - "create_geant_ip": "Create GÉANT IP", + "create_nren_l3_core_service": "Create NREN L3 Core Service", "deploy_twamp": "Deploy TWAMP", "migrate_iptrunk": "Migrate IP Trunk", - "migrate_geant_ip": "Migrate GÉANT IP", + "migrate_nren_l3_core_service": "Migrate NREN L3 Core Service", "modify_isis_metric": "Modify the ISIS metric", "modify_site": "Modify Site", "modify_trunk_interface": "Modify IP Trunk interface", "modify_connection_strategy": "Modify connection strategy", "modify_router_kentik_license": "Modify device license in Kentik", "modify_edge_port": "Modify Edge Port", - "modify_geant_ip": "Modify GÉANT IP", + "modify_nren_l3_core_service": "Modify NREN L3 Core Service", "terminate_iptrunk": "Terminate IP Trunk", "terminate_router": "Terminate Router", "terminate_site": "Terminate Site", @@ -70,7 +70,7 @@ "create_imported_office_router": "NOT FOR HUMANS -- Import existing office router", "create_imported_opengear": "NOT FOR HUMANS -- Import existing OpenGear", "create_imported_edge_port": "NOT FOR HUMANS -- Import existing Edge Port", - "create_imported_geant_ip": "NOT FOR HUMANS -- Import existing GÉANT IP", + "create_imported_nren_l3_core_service": "NOT FOR HUMANS -- Import existing NREN L3 Core Service", "import_site": "NOT FOR HUMANS -- Finalize import into a Site product", "import_router": "NOT FOR HUMANS -- Finalize import into a Router product", "import_iptrunk": "NOT FOR HUMANS -- Finalize import into an IP trunk product", @@ -78,7 +78,7 @@ "import_super_pop_switch": "NOT FOR HUMANS -- Finalize import into a Super PoP switch", "import_opengear": "NOT FOR HUMANS -- Finalize import into an OpenGear", "import_edge_port": "NOT FOR HUMANS -- Finalize import into an Edge Port", - "import_geant_ip": "NOT FOR HUMANS -- Finalize import into a GÉANT IP", + "import_nren_l3_core_service": "NOT FOR HUMANS -- Finalize import into a NREN L3 Core Service", "validate_iptrunk": "Validate IP Trunk configuration", "validate_router": "Validate Router configuration", "validate_switch": "Validate Switch configuration", diff --git a/gso/workflows/__init__.py b/gso/workflows/__init__.py index 377edf17a4c929ad9f146ee76b491f9aa763f10a..5a6b9d082339add5f4890d54b3654228a989d7de 100644 --- a/gso/workflows/__init__.py +++ b/gso/workflows/__init__.py @@ -87,9 +87,11 @@ LazyWorkflowInstance("gso.workflows.edge_port.validate_edge_port", "validate_edg LazyWorkflowInstance("gso.workflows.edge_port.create_imported_edge_port", "create_imported_edge_port") LazyWorkflowInstance("gso.workflows.edge_port.import_edge_port", "import_edge_port") -# GÉANT IP workflows -LazyWorkflowInstance("gso.workflows.geant_ip.create_geant_ip", "create_geant_ip") -LazyWorkflowInstance("gso.workflows.geant_ip.modify_geant_ip", "modify_geant_ip") -LazyWorkflowInstance("gso.workflows.geant_ip.create_imported_geant_ip", "create_imported_geant_ip") -LazyWorkflowInstance("gso.workflows.geant_ip.import_geant_ip", "import_geant_ip") -LazyWorkflowInstance("gso.workflows.geant_ip.migrate_geant_ip", "migrate_geant_ip") +# NREN L3 Core Service workflows +LazyWorkflowInstance("gso.workflows.nren_l3_core_service.create_nren_l3_core_service", "create_nren_l3_core_service") +LazyWorkflowInstance("gso.workflows.nren_l3_core_service.modify_nren_l3_core_service", "modify_nren_l3_core_service") +LazyWorkflowInstance( + "gso.workflows.nren_l3_core_service.create_imported_nren_l3_core_service", "create_imported_nren_l3_core_service" +) +LazyWorkflowInstance("gso.workflows.nren_l3_core_service.import_nren_l3_core_service", "import_nren_l3_core_service") +LazyWorkflowInstance("gso.workflows.nren_l3_core_service.migrate_nren_l3_core_service", "migrate_nren_l3_core_service") diff --git a/gso/workflows/geant_ip/__init__.py b/gso/workflows/geant_ip/__init__.py deleted file mode 100644 index 0a1739e2dff1d07c92b3a6c1fbd213e1506328ab..0000000000000000000000000000000000000000 --- a/gso/workflows/geant_ip/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""GÉANT IP workflows.""" diff --git a/gso/workflows/nren_l3_core_service/__init__.py b/gso/workflows/nren_l3_core_service/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..fb652fbe787e3e976db91a9c0cdefa7c897b61f2 --- /dev/null +++ b/gso/workflows/nren_l3_core_service/__init__.py @@ -0,0 +1 @@ +""":term:`NREN` layer 3 core service workflows.""" diff --git a/gso/workflows/geant_ip/create_imported_geant_ip.py b/gso/workflows/nren_l3_core_service/create_imported_nren_l3_core_service.py similarity index 96% rename from gso/workflows/geant_ip/create_imported_geant_ip.py rename to gso/workflows/nren_l3_core_service/create_imported_nren_l3_core_service.py index 3c5b7a0323cd91862fbafe4cdc17045cc7352607..4ad7adedcd05a6018a3dd01b8e5a633988084110 100644 --- a/gso/workflows/geant_ip/create_imported_geant_ip.py +++ b/gso/workflows/nren_l3_core_service/create_imported_nren_l3_core_service.py @@ -13,10 +13,10 @@ from pydantic_forms.types import UUIDstr from gso.products import ProductName from gso.products.product_blocks.bgp_session import BGPSession, IPFamily -from gso.products.product_blocks.geant_ip import NRENAccessPortInactive +from gso.products.product_blocks.nren_l3_core_service import NRENAccessPortInactive from gso.products.product_blocks.service_binding_port import VLAN_ID, ServiceBindingPortInactive from gso.products.product_types.edge_port import EdgePort -from gso.products.product_types.geant_ip import ImportedGeantIPInactive +from gso.products.product_types.nren_l3_core_service import ImportedGeantIPInactive from gso.services.partners import get_partner_by_name from gso.services.subscriptions import get_product_id_by_name from gso.utils.shared_enums import SBPType diff --git a/gso/workflows/geant_ip/create_geant_ip.py b/gso/workflows/nren_l3_core_service/create_nren_l3_core_service.py similarity index 98% rename from gso/workflows/geant_ip/create_geant_ip.py rename to gso/workflows/nren_l3_core_service/create_nren_l3_core_service.py index 85b114a46df5befd085a87d79aad0639077fd4a7..f390b8b17af08b0445e4974f126232a67b733fe2 100644 --- a/gso/workflows/geant_ip/create_geant_ip.py +++ b/gso/workflows/nren_l3_core_service/create_nren_l3_core_service.py @@ -14,10 +14,10 @@ from pydantic import AfterValidator, BaseModel, ConfigDict, Field, computed_fiel from pydantic_forms.validators import Divider from gso.products.product_blocks.bgp_session import BGPSession, IPFamily -from gso.products.product_blocks.geant_ip import NRENAccessPortInactive +from gso.products.product_blocks.nren_l3_core_service import NRENAccessPortInactive from gso.products.product_blocks.service_binding_port import VLAN_ID, ServiceBindingPortInactive from gso.products.product_types.edge_port import EdgePort -from gso.products.product_types.geant_ip import GeantIPInactive +from gso.products.product_types.nren_l3_core_service import GeantIPInactive from gso.services.lso_client import LSOState, lso_interaction from gso.utils.helpers import ( active_edge_port_selector, diff --git a/gso/workflows/geant_ip/import_geant_ip.py b/gso/workflows/nren_l3_core_service/import_nren_l3_core_service.py similarity index 94% rename from gso/workflows/geant_ip/import_geant_ip.py rename to gso/workflows/nren_l3_core_service/import_nren_l3_core_service.py index 74fd2eb7e2de865f95d4c51f481408d067d78a34..fa7413edceae7b58454aa5b1340a0c20b35cf278 100644 --- a/gso/workflows/geant_ip/import_geant_ip.py +++ b/gso/workflows/nren_l3_core_service/import_nren_l3_core_service.py @@ -7,7 +7,7 @@ from orchestrator.workflows.steps import resync, store_process_subscription, uns from orchestrator.workflows.utils import wrap_modify_initial_input_form from gso.products import ProductName -from gso.products.product_types.geant_ip import GeantIP, ImportedGeantIP +from gso.products.product_types.nren_l3_core_service import GeantIP, ImportedGeantIP from gso.services.subscriptions import get_product_id_by_name diff --git a/gso/workflows/geant_ip/migrate_geant_ip.py b/gso/workflows/nren_l3_core_service/migrate_nren_l3_core_service.py similarity index 98% rename from gso/workflows/geant_ip/migrate_geant_ip.py rename to gso/workflows/nren_l3_core_service/migrate_nren_l3_core_service.py index b207635fd46a040a13d823afd40fd65594e004c1..55e0bff1eea689579465928bcd90a77668500737 100644 --- a/gso/workflows/geant_ip/migrate_geant_ip.py +++ b/gso/workflows/nren_l3_core_service/migrate_nren_l3_core_service.py @@ -14,7 +14,7 @@ from pydantic_forms.types import FormGenerator, State, UUIDstr from pydantic_forms.validators import Choice, Divider from gso.products.product_types.edge_port import EdgePort -from gso.products.product_types.geant_ip import GeantIP +from gso.products.product_types.nren_l3_core_service import GeantIP from gso.services.subscriptions import get_active_edge_port_subscriptions from gso.utils.types.tt_number import TTNumber diff --git a/gso/workflows/geant_ip/modify_geant_ip.py b/gso/workflows/nren_l3_core_service/modify_nren_l3_core_service.py similarity index 98% rename from gso/workflows/geant_ip/modify_geant_ip.py rename to gso/workflows/nren_l3_core_service/modify_nren_l3_core_service.py index fadf6aeda90cd57df3b015980557fd620e19e17d..7dad39da3b65ddf91169043d41603d358c373a54 100644 --- a/gso/workflows/geant_ip/modify_geant_ip.py +++ b/gso/workflows/nren_l3_core_service/modify_nren_l3_core_service.py @@ -15,10 +15,10 @@ from pydantic_forms.types import State from pydantic_forms.validators import Divider, Label from gso.products.product_blocks.bgp_session import BGPSession, IPFamily -from gso.products.product_blocks.geant_ip import NRENAccessPort +from gso.products.product_blocks.nren_l3_core_service import NRENAccessPort from gso.products.product_blocks.service_binding_port import VLAN_ID, ServiceBindingPort from gso.products.product_types.edge_port import EdgePort -from gso.products.product_types.geant_ip import GeantIP +from gso.products.product_types.nren_l3_core_service import GeantIP from gso.utils.helpers import active_edge_port_selector from gso.utils.shared_enums import APType, SBPType from gso.utils.types.ip_address import IPv4AddressType, IPV4Netmask, IPv6AddressType, IPV6Netmask diff --git a/test/fixtures/geant_ip_fixtures.py b/test/fixtures/geant_ip_fixtures.py index 49b501e9de3c9b143bb9628ef7e71583df2f01dc..95c275f8afb137e395b41a9bc623da09182ed7ca 100644 --- a/test/fixtures/geant_ip_fixtures.py +++ b/test/fixtures/geant_ip_fixtures.py @@ -8,9 +8,9 @@ from orchestrator.types import SubscriptionLifecycle, UUIDstr from gso.products import EdgePort, ProductName from gso.products.product_blocks.bgp_session import BGPSession, IPFamily -from gso.products.product_blocks.geant_ip import NRENAccessPort +from gso.products.product_blocks.nren_l3_core_service import NRENAccessPort from gso.products.product_blocks.service_binding_port import ServiceBindingPort -from gso.products.product_types.geant_ip import GeantIPInactive, ImportedGeantIP +from gso.products.product_types.nren_l3_core_service import GeantIPInactive, ImportedGeantIP from gso.services import subscriptions from gso.utils.shared_enums import APType, SBPType from gso.utils.types.ip_address import IPAddress diff --git a/test/workflows/geant_ip/test_create_geant_ip.py b/test/workflows/geant_ip/test_create_geant_ip.py index 1b5f68d860d88252c9d6daf51bedce8143747912..95d51d9d31aa4fd42550ec5cddac760d33e70b3d 100644 --- a/test/workflows/geant_ip/test_create_geant_ip.py +++ b/test/workflows/geant_ip/test_create_geant_ip.py @@ -4,7 +4,7 @@ import pytest from orchestrator.types import SubscriptionLifecycle from gso.products import ProductName -from gso.products.product_types.geant_ip import GeantIP +from gso.products.product_types.nren_l3_core_service import GeantIP from gso.services.subscriptions import get_product_id_by_name from gso.utils.shared_enums import APType from test.workflows import assert_complete, assert_lso_interaction_success, extract_state, run_workflow diff --git a/test/workflows/geant_ip/test_migrate_geant_ip.py b/test/workflows/geant_ip/test_migrate_geant_ip.py index 304fc75bb3abde349b6c2e4b7d793c87cce7ae40..95eaf15a5d0109fb3f6a12e50119d3cc8fea26a5 100644 --- a/test/workflows/geant_ip/test_migrate_geant_ip.py +++ b/test/workflows/geant_ip/test_migrate_geant_ip.py @@ -1,6 +1,6 @@ import pytest -from gso.products.product_types.geant_ip import GeantIP +from gso.products.product_types.nren_l3_core_service import GeantIP from test.workflows import assert_complete, extract_state, run_workflow diff --git a/test/workflows/geant_ip/test_modify_geant_ip.py b/test/workflows/geant_ip/test_modify_geant_ip.py index 937f95cb9a88bef62e7bcaaed26461a1a786f170..99a9f30cf99bbf84908d25316428756d65dc75cb 100644 --- a/test/workflows/geant_ip/test_modify_geant_ip.py +++ b/test/workflows/geant_ip/test_modify_geant_ip.py @@ -1,7 +1,7 @@ import pytest from gso.products.product_blocks.bgp_session import IPFamily -from gso.products.product_types.geant_ip import GeantIP +from gso.products.product_types.nren_l3_core_service import GeantIP from gso.utils.shared_enums import APType from test.workflows import extract_state, run_workflow