diff --git a/gso/migrations/versions/2024-12-04_e358efe9ab03_rename_iptrunk_and_iptrunk_side_sid_and_.py b/gso/migrations/versions/2024-12-04_e358efe9ab03_rename_iptrunk_and_iptrunk_side_sid_and_.py new file mode 100644 index 0000000000000000000000000000000000000000..63bc63a7415d408708438e1b110e5721c5b50090 --- /dev/null +++ b/gso/migrations/versions/2024-12-04_e358efe9ab03_rename_iptrunk_and_iptrunk_side_sid_and_.py @@ -0,0 +1,35 @@ +"""Rename iptrunk and iptrunk side sid and gid. + +Revision ID: e358efe9ab03 +Revises: 4cc835c615fc +Create Date: 2024-12-04 15:05:46.356709 + +""" +import sqlalchemy as sa +from alembic import op + +# revision identifiers, used by Alembic. +revision = 'e358efe9ab03' +down_revision = '4cc835c615fc' +branch_labels = None +depends_on = None + + +def upgrade() -> None: + conn = op.get_bind() + conn.execute(sa.text(""" +UPDATE resource_types SET resource_type='ga_id' WHERE resource_types.resource_type = 'iptrunk_side_ae_geant_a_sid' + """)) + conn.execute(sa.text(""" +UPDATE resource_types SET resource_type='gs_id' WHERE resource_types.resource_type = 'geant_s_sid' + """)) + + +def downgrade() -> None: + conn = op.get_bind() + conn.execute(sa.text(""" +UPDATE resource_types SET resource_type='iptrunk_side_ae_geant_a_sid' WHERE resource_types.resource_type = 'ga_id' + """)) + conn.execute(sa.text(""" +UPDATE resource_types SET resource_type='geant_s_sid' WHERE resource_types.resource_type = 'gs_id' + """)) diff --git a/gso/migrations/versions/2024-12-04_e36b3bd8a45c_rename_edgeport_and_sbp_gs_and_ga_id.py b/gso/migrations/versions/2024-12-04_e36b3bd8a45c_rename_edgeport_and_sbp_gs_and_ga_id.py new file mode 100644 index 0000000000000000000000000000000000000000..180c97ee45b08904fc7c4b4dbd1ea2b6a36d1865 --- /dev/null +++ b/gso/migrations/versions/2024-12-04_e36b3bd8a45c_rename_edgeport_and_sbp_gs_and_ga_id.py @@ -0,0 +1,47 @@ +"""Rename edgeport and sbp gs and ga id. + +Revision ID: e36b3bd8a45c +Revises: e358efe9ab03 +Create Date: 2024-12-04 15:08:30.512126 + +""" +import sqlalchemy as sa +from alembic import op + +# revision identifiers, used by Alembic. +revision = 'e36b3bd8a45c' +down_revision = 'e358efe9ab03' +branch_labels = None +depends_on = None + + +def upgrade() -> None: + conn = op.get_bind() + conn.execute(sa.text(""" +UPDATE product_block_resource_types SET resource_type_id=(SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('ga_id')) WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('EdgePortBlock')) AND product_block_resource_types.resource_type_id IN (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('geant_ga_id')) + """)) + conn.execute(sa.text(""" +UPDATE product_block_resource_types SET resource_type_id=(SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('gs_id')) WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('ServiceBindingPort')) AND product_block_resource_types.resource_type_id IN (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('geant_sid')) + """)) + conn.execute(sa.text(""" +UPDATE subscription_instance_values SET resource_type_id=(SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('ga_id')) WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('EdgePortBlock'))) AND subscription_instance_values.resource_type_id IN (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('geant_ga_id')) + """)) + conn.execute(sa.text(""" +UPDATE subscription_instance_values SET resource_type_id=(SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('gs_id')) WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('ServiceBindingPort'))) AND subscription_instance_values.resource_type_id IN (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('geant_sid')) + """)) + + +def downgrade() -> None: + conn = op.get_bind() + conn.execute(sa.text(""" +UPDATE product_block_resource_types SET resource_type_id=(SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('geant_ga_id')) WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('EdgePortBlock')) AND product_block_resource_types.resource_type_id IN (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('ga_id')) + """)) + conn.execute(sa.text(""" +UPDATE product_block_resource_types SET resource_type_id=(SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('geant_sid')) WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('ServiceBindingPort')) AND product_block_resource_types.resource_type_id IN (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('gs_id')) + """)) + conn.execute(sa.text(""" +UPDATE subscription_instance_values SET resource_type_id=(SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('geant_ga_id')) WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('EdgePortBlock'))) AND subscription_instance_values.resource_type_id IN (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('ga_id')) + """)) + conn.execute(sa.text(""" +UPDATE subscription_instance_values SET resource_type_id=(SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('geant_sid')) WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('ServiceBindingPort'))) AND subscription_instance_values.resource_type_id IN (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('gs_id')) + """)) diff --git a/gso/products/product_blocks/edge_port.py b/gso/products/product_blocks/edge_port.py index b3400e0f5274957f9d0570a42e2420519fd01a9d..8f5c4bb1b32926639688b48e853d670de4a0734c 100644 --- a/gso/products/product_blocks/edge_port.py +++ b/gso/products/product_blocks/edge_port.py @@ -72,7 +72,7 @@ class EdgePortBlockInactive( minimum_links: int | None = None edge_port_type: EdgePortType | None = None ignore_if_down: bool = False - geant_ga_id: str | None = None + ga_id: str | None = None edge_port_ae_members: LAGMemberList[EdgePortAEMemberBlockInactive] @@ -89,7 +89,7 @@ class EdgePortBlockProvisioning(EdgePortBlockInactive, lifecycle=[SubscriptionLi minimum_links: int | None = None edge_port_type: EdgePortType ignore_if_down: bool = False - geant_ga_id: str | None = None + ga_id: str | None = None edge_port_ae_members: LAGMemberList[EdgePortAEMemberBlockProvisioning] # type: ignore[assignment] @@ -117,6 +117,6 @@ class EdgePortBlock(EdgePortBlockProvisioning, lifecycle=[SubscriptionLifecycle. #: If set to True, the edge port will be ignored if it is down. ignore_if_down: bool = False #: The GEANT GA ID associated with this edge port, if any. - geant_ga_id: str | None = None + ga_id: str | None = None #: A list of LAG members associated with this edge port. edge_port_ae_members: LAGMemberList[EdgePortAEMemberBlock] # type: ignore[assignment] diff --git a/gso/products/product_blocks/iptrunk.py b/gso/products/product_blocks/iptrunk.py index e68911dd1c3b93502ee79d5015e380860b542c72..9ffaa7881826325950d2cd0a08b2ed03bcc9c4a0 100644 --- a/gso/products/product_blocks/iptrunk.py +++ b/gso/products/product_blocks/iptrunk.py @@ -67,7 +67,7 @@ class IptrunkSideBlockInactive( iptrunk_side_node: RouterBlockInactive iptrunk_side_ae_iface: str | None = None - iptrunk_side_ae_geant_a_sid: str | None = None + ga_id: str | None = None iptrunk_side_ae_members: LAGMemberList[IptrunkInterfaceBlockInactive] @@ -76,7 +76,7 @@ class IptrunkSideBlockProvisioning(IptrunkSideBlockInactive, lifecycle=[Subscrip iptrunk_side_node: RouterBlockProvisioning iptrunk_side_ae_iface: str - iptrunk_side_ae_geant_a_sid: str | None = None + ga_id: str | None = None iptrunk_side_ae_members: LAGMemberList[IptrunkInterfaceBlockProvisioning] # type: ignore[assignment] @@ -85,7 +85,7 @@ class IptrunkSideBlock(IptrunkSideBlockProvisioning, lifecycle=[SubscriptionLife iptrunk_side_node: RouterBlock iptrunk_side_ae_iface: str - iptrunk_side_ae_geant_a_sid: str | None = None + ga_id: str | None = None iptrunk_side_ae_members: LAGMemberList[IptrunkInterfaceBlock] # type: ignore[assignment] @@ -96,7 +96,7 @@ class IptrunkBlockInactive( ): """A trunk that's currently inactive, see ``IptrunkBlock``.""" - geant_s_sid: str | None = None + gs_id: str | None = None iptrunk_description: str | None = None iptrunk_type: IptrunkType | None = None iptrunk_speed: PhysicalPortCapacity | None = None @@ -110,7 +110,7 @@ class IptrunkBlockInactive( class IptrunkBlockProvisioning(IptrunkBlockInactive, lifecycle=[SubscriptionLifecycle.PROVISIONING]): """A trunk that's currently being provisioned, see ``IptrunkBlock``.""" - geant_s_sid: str | None = None + gs_id: str | None = None iptrunk_description: str | None = None iptrunk_type: IptrunkType | None = None iptrunk_speed: PhysicalPortCapacity | None = None @@ -125,7 +125,7 @@ class IptrunkBlock(IptrunkBlockProvisioning, lifecycle=[SubscriptionLifecycle.AC """A trunk that's currently deployed in the network.""" #: GÉANT service ID associated with this trunk. - geant_s_sid: str | None = None + gs_id: str | None = None #: A human-readable description of this trunk. iptrunk_description: str | None = None #: The type of trunk, can be either dark fibre or leased capacity. diff --git a/gso/products/product_blocks/service_binding_port.py b/gso/products/product_blocks/service_binding_port.py index 6fd7467c95808ee42438f2af74a1e0ba05a1609e..5f10b33c54c7ffa373fd555effef6014f5e59a4a 100644 --- a/gso/products/product_blocks/service_binding_port.py +++ b/gso/products/product_blocks/service_binding_port.py @@ -64,7 +64,7 @@ class ServiceBindingPortInactive( ipv6_address: IPv6AddressType | None = None ipv6_mask: IPV6Netmask | None = None custom_firewall_filters: bool | None = None - geant_sid: str | None = None + gs_id: str | None = None bgp_session_list: list[BGPSessionInactive] = Field(default_factory=list) edge_port: EdgePortBlockInactive | None = None v4_bfd_settings: BFDSettingsInactive @@ -82,7 +82,7 @@ class ServiceBindingPortProvisioning(ServiceBindingPortInactive, lifecycle=[Subs ipv6_address: IPv6AddressType | None = None ipv6_mask: IPV6Netmask | None = None custom_firewall_filters: bool - geant_sid: str + gs_id: str bgp_session_list: list[BGPSessionProvisioning] # type: ignore[assignment] edge_port: EdgePortBlockProvisioning v4_bfd_settings: BFDSettingsProvisioning @@ -109,7 +109,7 @@ class ServiceBindingPort(ServiceBindingPortProvisioning, lifecycle=[Subscription #: Any custom firewall filters that the partner may require. custom_firewall_filters: bool #: The GÉANT service ID of this binding port. - geant_sid: str + gs_id: str #: The BGP sessions associated with this service binding port. bgp_session_list: list[BGPSession] # type: ignore[assignment] #: The Edge Port on which this SBP resides.