From 254ddc1401a34fdda5b16cb6d7686c6334129776 Mon Sep 17 00:00:00 2001 From: root <root@simone03.dev.gap.geant.org> Date: Fri, 31 Mar 2023 13:54:40 +0000 Subject: [PATCH] Initial cleanup: remove all trunk leftovers --- ...a061b2ad_add_products_for_trunk_service.py | 302 ------------------ ...add_delete_workflows_and_update_create_.py | 81 ----- ...03-13_aa49bed10737_add_create_workflows.py | 57 ---- ...2023-03-15_6005995d6eec_update_products.py | 239 -------------- .../products/product_blocks/__init__.py | 0 .../products/product_blocks/trunk.py | 29 -- .../products/product_blocks/trunk_config.py | 29 -- .../product_blocks/trunk_config_common.py | 42 --- .../product_blocks/trunk_config_side.py | 48 --- .../products/product_types/__init__.py | 0 .../products/product_types/trunk.py | 23 -- .../products/product_types/trunk_config.py | 24 -- .../product_types/trunk_config_common.py | 25 -- .../product_types/trunk_config_side.py | 25 -- .../workflows/__init__.py | 26 -- .../workflows/trunk/__init__.py | 0 .../workflows/trunk/create_trunk.py | 84 ----- .../workflows/trunk/terminate_trunk.py | 49 --- .../workflows/trunk_config/__init__.py | 0 .../trunk_config/create_trunk_config.py | 113 ------- .../trunk_config/terminate_trunk_config.py | 50 --- .../workflows/trunk_config_common/__init__.py | 0 .../create_trunk_config_common.py | 127 -------- .../terminate_trunk_config_common.py | 52 --- .../workflows/trunk_config_side/__init__.py | 0 .../create_trunk_config_side.py | 150 --------- .../terminate_trunk_config_side.py | 51 --- 27 files changed, 1626 deletions(-) delete mode 100644 geant_service_orchestrator/migrations/versions/schema/2023-03-08_431ca061b2ad_add_products_for_trunk_service.py delete mode 100644 geant_service_orchestrator/migrations/versions/schema/2023-03-13_8329fa45157b_add_delete_workflows_and_update_create_.py delete mode 100644 geant_service_orchestrator/migrations/versions/schema/2023-03-13_aa49bed10737_add_create_workflows.py delete mode 100644 geant_service_orchestrator/migrations/versions/schema/2023-03-15_6005995d6eec_update_products.py delete mode 100644 geant_service_orchestrator/products/product_blocks/__init__.py delete mode 100644 geant_service_orchestrator/products/product_blocks/trunk.py delete mode 100644 geant_service_orchestrator/products/product_blocks/trunk_config.py delete mode 100644 geant_service_orchestrator/products/product_blocks/trunk_config_common.py delete mode 100644 geant_service_orchestrator/products/product_blocks/trunk_config_side.py delete mode 100644 geant_service_orchestrator/products/product_types/__init__.py delete mode 100644 geant_service_orchestrator/products/product_types/trunk.py delete mode 100644 geant_service_orchestrator/products/product_types/trunk_config.py delete mode 100644 geant_service_orchestrator/products/product_types/trunk_config_common.py delete mode 100644 geant_service_orchestrator/products/product_types/trunk_config_side.py delete mode 100644 geant_service_orchestrator/workflows/__init__.py delete mode 100644 geant_service_orchestrator/workflows/trunk/__init__.py delete mode 100644 geant_service_orchestrator/workflows/trunk/create_trunk.py delete mode 100644 geant_service_orchestrator/workflows/trunk/terminate_trunk.py delete mode 100644 geant_service_orchestrator/workflows/trunk_config/__init__.py delete mode 100644 geant_service_orchestrator/workflows/trunk_config/create_trunk_config.py delete mode 100644 geant_service_orchestrator/workflows/trunk_config/terminate_trunk_config.py delete mode 100644 geant_service_orchestrator/workflows/trunk_config_common/__init__.py delete mode 100644 geant_service_orchestrator/workflows/trunk_config_common/create_trunk_config_common.py delete mode 100644 geant_service_orchestrator/workflows/trunk_config_common/terminate_trunk_config_common.py delete mode 100644 geant_service_orchestrator/workflows/trunk_config_side/__init__.py delete mode 100644 geant_service_orchestrator/workflows/trunk_config_side/create_trunk_config_side.py delete mode 100644 geant_service_orchestrator/workflows/trunk_config_side/terminate_trunk_config_side.py diff --git a/geant_service_orchestrator/migrations/versions/schema/2023-03-08_431ca061b2ad_add_products_for_trunk_service.py b/geant_service_orchestrator/migrations/versions/schema/2023-03-08_431ca061b2ad_add_products_for_trunk_service.py deleted file mode 100644 index 1e8465f8..00000000 --- a/geant_service_orchestrator/migrations/versions/schema/2023-03-08_431ca061b2ad_add_products_for_trunk_service.py +++ /dev/null @@ -1,302 +0,0 @@ -"""Add products for trunk service. - -Revision ID: 431ca061b2ad -Revises: -Create Date: 2023-03-08 19:21:13.139851 - -""" -import sqlalchemy as sa -from alembic import op - -# revision identifiers, used by Alembic. -revision = '431ca061b2ad' -down_revision = None -branch_labels = ('data',) -depends_on = 'bed6bc0b197a' - - -def upgrade() -> None: - conn = op.get_bind() - conn.execute(""" -INSERT INTO products (name, description, product_type, tag, status) VALUES ('Trunk', 'A representation of a core link (IP-TRUNK) between two Geant Routers', 'Trunk', 'TRUNK', 'active') RETURNING products.product_id - """) - conn.execute(""" -INSERT INTO products (name, description, product_type, tag, status) VALUES ('Trunk Config', 'The configuration attributes for the trunk', 'TrunkConfig', 'TRUNK_C', 'active') RETURNING products.product_id - """) - conn.execute(""" -INSERT INTO products (name, description, product_type, tag, status) VALUES ('Trunk Config Common', 'The configuration attributes common between A side and B side', 'TrunkConfigCommon', 'TRUNK_CC', 'active') RETURNING products.product_id - """) - conn.execute(""" -INSERT INTO products (name, description, product_type, tag, status) VALUES ('Trunk Config Side', 'The configuration attributes necessary for a side', 'TrunkConfigSide', 'TRUNK_CS', 'active') RETURNING products.product_id - """) - conn.execute(""" -INSERT INTO product_blocks (name, description, tag, status) VALUES ('Trunk Block', 'trunk block', 'TRUNK_B', 'active') RETURNING product_blocks.product_block_id - """) - conn.execute(""" -INSERT INTO product_blocks (name, description, tag, status) VALUES ('Trunk Config Block', 'trunk config block', 'TRUNK_CB', 'active') RETURNING product_blocks.product_block_id - """) - conn.execute(""" -INSERT INTO product_blocks (name, description, tag, status) VALUES ('Trunk Config Common Block', 'trunk config common block', 'TRUNK_CCB', 'active') RETURNING product_blocks.product_block_id - """) - conn.execute(""" -INSERT INTO product_blocks (name, description, tag, status) VALUES ('Trunk Config Side Block', 'trunk config side block', 'TRUNK_CSB', 'active') RETURNING product_blocks.product_block_id - """) - conn.execute(""" -INSERT INTO resource_types (resource_type, description) VALUES ('members', 'The list of members of the AE') RETURNING resource_types.resource_type_id - """) - conn.execute(""" -INSERT INTO resource_types (resource_type, description) VALUES ('speed', 'The speed of the members') RETURNING resource_types.resource_type_id - """) - conn.execute(""" -INSERT INTO resource_types (resource_type, description) VALUES ('trunk_id', 'The identifier of the trunk') RETURNING resource_types.resource_type_id - """) - conn.execute(""" -INSERT INTO resource_types (resource_type, description) VALUES ('geant_a_sid', 'The Geant Access Port service ID') RETURNING resource_types.resource_type_id - """) - conn.execute(""" -INSERT INTO resource_types (resource_type, description) VALUES ('fqdn', 'The FQDN of the router') RETURNING resource_types.resource_type_id - """) - conn.execute(""" -INSERT INTO resource_types (resource_type, description) VALUES ('ae_name', 'The name of the Aggregated Ethernet') RETURNING resource_types.resource_type_id - """) - conn.execute(""" -INSERT INTO resource_types (resource_type, description) VALUES ('ipv6_address', 'The IPv6 address of the interface') RETURNING resource_types.resource_type_id - """) - conn.execute(""" -INSERT INTO resource_types (resource_type, description) VALUES ('trunk_config_common_id', 'ID of the object that contains the configuration attributes common between A side and B side') RETURNING resource_types.resource_type_id - """) - conn.execute(""" -INSERT INTO resource_types (resource_type, description) VALUES ('isis_metric', 'The ISIS metric of the link') RETURNING resource_types.resource_type_id - """) - conn.execute(""" -INSERT INTO resource_types (resource_type, description) VALUES ('is_leased_line', 'A switch to identify if the link is on leased capacity') RETURNING resource_types.resource_type_id - """) - conn.execute(""" -INSERT INTO resource_types (resource_type, description) VALUES ('minimum_links', 'The minimum links number for the LAG') RETURNING resource_types.resource_type_id - """) - conn.execute(""" -INSERT INTO resource_types (resource_type, description) VALUES ('geant_s_sid', 'The Geant Service Identifier for the trunk') RETURNING resource_types.resource_type_id - """) - conn.execute(""" -INSERT INTO resource_types (resource_type, description) VALUES ('trunk_config_side_id', 'ID of the object that contains the configuration attributes necessary for a side') RETURNING resource_types.resource_type_id - """) - conn.execute(""" -INSERT INTO resource_types (resource_type, description) VALUES ('ipv4_address', 'The IPv4 address of the interface') RETURNING resource_types.resource_type_id - """) - conn.execute(""" -INSERT INTO resource_types (resource_type, description) VALUES ('trunk_name', 'The name of the trunk') RETURNING resource_types.resource_type_id - """) - conn.execute(""" -INSERT INTO resource_types (resource_type, description) VALUES ('trunk_config_id', 'ID of the object that contains the configuration attributes for the trunk') RETURNING resource_types.resource_type_id - """) - conn.execute(""" -INSERT INTO product_product_blocks (product_id, product_block_id) VALUES ((SELECT products.product_id FROM products WHERE products.name IN ('Trunk')), (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Block'))) - """) - conn.execute(""" -INSERT INTO product_product_blocks (product_id, product_block_id) VALUES ((SELECT products.product_id FROM products WHERE products.name IN ('Trunk Config')), (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Block'))) - """) - conn.execute(""" -INSERT INTO product_product_blocks (product_id, product_block_id) VALUES ((SELECT products.product_id FROM products WHERE products.name IN ('Trunk Config Common')), (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block'))) - """) - conn.execute(""" -INSERT INTO product_product_blocks (product_id, product_block_id) VALUES ((SELECT products.product_id FROM products WHERE products.name IN ('Trunk Config Side')), (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block'))) - """) - conn.execute(""" -INSERT INTO product_block_relations (in_use_by_id, depends_on_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Block')), (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Block'))) - """) - conn.execute(""" -INSERT INTO product_block_relations (in_use_by_id, depends_on_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block')), (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Block'))), ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block')), (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Block'))) - """) - conn.execute(""" -INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Block')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_id'))) - """) - conn.execute(""" -INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Block')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('geant_s_sid'))) - """) - conn.execute(""" -INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Block')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_name'))) - """) - conn.execute(""" -INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Block')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_config_id'))) - """) - conn.execute(""" -INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_config_common_id'))) - """) - conn.execute(""" -INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('speed'))) - """) - conn.execute(""" -INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('is_leased_line'))) - """) - conn.execute(""" -INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('isis_metric'))) - """) - conn.execute(""" -INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('minimum_links'))) - """) - conn.execute(""" -INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_config_side_id'))) - """) - conn.execute(""" -INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('fqdn'))) - """) - conn.execute(""" -INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('ae_name'))) - """) - conn.execute(""" -INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('geant_a_sid'))) - """) - conn.execute(""" -INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('ipv4_address'))) - """) - conn.execute(""" -INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('ipv6_address'))) - """) - conn.execute(""" -INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('members'))) - """) - - -def downgrade() -> None: - conn = op.get_bind() - conn.execute(""" -DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Block')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_id')) - """) - conn.execute(""" -DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Block'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_id')) - """) - conn.execute(""" -DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Block')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('geant_s_sid')) - """) - conn.execute(""" -DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Block'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('geant_s_sid')) - """) - conn.execute(""" -DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Block')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_name')) - """) - conn.execute(""" -DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Block'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_name')) - """) - conn.execute(""" -DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Block')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_config_id')) - """) - conn.execute(""" -DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Block'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_config_id')) - """) - conn.execute(""" -DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_config_common_id')) - """) - conn.execute(""" -DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_config_common_id')) - """) - conn.execute(""" -DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('speed')) - """) - conn.execute(""" -DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('speed')) - """) - conn.execute(""" -DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('is_leased_line')) - """) - conn.execute(""" -DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('is_leased_line')) - """) - conn.execute(""" -DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('isis_metric')) - """) - conn.execute(""" -DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('isis_metric')) - """) - conn.execute(""" -DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('minimum_links')) - """) - conn.execute(""" -DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('minimum_links')) - """) - conn.execute(""" -DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_config_side_id')) - """) - conn.execute(""" -DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_config_side_id')) - """) - conn.execute(""" -DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('fqdn')) - """) - conn.execute(""" -DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('fqdn')) - """) - conn.execute(""" -DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('ae_name')) - """) - conn.execute(""" -DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('ae_name')) - """) - conn.execute(""" -DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('geant_a_sid')) - """) - conn.execute(""" -DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('geant_a_sid')) - """) - conn.execute(""" -DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('ipv4_address')) - """) - conn.execute(""" -DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('ipv4_address')) - """) - conn.execute(""" -DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('ipv6_address')) - """) - conn.execute(""" -DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('ipv6_address')) - """) - conn.execute(""" -DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('members')) - """) - conn.execute(""" -DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('members')) - """) - conn.execute(""" -DELETE FROM subscription_instance_values WHERE subscription_instance_values.resource_type_id IN (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('members', 'speed', 'trunk_id', 'geant_a_sid', 'fqdn', 'ae_name', 'ipv6_address', 'trunk_config_common_id', 'isis_metric', 'is_leased_line', 'minimum_links', 'geant_s_sid', 'trunk_config_side_id', 'ipv4_address', 'trunk_name', 'trunk_config_id')) - """) - conn.execute(""" -DELETE FROM resource_types WHERE resource_types.resource_type IN ('members', 'speed', 'trunk_id', 'geant_a_sid', 'fqdn', 'ae_name', 'ipv6_address', 'trunk_config_common_id', 'isis_metric', 'is_leased_line', 'minimum_links', 'geant_s_sid', 'trunk_config_side_id', 'ipv4_address', 'trunk_name', 'trunk_config_id') - """) - conn.execute(""" -DELETE FROM product_product_blocks WHERE product_product_blocks.product_id IN (SELECT products.product_id FROM products WHERE products.name IN ('Trunk')) AND product_product_blocks.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Block')) - """) - conn.execute(""" -DELETE FROM product_product_blocks WHERE product_product_blocks.product_id IN (SELECT products.product_id FROM products WHERE products.name IN ('Trunk Config')) AND product_product_blocks.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Block')) - """) - conn.execute(""" -DELETE FROM product_product_blocks WHERE product_product_blocks.product_id IN (SELECT products.product_id FROM products WHERE products.name IN ('Trunk Config Common')) AND product_product_blocks.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block')) - """) - conn.execute(""" -DELETE FROM product_product_blocks WHERE product_product_blocks.product_id IN (SELECT products.product_id FROM products WHERE products.name IN ('Trunk Config Side')) AND product_product_blocks.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block')) - """) - conn.execute(""" -DELETE FROM product_block_relations WHERE product_block_relations.in_use_by_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Block')) AND product_block_relations.depends_on_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Block')) - """) - conn.execute(""" -DELETE FROM product_block_relations WHERE product_block_relations.in_use_by_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block', 'Trunk Config Common Block')) AND product_block_relations.depends_on_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Block')) - """) - conn.execute(""" -DELETE FROM subscription_instances WHERE subscription_instances.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Block', 'Trunk Block', 'Trunk Config Side Block', 'Trunk Config Common Block')) - """) - conn.execute(""" -DELETE FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Block', 'Trunk Block', 'Trunk Config Side Block', 'Trunk Config Common Block') - """) - conn.execute(""" -DELETE FROM processes WHERE processes.pid IN (SELECT processes_subscriptions.pid FROM processes_subscriptions WHERE processes_subscriptions.subscription_id IN (SELECT subscriptions.subscription_id FROM subscriptions WHERE subscriptions.product_id IN (SELECT products.product_id FROM products WHERE products.name IN ('Trunk Config Common', 'Trunk', 'Trunk Config Side', 'Trunk Config')))) - """) - conn.execute(""" -DELETE FROM processes_subscriptions WHERE processes_subscriptions.subscription_id IN (SELECT subscriptions.subscription_id FROM subscriptions WHERE subscriptions.product_id IN (SELECT products.product_id FROM products WHERE products.name IN ('Trunk Config Common', 'Trunk', 'Trunk Config Side', 'Trunk Config'))) - """) - conn.execute(""" -DELETE FROM subscription_instances WHERE subscription_instances.subscription_id IN (SELECT subscriptions.subscription_id FROM subscriptions WHERE subscriptions.product_id IN (SELECT products.product_id FROM products WHERE products.name IN ('Trunk Config Common', 'Trunk', 'Trunk Config Side', 'Trunk Config'))) - """) - conn.execute(""" -DELETE FROM subscriptions WHERE subscriptions.product_id IN (SELECT products.product_id FROM products WHERE products.name IN ('Trunk Config Common', 'Trunk', 'Trunk Config Side', 'Trunk Config')) - """) - conn.execute(""" -DELETE FROM products WHERE products.name IN ('Trunk Config Common', 'Trunk', 'Trunk Config Side', 'Trunk Config') - """) diff --git a/geant_service_orchestrator/migrations/versions/schema/2023-03-13_8329fa45157b_add_delete_workflows_and_update_create_.py b/geant_service_orchestrator/migrations/versions/schema/2023-03-13_8329fa45157b_add_delete_workflows_and_update_create_.py deleted file mode 100644 index 88081814..00000000 --- a/geant_service_orchestrator/migrations/versions/schema/2023-03-13_8329fa45157b_add_delete_workflows_and_update_create_.py +++ /dev/null @@ -1,81 +0,0 @@ -"""add DELETE workflows and update CREATE workflows. - -Revision ID: 8329fa45157b -Revises: aa49bed10737 -Create Date: 2023-03-13 12:12:20.553551 - -""" -import sqlalchemy as sa -from alembic import op - -# revision identifiers, used by Alembic. -revision = '8329fa45157b' -down_revision = 'aa49bed10737' -branch_labels = None -depends_on = None - - -from orchestrator.migrations.helpers import create_workflow, delete_workflow - -new_workflows = [ - { - "name": "create_trunk", - "target": "CREATE", - "description": "Create trunk", - "product_type": "Trunk" - }, - { - "name": "terminate_trunk", - "target": "TERMINATE", - "description": "Terminate trunk", - "product_type": "Trunk" - }, - { - "name": "create_trunk_config", - "target": "CREATE", - "description": "Create trunk config", - "product_type": "TrunkConfig" - }, - { - "name": "terminate_trunk_config", - "target": "TERMINATE", - "description": "Terminate trunk config", - "product_type": "TrunkConfig" - }, - { - "name": "create_trunk_config_common", - "target": "CREATE", - "description": "Create trunk config common", - "product_type": "TrunkConfigCommon" - }, - { - "name": "terminate_trunk_config_common", - "target": "TERMINATE", - "description": "Terminate trunk config common", - "product_type": "TrunkConfigCommon" - }, - { - "name": "create_trunk_config_side", - "target": "CREATE", - "description": "Create trunk config side", - "product_type": "TrunkConfigSide" - }, - { - "name": "terminate_trunk_config_side", - "target": "TERMINATE", - "description": "Terminate trunk config side", - "product_type": "TrunkConfigSide" - } -] - - -def upgrade() -> None: - conn = op.get_bind() - for workflow in new_workflows: - create_workflow(conn, workflow) - - -def downgrade() -> None: - conn = op.get_bind() - for workflow in new_workflows: - delete_workflow(conn, workflow["name"]) diff --git a/geant_service_orchestrator/migrations/versions/schema/2023-03-13_aa49bed10737_add_create_workflows.py b/geant_service_orchestrator/migrations/versions/schema/2023-03-13_aa49bed10737_add_create_workflows.py deleted file mode 100644 index 99f0af74..00000000 --- a/geant_service_orchestrator/migrations/versions/schema/2023-03-13_aa49bed10737_add_create_workflows.py +++ /dev/null @@ -1,57 +0,0 @@ -"""add CREATE workflows. - -Revision ID: aa49bed10737 -Revises: 431ca061b2ad -Create Date: 2023-03-13 11:18:36.787981 - -""" -import sqlalchemy as sa -from alembic import op - -# revision identifiers, used by Alembic. -revision = 'aa49bed10737' -down_revision = '431ca061b2ad' -branch_labels = None -depends_on = None - - -from orchestrator.migrations.helpers import create_workflow, delete_workflow - -new_workflows = [ - { - "name": "create_trunk", - "target": "CREATE", - "description": "Create trunk", - "product_type": "Trunk" - }, - { - "name": "create_trunk_config", - "target": "CREATE", - "description": "Create trunk config", - "product_type": "TrunkConfig" - }, - { - "name": "create_trunk_config_common", - "target": "CREATE", - "description": "Create trunk config common", - "product_type": "TrunkConfigCommon" - }, - { - "name": "create_trunk_config_side", - "target": "CREATE", - "description": "Create trunk config side", - "product_type": "TrunkConfigSide" - } -] - - -def upgrade() -> None: - conn = op.get_bind() - for workflow in new_workflows: - create_workflow(conn, workflow) - - -def downgrade() -> None: - conn = op.get_bind() - for workflow in new_workflows: - delete_workflow(conn, workflow["name"]) diff --git a/geant_service_orchestrator/migrations/versions/schema/2023-03-15_6005995d6eec_update_products.py b/geant_service_orchestrator/migrations/versions/schema/2023-03-15_6005995d6eec_update_products.py deleted file mode 100644 index 2155ed87..00000000 --- a/geant_service_orchestrator/migrations/versions/schema/2023-03-15_6005995d6eec_update_products.py +++ /dev/null @@ -1,239 +0,0 @@ -"""Update products. - -Revision ID: 6005995d6eec -Revises: 8329fa45157b -Create Date: 2023-03-15 08:38:09.080265 - -""" -import sqlalchemy as sa -from alembic import op - -# revision identifiers, used by Alembic. -revision = '6005995d6eec' -down_revision = '8329fa45157b' -branch_labels = None -depends_on = None - - -def upgrade() -> None: - conn = op.get_bind() - conn.execute(""" -DELETE FROM product_product_blocks WHERE product_product_blocks.product_id IN (SELECT products.product_id FROM products WHERE products.name IN ('Trunk')) AND product_product_blocks.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Block')) - """) - conn.execute(""" -DELETE FROM product_product_blocks WHERE product_product_blocks.product_id IN (SELECT products.product_id FROM products WHERE products.name IN ('Trunk Config')) AND product_product_blocks.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Block')) - """) - conn.execute(""" -DELETE FROM product_product_blocks WHERE product_product_blocks.product_id IN (SELECT products.product_id FROM products WHERE products.name IN ('Trunk Config Common')) AND product_product_blocks.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block')) - """) - conn.execute(""" -DELETE FROM product_product_blocks WHERE product_product_blocks.product_id IN (SELECT products.product_id FROM products WHERE products.name IN ('Trunk Config Side')) AND product_product_blocks.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block')) - """) - conn.execute(""" -DELETE FROM subscription_instances WHERE subscription_instances.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block', 'Trunk Block', 'Trunk Config Block', 'Trunk Config Side Block')) - """) - conn.execute(""" -DELETE FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block', 'Trunk Block', 'Trunk Config Block', 'Trunk Config Side Block') - """) - conn.execute(""" -INSERT INTO product_blocks (name, description, tag, status) VALUES ('TrunkBlock', 'trunk block', 'TRUNK_B', 'active') RETURNING product_blocks.product_block_id - """) - conn.execute(""" -INSERT INTO product_blocks (name, description, tag, status) VALUES ('TrunkConfigBlock', 'trunk config block', 'TRUNK_CB', 'active') RETURNING product_blocks.product_block_id - """) - conn.execute(""" -INSERT INTO product_blocks (name, description, tag, status) VALUES ('TrunkConfigCommonBlock', 'trunk config common block', 'TRUNK_CCB', 'active') RETURNING product_blocks.product_block_id - """) - conn.execute(""" -INSERT INTO product_blocks (name, description, tag, status) VALUES ('TrunkConfigSideBlock', 'trunk config side block', 'TRUNK_CSB', 'active') RETURNING product_blocks.product_block_id - """) - conn.execute(""" -INSERT INTO product_product_blocks (product_id, product_block_id) VALUES ((SELECT products.product_id FROM products WHERE products.name IN ('Trunk')), (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkBlock'))) - """) - conn.execute(""" -INSERT INTO product_product_blocks (product_id, product_block_id) VALUES ((SELECT products.product_id FROM products WHERE products.name IN ('Trunk Config')), (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigBlock'))) - """) - conn.execute(""" -INSERT INTO product_product_blocks (product_id, product_block_id) VALUES ((SELECT products.product_id FROM products WHERE products.name IN ('Trunk Config Common')), (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigCommonBlock'))) - """) - conn.execute(""" -INSERT INTO product_product_blocks (product_id, product_block_id) VALUES ((SELECT products.product_id FROM products WHERE products.name IN ('Trunk Config Side')), (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock'))) - """) - conn.execute(""" -INSERT INTO product_block_relations (in_use_by_id, depends_on_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigBlock')), (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkBlock'))) - """) - conn.execute(""" -INSERT INTO product_block_relations (in_use_by_id, depends_on_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock')), (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigBlock'))), ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigCommonBlock')), (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigBlock'))) - """) - conn.execute(""" -INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkBlock')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('geant_s_sid'))) - """) - conn.execute(""" -INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkBlock')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_name'))) - """) - conn.execute(""" -INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkBlock')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_id'))) - """) - conn.execute(""" -INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigBlock')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_config_id'))) - """) - conn.execute(""" -INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigCommonBlock')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('isis_metric'))) - """) - conn.execute(""" -INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigCommonBlock')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('speed'))) - """) - conn.execute(""" -INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigCommonBlock')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('minimum_links'))) - """) - conn.execute(""" -INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigCommonBlock')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_config_common_id'))) - """) - conn.execute(""" -INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigCommonBlock')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('is_leased_line'))) - """) - conn.execute(""" -INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('members'))) - """) - conn.execute(""" -INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('ipv6_address'))) - """) - conn.execute(""" -INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('ae_name'))) - """) - conn.execute(""" -INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('ipv4_address'))) - """) - conn.execute(""" -INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('geant_a_sid'))) - """) - conn.execute(""" -INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_config_side_id'))) - """) - conn.execute(""" -INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('fqdn'))) - """) - - -def downgrade() -> None: - conn = op.get_bind() - conn.execute(""" -DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkBlock')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('geant_s_sid')) - """) - conn.execute(""" -DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkBlock'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('geant_s_sid')) - """) - conn.execute(""" -DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkBlock')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_name')) - """) - conn.execute(""" -DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkBlock'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_name')) - """) - conn.execute(""" -DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkBlock')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_id')) - """) - conn.execute(""" -DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkBlock'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_id')) - """) - conn.execute(""" -DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigBlock')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_config_id')) - """) - conn.execute(""" -DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigBlock'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_config_id')) - """) - conn.execute(""" -DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigCommonBlock')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('isis_metric')) - """) - conn.execute(""" -DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigCommonBlock'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('isis_metric')) - """) - conn.execute(""" -DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigCommonBlock')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('speed')) - """) - conn.execute(""" -DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigCommonBlock'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('speed')) - """) - conn.execute(""" -DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigCommonBlock')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('minimum_links')) - """) - conn.execute(""" -DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigCommonBlock'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('minimum_links')) - """) - conn.execute(""" -DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigCommonBlock')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_config_common_id')) - """) - conn.execute(""" -DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigCommonBlock'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_config_common_id')) - """) - conn.execute(""" -DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigCommonBlock')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('is_leased_line')) - """) - conn.execute(""" -DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigCommonBlock'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('is_leased_line')) - """) - conn.execute(""" -DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('members')) - """) - conn.execute(""" -DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('members')) - """) - conn.execute(""" -DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('ipv6_address')) - """) - conn.execute(""" -DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('ipv6_address')) - """) - conn.execute(""" -DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('ae_name')) - """) - conn.execute(""" -DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('ae_name')) - """) - conn.execute(""" -DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('ipv4_address')) - """) - conn.execute(""" -DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('ipv4_address')) - """) - conn.execute(""" -DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('geant_a_sid')) - """) - conn.execute(""" -DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('geant_a_sid')) - """) - conn.execute(""" -DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_config_side_id')) - """) - conn.execute(""" -DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_config_side_id')) - """) - conn.execute(""" -DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('fqdn')) - """) - conn.execute(""" -DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('fqdn')) - """) - conn.execute(""" -DELETE FROM product_product_blocks WHERE product_product_blocks.product_id IN (SELECT products.product_id FROM products WHERE products.name IN ('Trunk')) AND product_product_blocks.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkBlock')) - """) - conn.execute(""" -DELETE FROM product_product_blocks WHERE product_product_blocks.product_id IN (SELECT products.product_id FROM products WHERE products.name IN ('Trunk Config')) AND product_product_blocks.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigBlock')) - """) - conn.execute(""" -DELETE FROM product_product_blocks WHERE product_product_blocks.product_id IN (SELECT products.product_id FROM products WHERE products.name IN ('Trunk Config Common')) AND product_product_blocks.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigCommonBlock')) - """) - conn.execute(""" -DELETE FROM product_product_blocks WHERE product_product_blocks.product_id IN (SELECT products.product_id FROM products WHERE products.name IN ('Trunk Config Side')) AND product_product_blocks.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock')) - """) - conn.execute(""" -DELETE FROM product_block_relations WHERE product_block_relations.in_use_by_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigBlock')) AND product_block_relations.depends_on_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkBlock')) - """) - conn.execute(""" -DELETE FROM product_block_relations WHERE product_block_relations.in_use_by_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock', 'TrunkConfigCommonBlock')) AND product_block_relations.depends_on_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigBlock')) - """) - conn.execute(""" -DELETE FROM subscription_instances WHERE subscription_instances.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigBlock', 'TrunkConfigCommonBlock', 'TrunkConfigSideBlock', 'TrunkBlock')) - """) - conn.execute(""" -DELETE FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigBlock', 'TrunkConfigCommonBlock', 'TrunkConfigSideBlock', 'TrunkBlock') - """) diff --git a/geant_service_orchestrator/products/product_blocks/__init__.py b/geant_service_orchestrator/products/product_blocks/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/geant_service_orchestrator/products/product_blocks/trunk.py b/geant_service_orchestrator/products/product_blocks/trunk.py deleted file mode 100644 index d9a54bf2..00000000 --- a/geant_service_orchestrator/products/product_blocks/trunk.py +++ /dev/null @@ -1,29 +0,0 @@ -from typing import Optional - -from orchestrator.domain.base import ProductBlockModel -from orchestrator.types import SubscriptionLifecycle - - -class TrunkBlockInactive( - ProductBlockModel, - lifecycle=[SubscriptionLifecycle.INITIAL], - product_block_name="TrunkBlock"): - trunk_id: Optional[int] = None - geant_s_sid: Optional[str] = None - trunk_name: Optional[str] = None - - -class TrunkBlockProvisioning( - TrunkBlockInactive, - lifecycle=[SubscriptionLifecycle.PROVISIONING]): - trunk_id: Optional[int] = None - geant_s_sid: str - trunk_name: str - - -class TrunkBlock( - TrunkBlockProvisioning, - lifecycle=[SubscriptionLifecycle.ACTIVE]): - trunk_id: int - geant_s_sid: str - trunk_name: str diff --git a/geant_service_orchestrator/products/product_blocks/trunk_config.py b/geant_service_orchestrator/products/product_blocks/trunk_config.py deleted file mode 100644 index 2c191cfb..00000000 --- a/geant_service_orchestrator/products/product_blocks/trunk_config.py +++ /dev/null @@ -1,29 +0,0 @@ -from typing import Optional - -from orchestrator.domain.base import ProductBlockModel -from orchestrator.types import SubscriptionLifecycle - -from geant_service_orchestrator.products.product_blocks.trunk \ - import TrunkBlock, TrunkBlockInactive, TrunkBlockProvisioning - - -class TrunkConfigBlockInactive( - ProductBlockModel, - lifecycle=[SubscriptionLifecycle.INITIAL], - product_block_name="TrunkConfigBlock"): - trunk: TrunkBlockInactive - trunk_config_id: Optional[int] = None - - -class TrunkConfigBlockProvisioning( - TrunkConfigBlockInactive, - lifecycle=[SubscriptionLifecycle.PROVISIONING]): - trunk: TrunkBlockProvisioning - trunk_config_id: Optional[int] = None - - -class TrunkConfigBlock( - TrunkConfigBlockProvisioning, - lifecycle=[SubscriptionLifecycle.ACTIVE]): - trunk: TrunkBlock - trunk_config_id: int diff --git a/geant_service_orchestrator/products/product_blocks/trunk_config_common.py b/geant_service_orchestrator/products/product_blocks/trunk_config_common.py deleted file mode 100644 index cbae780e..00000000 --- a/geant_service_orchestrator/products/product_blocks/trunk_config_common.py +++ /dev/null @@ -1,42 +0,0 @@ -from typing import Optional - -from orchestrator.domain.base import ProductBlockModel -from orchestrator.types import SubscriptionLifecycle - -from geant_service_orchestrator.products.product_blocks.trunk_config \ - import TrunkConfigBlock, TrunkConfigBlockInactive, \ - TrunkConfigBlockProvisioning - - -class TrunkConfigCommonBlockInactive( - ProductBlockModel, - lifecycle=[SubscriptionLifecycle.INITIAL], - product_block_name="TrunkConfigCommonBlock"): - trunk_config: TrunkConfigBlockInactive - trunk_config_common_id: Optional[int] = None - speed: Optional[str] = None - is_leased_line: Optional[bool] = None - isis_metric: Optional[int] = None - minimum_links: Optional[int] = None - - -class TrunkConfigCommonBlockProvisioning( - TrunkConfigCommonBlockInactive, - lifecycle=[SubscriptionLifecycle.PROVISIONING]): - trunk_config: TrunkConfigBlockProvisioning - trunk_config_common_id: Optional[int] = None - speed: str - is_leased_line: bool - isis_metric: int - minimum_links: int - - -class TrunkConfigCommonBlock( - TrunkConfigCommonBlockProvisioning, - lifecycle=[SubscriptionLifecycle.ACTIVE]): - trunk_config: TrunkConfigBlock - trunk_config_common_id: int - speed: str - is_leased_line: bool - isis_metric: int - minimum_links: int diff --git a/geant_service_orchestrator/products/product_blocks/trunk_config_side.py b/geant_service_orchestrator/products/product_blocks/trunk_config_side.py deleted file mode 100644 index 7b016d15..00000000 --- a/geant_service_orchestrator/products/product_blocks/trunk_config_side.py +++ /dev/null @@ -1,48 +0,0 @@ -from typing import List, Optional - -from orchestrator.domain.base import ProductBlockModel -from orchestrator.types import SubscriptionLifecycle - -from geant_service_orchestrator.products.product_blocks.trunk_config \ - import TrunkConfigBlock, TrunkConfigBlockInactive,\ - TrunkConfigBlockProvisioning - - -class TrunkConfigSideBlockInactive( - ProductBlockModel, - lifecycle=[SubscriptionLifecycle.INITIAL], - product_block_name="TrunkConfigSideBlock"): - trunk_config: TrunkConfigBlockInactive - trunk_config_side_id: Optional[int] = None - fqdn: Optional[str] = None - ae_name: Optional[str] = None - geant_a_sid: Optional[str] = None - ipv4_address: Optional[str] = None - ipv6_address: Optional[str] = None - members: Optional[List[str]] = None - - -class TrunkConfigSideBlockProvisioning( - TrunkConfigSideBlockInactive, - lifecycle=[SubscriptionLifecycle.PROVISIONING]): - trunk_config: TrunkConfigBlockProvisioning - trunk_config_side_id: Optional[int] = None - fqdn: str - ae_name: str - geant_a_sid: str - ipv4_address: Optional[str] = "127.0.0.1" - ipv6_address: Optional[str] = "::1" - members: List[str] - - -class TrunkConfigSideBlock( - TrunkConfigSideBlockProvisioning, - lifecycle=[SubscriptionLifecycle.ACTIVE]): - trunk_config: TrunkConfigBlock - trunk_config_side_id: int - fqdn: str - ae_name: str - geant_a_sid: str - ipv4_address: str - ipv6_address: str - members: List[str] diff --git a/geant_service_orchestrator/products/product_types/__init__.py b/geant_service_orchestrator/products/product_types/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/geant_service_orchestrator/products/product_types/trunk.py b/geant_service_orchestrator/products/product_types/trunk.py deleted file mode 100644 index de30a398..00000000 --- a/geant_service_orchestrator/products/product_types/trunk.py +++ /dev/null @@ -1,23 +0,0 @@ -from orchestrator.domain.base import SubscriptionModel -from orchestrator.types import SubscriptionLifecycle - -from geant_service_orchestrator.products.product_blocks.trunk \ - import TrunkBlock, TrunkBlockInactive, TrunkBlockProvisioning - - -class TrunkInactive( - SubscriptionModel, is_base=True, - lifecycle=[SubscriptionLifecycle.INITIAL]): - trunk: TrunkBlockInactive - - -class TrunkProvisioning( - TrunkInactive, - lifecycle=[SubscriptionLifecycle.PROVISIONING]): - trunk: TrunkBlockProvisioning - - -class Trunk( - TrunkProvisioning, - lifecycle=[SubscriptionLifecycle.ACTIVE]): - trunk: TrunkBlock diff --git a/geant_service_orchestrator/products/product_types/trunk_config.py b/geant_service_orchestrator/products/product_types/trunk_config.py deleted file mode 100644 index 6e33beba..00000000 --- a/geant_service_orchestrator/products/product_types/trunk_config.py +++ /dev/null @@ -1,24 +0,0 @@ -from orchestrator.domain.base import SubscriptionModel -from orchestrator.types import SubscriptionLifecycle - -from geant_service_orchestrator.products.product_blocks.trunk_config \ - import TrunkConfigBlock, TrunkConfigBlockInactive,\ - TrunkConfigBlockProvisioning - - -class TrunkConfigInactive( - SubscriptionModel, - is_base=True, lifecycle=[SubscriptionLifecycle.INITIAL]): - trunk_config: TrunkConfigBlockInactive - - -class TrunkConfigProvisioning( - TrunkConfigInactive, - lifecycle=[SubscriptionLifecycle.PROVISIONING]): - trunk_config: TrunkConfigBlockProvisioning - - -class TrunkConfig( - TrunkConfigProvisioning, - lifecycle=[SubscriptionLifecycle.ACTIVE]): - trunk_config: TrunkConfigBlock diff --git a/geant_service_orchestrator/products/product_types/trunk_config_common.py b/geant_service_orchestrator/products/product_types/trunk_config_common.py deleted file mode 100644 index 6d1d9480..00000000 --- a/geant_service_orchestrator/products/product_types/trunk_config_common.py +++ /dev/null @@ -1,25 +0,0 @@ -from orchestrator.domain.base import SubscriptionModel -from orchestrator.types import SubscriptionLifecycle - -from geant_service_orchestrator.products.product_blocks.trunk_config_common \ - import TrunkConfigCommonBlock, TrunkConfigCommonBlockInactive, \ - TrunkConfigCommonBlockProvisioning - - -class TrunkConfigCommonInactive( - SubscriptionModel, - is_base=True, - lifecycle=[SubscriptionLifecycle.INITIAL]): - trunk_config_common: TrunkConfigCommonBlockInactive - - -class TrunkConfigCommonProvisioning( - TrunkConfigCommonInactive, - lifecycle=[SubscriptionLifecycle.PROVISIONING]): - trunk_config_common: TrunkConfigCommonBlockProvisioning - - -class TrunkConfigCommon( - TrunkConfigCommonProvisioning, - lifecycle=[SubscriptionLifecycle.ACTIVE]): - trunk_config_common: TrunkConfigCommonBlock diff --git a/geant_service_orchestrator/products/product_types/trunk_config_side.py b/geant_service_orchestrator/products/product_types/trunk_config_side.py deleted file mode 100644 index 943dfc35..00000000 --- a/geant_service_orchestrator/products/product_types/trunk_config_side.py +++ /dev/null @@ -1,25 +0,0 @@ -from orchestrator.domain.base import SubscriptionModel -from orchestrator.types import SubscriptionLifecycle - -from geant_service_orchestrator.products.product_blocks.trunk_config_side \ - import TrunkConfigSideBlock, TrunkConfigSideBlockInactive, \ - TrunkConfigSideBlockProvisioning - - -class TrunkConfigSideInactive( - SubscriptionModel, - is_base=True, - lifecycle=[SubscriptionLifecycle.INITIAL]): - trunk_config_side: TrunkConfigSideBlockInactive - - -class TrunkConfigSideProvisioning( - TrunkConfigSideInactive, - lifecycle=[SubscriptionLifecycle.PROVISIONING]): - trunk_config_side: TrunkConfigSideBlockProvisioning - - -class TrunkConfigSide( - TrunkConfigSideProvisioning, - lifecycle=[SubscriptionLifecycle.ACTIVE]): - trunk_config_side: TrunkConfigSideBlock diff --git a/geant_service_orchestrator/workflows/__init__.py b/geant_service_orchestrator/workflows/__init__.py deleted file mode 100644 index 282c688f..00000000 --- a/geant_service_orchestrator/workflows/__init__.py +++ /dev/null @@ -1,26 +0,0 @@ -from orchestrator.workflows import LazyWorkflowInstance - -LazyWorkflowInstance( - "workflows.trunk.create_trunk", - "create_trunk") -LazyWorkflowInstance( - "workflows.trunk_config.create_trunk_config", - "create_trunk_config") -LazyWorkflowInstance( - "workflows.trunk_config_common.create_trunk_config_common", - "create_trunk_config_common") -LazyWorkflowInstance( - "workflows.trunk_config_side.create_trunk_config_side", - "create_trunk_config_side") -LazyWorkflowInstance( - "workflows.trunk.terminate_trunk", - "terminate_trunk") -LazyWorkflowInstance( - "workflows.trunk_config.terminate_trunk_config", - "terminate_trunk_config") -LazyWorkflowInstance( - "workflows.trunk_config_common.terminate_trunk_config_common", - "terminate_trunk_config_common") -LazyWorkflowInstance( - "workflows.trunk_config_side.terminate_trunk_config_side", - "terminate_trunk_config_side") diff --git a/geant_service_orchestrator/workflows/trunk/__init__.py b/geant_service_orchestrator/workflows/trunk/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/geant_service_orchestrator/workflows/trunk/create_trunk.py b/geant_service_orchestrator/workflows/trunk/create_trunk.py deleted file mode 100644 index 2061e906..00000000 --- a/geant_service_orchestrator/workflows/trunk/create_trunk.py +++ /dev/null @@ -1,84 +0,0 @@ -from uuid import uuid4 - -from orchestrator.forms import FormPage -from orchestrator.targets import Target -from orchestrator.types \ - import FormGenerator, State, SubscriptionLifecycle, UUIDstr -from orchestrator.workflow import done, init, step, workflow -from orchestrator.workflows.steps \ - import resync, set_status, store_process_subscription -from orchestrator.workflows.utils import wrap_create_initial_input_form - -from geant_service_orchestrator.products.product_types.trunk \ - import TrunkInactive, TrunkProvisioning - - -def initial_input_form_generator(product_name: str) -> FormGenerator: - class CreateTrunkForm(FormPage): - class Config: - title = product_name - - trunk_name: str - geant_s_sid: str - - user_input = yield CreateTrunkForm - - return user_input.dict() - - -def _provision_in_gap(trunk_name: str) -> int: - - return abs(hash(trunk_name)) - - -@step("Create subscription") -def create_subscription(product: UUIDstr) -> State: - subscription = TrunkInactive.from_product_id(product, uuid4()) - - return { - "subscription": subscription, - "subscription_id": subscription.subscription_id - } - - -@step("Initialize subscription") -def initialize_subscription( - subscription: TrunkInactive, - trunk_name: str, - geant_s_sid: str) -> State: - subscription.trunk.trunk_name = trunk_name - subscription.trunk.geant_s_sid = geant_s_sid - subscription.description = f"Trunk {trunk_name}" - subscription = TrunkProvisioning.from_other_lifecycle( - subscription, SubscriptionLifecycle.PROVISIONING) - - return {"subscription": subscription} - - -@step("Provision trunk") -def provision_trunk( - subscription: TrunkProvisioning, - trunk_name: str) -> State: - trunk_id = _provision_in_gap(trunk_name) - subscription.trunk.trunk_id = trunk_id - - return {"subscription": subscription} - - -@workflow( - "Create trunk", - initial_input_form=wrap_create_initial_input_form(initial_input_form_generator), # noqa: E501 - target=Target.CREATE, -) -def create_trunk(): - - return ( - init - >> create_subscription - >> store_process_subscription(Target.CREATE) - >> initialize_subscription - >> provision_trunk - >> set_status(SubscriptionLifecycle.ACTIVE) - >> resync - >> done - ) diff --git a/geant_service_orchestrator/workflows/trunk/terminate_trunk.py b/geant_service_orchestrator/workflows/trunk/terminate_trunk.py deleted file mode 100644 index 28277aa4..00000000 --- a/geant_service_orchestrator/workflows/trunk/terminate_trunk.py +++ /dev/null @@ -1,49 +0,0 @@ -from orchestrator.forms import FormPage -from orchestrator.forms.validators import Label -from orchestrator.targets import Target -from orchestrator.types import InputForm, SubscriptionLifecycle, UUIDstr -from orchestrator.workflow import done, init, step, workflow -from orchestrator.workflows.steps \ - import resync, set_status, store_process_subscription, unsync -from orchestrator.workflows.utils import wrap_modify_initial_input_form - -from geant_service_orchestrator.products import Trunk - - -def initial_input_form_generator( - subscription_id: UUIDstr, - organisation: UUIDstr) -> InputForm: - subscription = Trunk.from_subscription(subscription_id) - - class TerminateForm(FormPage): - are_you_sure: Label = 'Are you sure you want to remove ' \ - f'{subscription.description}?' # type:ignore - - return TerminateForm - - -def _deprovision_in_gap(trunk_id: int) -> int: - pass - - -@step("Deprovision trunk") -def deprovision_trunk(subscription: Trunk) -> None: - _deprovision_in_gap(subscription.trunk.trunk_id) - - -@workflow( - "Terminate trunk", - initial_input_form=wrap_modify_initial_input_form(initial_input_form_generator), # noqa: E501 - target=Target.TERMINATE, -) -def terminate_trunk(): - - return ( - init - >> store_process_subscription(Target.TERMINATE) - >> unsync - >> deprovision_trunk - >> set_status(SubscriptionLifecycle.TERMINATED) - >> resync - >> done - ) diff --git a/geant_service_orchestrator/workflows/trunk_config/__init__.py b/geant_service_orchestrator/workflows/trunk_config/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/geant_service_orchestrator/workflows/trunk_config/create_trunk_config.py b/geant_service_orchestrator/workflows/trunk_config/create_trunk_config.py deleted file mode 100644 index b1f39f95..00000000 --- a/geant_service_orchestrator/workflows/trunk_config/create_trunk_config.py +++ /dev/null @@ -1,113 +0,0 @@ -from random import randint -from typing import List -from uuid import uuid4 - -from orchestrator.db.models import ProductTable, SubscriptionTable -from orchestrator.forms import FormPage -from orchestrator.forms.validators import Choice, choice_list -from orchestrator.targets import Target -from orchestrator.types \ - import FormGenerator, State, SubscriptionLifecycle, UUIDstr -from orchestrator.workflow import done, init, step, workflow -from orchestrator.workflows.steps \ - import resync, set_status, store_process_subscription -from orchestrator.workflows.utils import wrap_create_initial_input_form - -from geant_service_orchestrator.products.product_types.trunk_config \ - import TrunkConfigInactive, TrunkConfigProvisioning -from geant_service_orchestrator.products.product_types.trunk \ - import Trunk - - -def trunk_selector() -> list: - trunk_subscriptions = {} - for trunk_id, trunk_description in ( - SubscriptionTable.query.join(ProductTable) - .filter( - ProductTable.product_type == "Trunk", - SubscriptionTable.status == "active", - ) - .with_entities( - SubscriptionTable.subscription_id, - SubscriptionTable.description) - .all() - ): - trunk_subscriptions[str(trunk_id)] = trunk_description - - return choice_list( - Choice("TrunkEnum", zip( - trunk_subscriptions.keys(), - trunk_subscriptions.items())), # type:ignore - min_items=1, - max_items=1, - ) - - -def initial_input_form_generator(product_name: str) -> FormGenerator: - class CreateTrunkConfigForm(FormPage): - class Config: - title = product_name - - trunk_ids: trunk_selector() # type:ignore - - user_input = yield CreateTrunkConfigForm - - return user_input.dict() - - -def _provision_in_gap() -> int: - - return randint(0, 2147483648) - - -@step("Create subscription") -def create_subscription(product: UUIDstr) -> State: - subscription = TrunkConfigInactive.from_product_id(product, uuid4()) - - return { - "subscription": subscription, - "subscription_id": subscription.subscription_id - } - - -@step("Initialize subscription") -def initialize_subscription( - subscription: TrunkConfigInactive, - trunk_ids: List[str]) -> State: - subscription.trunk_config.trunk \ - = Trunk.from_subscription(trunk_ids[0]).trunk - subscription.description =\ - "TrunkConfig from Trunk " \ - f"{subscription.trunk_config.trunk.trunk_name}" - subscription = TrunkConfigProvisioning.from_other_lifecycle( - subscription, SubscriptionLifecycle.PROVISIONING) - - return {"subscription": subscription} - - -@step("Provision trunk config") -def provision_trunk_config( - subscription: TrunkConfigProvisioning) -> State: - trunk_config_id = _provision_in_gap() - subscription.trunk_config.trunk_config_id = trunk_config_id - - return {"subscription": subscription} - - -@workflow( - "Create trunk config", - initial_input_form=wrap_create_initial_input_form(initial_input_form_generator), # noqa: E501 - target=Target.CREATE, -) -def create_trunk_config(): - - return ( - init - >> create_subscription - >> store_process_subscription(Target.CREATE) - >> initialize_subscription - >> provision_trunk_config - >> set_status(SubscriptionLifecycle.ACTIVE) - >> resync - >> done - ) diff --git a/geant_service_orchestrator/workflows/trunk_config/terminate_trunk_config.py b/geant_service_orchestrator/workflows/trunk_config/terminate_trunk_config.py deleted file mode 100644 index 9671b563..00000000 --- a/geant_service_orchestrator/workflows/trunk_config/terminate_trunk_config.py +++ /dev/null @@ -1,50 +0,0 @@ -from orchestrator.forms import FormPage -from orchestrator.forms.validators import Label -from orchestrator.targets import Target -from orchestrator.types import InputForm, SubscriptionLifecycle, UUIDstr -from orchestrator.workflow import done, init, step, workflow -from orchestrator.workflows.steps \ - import resync, set_status, store_process_subscription, unsync -from orchestrator.workflows.utils import wrap_modify_initial_input_form - -from products import TrunkConfig - - -def initial_input_form_generator( - subscription_id: UUIDstr, - organisation: UUIDstr) -> InputForm: - subscription = TrunkConfig.from_subscription(subscription_id) - - class TerminateForm(FormPage): - are_you_sure: Label = \ - "Are you sure you want to remove " \ - f"{subscription.description}?" # type:ignore - - return TerminateForm - - -def _deprovision_in_gap(trunk_config_id: int) -> int: - pass - - -@step("Deprovision trunk config") -def deprovision_trunk_config(subscription: TrunkConfig) -> None: - _deprovision_in_gap(subscription.trunk_config.trunk_config_id) - - -@workflow( - "Terminate trunk config", - initial_input_form=wrap_modify_initial_input_form(initial_input_form_generator), # noqa: E501 - target=Target.TERMINATE, -) -def terminate_trunk_config(): - - return ( - init - >> store_process_subscription(Target.TERMINATE) - >> unsync - >> deprovision_trunk_config - >> set_status(SubscriptionLifecycle.TERMINATED) - >> resync - >> done - ) diff --git a/geant_service_orchestrator/workflows/trunk_config_common/__init__.py b/geant_service_orchestrator/workflows/trunk_config_common/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/geant_service_orchestrator/workflows/trunk_config_common/create_trunk_config_common.py b/geant_service_orchestrator/workflows/trunk_config_common/create_trunk_config_common.py deleted file mode 100644 index 521b4aef..00000000 --- a/geant_service_orchestrator/workflows/trunk_config_common/create_trunk_config_common.py +++ /dev/null @@ -1,127 +0,0 @@ -from random import randint -from typing import List -from uuid import uuid4 - -from orchestrator.db.models import ProductTable, SubscriptionTable -from orchestrator.forms import FormPage -from orchestrator.forms.validators import Choice, choice_list -from orchestrator.targets import Target -from orchestrator.types \ - import FormGenerator, State, SubscriptionLifecycle, UUIDstr -from orchestrator.workflow import done, init, step, workflow -from orchestrator.workflows.steps \ - import resync, set_status, store_process_subscription -from orchestrator.workflows.utils import wrap_create_initial_input_form - -from geant_service_orchestrator.products.product_types.trunk_config_common \ - import TrunkConfigCommonInactive, TrunkConfigCommonProvisioning -from geant_service_orchestrator.products.product_types.trunk_config \ - import TrunkConfig - - -def trunk_config_selector() -> list: - trunk_config_subscriptions = {} - for trunk_config_id, trunk_config_description in ( - SubscriptionTable.query.join(ProductTable) - .filter( - ProductTable.product_type == "TrunkConfig", - SubscriptionTable.status == "active", - ) - .with_entities( - SubscriptionTable.subscription_id, - SubscriptionTable.description) - .all() - ): - trunk_config_subscriptions[ - str(trunk_config_id)] = trunk_config_description - - return choice_list( - Choice("TrunkConfigEnum", zip( - trunk_config_subscriptions.keys(), - trunk_config_subscriptions.items())), # type:ignore - min_items=1, - max_items=1, - ) - - -def initial_input_form_generator(product_name: str) -> FormGenerator: - class CreateTrunkConfigCommonForm(FormPage): - class Config: - title = product_name - speed: str - is_leased_line: bool - isis_metric: int - minimum_links: int - trunk_config_ids: trunk_config_selector() # type:ignore - - user_input = yield CreateTrunkConfigCommonForm - return user_input.dict() - - -def _provision_in_gap() -> int: - - return randint(0, 2147483648) - - -@step("Create subscription") -def create_subscription(product: UUIDstr) -> State: - subscription \ - = TrunkConfigCommonInactive.from_product_id(product, uuid4()) - - return { - "subscription": subscription, - "subscription_id": subscription.subscription_id - } - - -@step("Initialize subscription") -def initialize_subscription( - subscription: TrunkConfigCommonInactive, - speed: str, - is_leased_line: bool, - isis_metric: int, - minimum_links: int, - trunk_config_ids: List[str]) -> State: - subscription.trunk_config_common.speed = speed - subscription.trunk_config_common.is_leased_line = is_leased_line - subscription.trunk_config_common.isis_metric = isis_metric - subscription.trunk_config_common.minimum_links = minimum_links - subscription.trunk_config_common.trunk_config \ - = TrunkConfig.from_subscription( - trunk_config_ids[0]).trunk_config - subscription.description = \ - "TrunkConfigCommon from TrunkConfig " \ - f"{subscription.trunk_config_common.trunk_config.trunk_config_id}" - subscription = TrunkConfigCommonProvisioning.from_other_lifecycle( - subscription, SubscriptionLifecycle.PROVISIONING) - - return {"subscription": subscription} - - -@step("Provision trunk config common") -def provision_trunk_config_common( - subscription: TrunkConfigCommonProvisioning) -> State: - trunk_config_common_id = _provision_in_gap() - subscription.trunk_config_common.trunk_config_common_id \ - = trunk_config_common_id - - return {"subscription": subscription} - - -@workflow( - "Create trunk config common", - initial_input_form=wrap_create_initial_input_form(initial_input_form_generator), # noqa: E501 - target=Target.CREATE, -) -def create_trunk_config_common(): - - return ( - init - >> create_subscription - >> store_process_subscription(Target.CREATE) - >> initialize_subscription - >> provision_trunk_config_common - >> set_status(SubscriptionLifecycle.ACTIVE) - >> resync - >> done - ) diff --git a/geant_service_orchestrator/workflows/trunk_config_common/terminate_trunk_config_common.py b/geant_service_orchestrator/workflows/trunk_config_common/terminate_trunk_config_common.py deleted file mode 100644 index 976fe592..00000000 --- a/geant_service_orchestrator/workflows/trunk_config_common/terminate_trunk_config_common.py +++ /dev/null @@ -1,52 +0,0 @@ -from orchestrator.forms import FormPage -from orchestrator.forms.validators import Label -from orchestrator.targets import Target -from orchestrator.types import InputForm, SubscriptionLifecycle, UUIDstr -from orchestrator.workflow import done, init, step, workflow -from orchestrator.workflows.steps \ - import resync, set_status, store_process_subscription, unsync -from orchestrator.workflows.utils import wrap_modify_initial_input_form - -from geant_service_orchestrator.products import TrunkConfigCommon - - -def initial_input_form_generator( - subscription_id: UUIDstr, - organisation: UUIDstr) -> InputForm: - subscription = TrunkConfigCommon.from_subscription(subscription_id) - - class TerminateForm(FormPage): - are_you_sure: Label = \ - "Are you sure you want to remove " \ - f"{subscription.description}?" # type:ignore - - return TerminateForm - - -def _deprovision_in_gap(trunk_config_common_id: int) -> int: - pass - - -@step("Deprovision trunk config common") -def deprovision_trunk_config_common( - subscription: TrunkConfigCommon) -> None: - _deprovision_in_gap( - subscription.trunk_config_common.trunk_config_common_id) - - -@workflow( - "Terminate trunk config common", - initial_input_form=wrap_modify_initial_input_form(initial_input_form_generator), # noqa: E501 - target=Target.TERMINATE, -) -def terminate_trunk_config_common(): - - return ( - init - >> store_process_subscription(Target.TERMINATE) - >> unsync - >> deprovision_trunk_config_common - >> set_status(SubscriptionLifecycle.TERMINATED) - >> resync - >> done - ) diff --git a/geant_service_orchestrator/workflows/trunk_config_side/__init__.py b/geant_service_orchestrator/workflows/trunk_config_side/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/geant_service_orchestrator/workflows/trunk_config_side/create_trunk_config_side.py b/geant_service_orchestrator/workflows/trunk_config_side/create_trunk_config_side.py deleted file mode 100644 index fa35bc65..00000000 --- a/geant_service_orchestrator/workflows/trunk_config_side/create_trunk_config_side.py +++ /dev/null @@ -1,150 +0,0 @@ -from typing import List, Optional -from uuid import uuid4 - -from orchestrator.db.models import ProductTable, SubscriptionTable -from orchestrator.forms import FormPage -from orchestrator.forms.validators import Choice, choice_list -from orchestrator.targets import Target -from orchestrator.types \ - import FormGenerator, State, SubscriptionLifecycle, UUIDstr -from orchestrator.workflow import done, init, step, workflow -from orchestrator.workflows.steps \ - import resync, set_status, store_process_subscription -from orchestrator.workflows.utils import wrap_create_initial_input_form - -from geant_service_orchestrator.products.product_types.trunk_config_side \ - import TrunkConfigSideInactive, TrunkConfigSideProvisioning -from geant_service_orchestrator.products.product_types.trunk_config \ - import TrunkConfig - - -def trunk_config_selector() -> list: - trunk_config_subscriptions = {} - for trunk_config_id, trunk_config_description in ( - SubscriptionTable.query.join(ProductTable) - .filter( - ProductTable.product_type == "TrunkConfig", - SubscriptionTable.status == "active", - ) - .with_entities( - SubscriptionTable.subscription_id, - SubscriptionTable.description) - .all() - ): - trunk_config_subscriptions[ - str(trunk_config_id)] = trunk_config_description - - return choice_list( - Choice("TrunkConfigEnum", zip( - trunk_config_subscriptions.keys(), - trunk_config_subscriptions.items())), # type:ignore - min_items=1, - max_items=1, - ) - - -def member_selector() -> list: - interfaces_dict = { - "ge-0/0/1": "ge-0/0/1", - "ge-0/0/2": "ge-0/0/2", - "ge-0/0/3": "ge-0/0/3", - "ge-0/0/4": "ge-0/0/4", - "ge-0/0/5": "ge-0/0/5" - } - - return choice_list( - Choice("Member Interfaces", zip( - interfaces_dict.keys(), - interfaces_dict.items())), # type:ignore - min_items=1, - max_items=4, - unique_items=True, - ) - - -def initial_input_form_generator(product_name: str) -> FormGenerator: - class CreateTrunkConfigSideForm(FormPage): - class Config: - title = product_name - - fqdn: str - ae_name: str - geant_a_sid: str - ipv4_address: Optional[str] - ipv6_address: Optional[str] - members: member_selector() # type:ignore - trunk_config_ids: trunk_config_selector() # type:ignore - - user_input = yield CreateTrunkConfigSideForm - - return user_input.dict() - - -def _provision_in_gap(fqdn: str) -> int: - return abs(hash(fqdn)) - - -@step("Create subscription") -def create_subscription(product: UUIDstr) -> State: - subscription \ - = TrunkConfigSideInactive.from_product_id(product, uuid4()) - - return { - "subscription": subscription, - "subscription_id": subscription.subscription_id - } - - -@step("Initialize subscription") -def initialize_subscription( - subscription: TrunkConfigSideInactive, - fqdn: str, - ae_name: str, - geant_a_sid: str, - ipv4_address: str, - ipv6_address: str, - members: list, - trunk_config_ids: List[str]) -> State: - subscription.trunk_config_side.fqdn = fqdn - subscription.trunk_config_side.ae_name = ae_name - subscription.trunk_config_side.geant_a_sid = geant_a_sid - subscription.trunk_config_side.ipv4_address = ipv4_address - subscription.trunk_config_side.ipv6_address = ipv6_address - subscription.trunk_config_side.members = members - subscription.trunk_config_side.trunk_config \ - = TrunkConfig.from_subscription(trunk_config_ids[0]).trunk_config - subscription.description = \ - "TrunkConfigSide from TrunkConfig " \ - f"{subscription.trunk_config_side.trunk_config.trunk_config_id}" - subscription = TrunkConfigSideProvisioning.from_other_lifecycle( - subscription, SubscriptionLifecycle.PROVISIONING) - - return {"subscription": subscription} - - -@step("Provision trunk config side") -def provision_trunk_config_side( - subscription: TrunkConfigSideProvisioning, fqdn: str) -> State: - trunk_config_side_id = _provision_in_gap(fqdn) - subscription.trunk_config_side.trunk_config_side_id = trunk_config_side_id - - return {"subscription": subscription} - - -@workflow( - "Create trunk config side", - initial_input_form=wrap_create_initial_input_form(initial_input_form_generator), # noqa: E501 - target=Target.CREATE, -) -def create_trunk_config_side(): - - return ( - init - >> create_subscription - >> store_process_subscription(Target.CREATE) - >> initialize_subscription - >> provision_trunk_config_side - >> set_status(SubscriptionLifecycle.ACTIVE) - >> resync - >> done - ) diff --git a/geant_service_orchestrator/workflows/trunk_config_side/terminate_trunk_config_side.py b/geant_service_orchestrator/workflows/trunk_config_side/terminate_trunk_config_side.py deleted file mode 100644 index bed44309..00000000 --- a/geant_service_orchestrator/workflows/trunk_config_side/terminate_trunk_config_side.py +++ /dev/null @@ -1,51 +0,0 @@ -from orchestrator.forms import FormPage -from orchestrator.forms.validators import Label -from orchestrator.targets import Target -from orchestrator.types import InputForm, SubscriptionLifecycle, UUIDstr -from orchestrator.workflow import done, init, step, workflow -from orchestrator.workflows.steps \ - import resync, set_status, store_process_subscription, unsync -from orchestrator.workflows.utils import wrap_modify_initial_input_form - -from geant_service_orchestrator.products import TrunkConfigSide - - -def initial_input_form_generator( - subscription_id: UUIDstr, - organisation: UUIDstr) -> InputForm: - subscription = TrunkConfigSide.from_subscription(subscription_id) - - class TerminateForm(FormPage): - are_you_sure: Label = \ - "Are you sure you want to remove " \ - f"{subscription.description}?" # type:ignore - - return TerminateForm - - -def _deprovision_in_gap(trunk_config_side_id: int) -> int: - pass - - -@step("Deprovision trunk config side") -def deprovision_trunk_config_side( - subscription: TrunkConfigSide) -> None: - _deprovision_in_gap(subscription.trunk_config_side.trunk_config_side_id) - - -@workflow( - "Terminate trunk config side", - initial_input_form=wrap_modify_initial_input_form(initial_input_form_generator), # noqa: E501 - target=Target.TERMINATE, -) -def terminate_trunk_config_side(): - - return ( - init - >> store_process_subscription(Target.TERMINATE) - >> unsync - >> deprovision_trunk_config_side - >> set_status(SubscriptionLifecycle.TERMINATED) - >> resync - >> done - ) -- GitLab