diff options
Diffstat (limited to 'packages/root-pack-extras/config-resources/mysql/db-sql-scripts/upgrade/MariaDB-upgrade-1707.40_drop1_to_1707.41_drop1.sql')
-rw-r--r-- | packages/root-pack-extras/config-resources/mysql/db-sql-scripts/upgrade/MariaDB-upgrade-1707.40_drop1_to_1707.41_drop1.sql | 1350 |
1 files changed, 0 insertions, 1350 deletions
diff --git a/packages/root-pack-extras/config-resources/mysql/db-sql-scripts/upgrade/MariaDB-upgrade-1707.40_drop1_to_1707.41_drop1.sql b/packages/root-pack-extras/config-resources/mysql/db-sql-scripts/upgrade/MariaDB-upgrade-1707.40_drop1_to_1707.41_drop1.sql deleted file mode 100644 index add114da1e..0000000000 --- a/packages/root-pack-extras/config-resources/mysql/db-sql-scripts/upgrade/MariaDB-upgrade-1707.40_drop1_to_1707.41_drop1.sql +++ /dev/null @@ -1,1350 +0,0 @@ --- MySQL Workbench Synchronization <<<1 --- Generated: April 2017 --- MariaDB-upgrade-1707.40_drop1_to_1707.41_drop1.sql - --- Turn off validation and alter schema <<<1 -BEGIN; - -SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; -SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; -SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES'; - -ALTER SCHEMA `mso_catalog` DEFAULT CHARACTER SET latin1 DEFAULT COLLATE latin1_swedish_ci ; --- >>>1 - --- FOREIGN KEYS <<<1 -ALTER TABLE `mso_catalog`.`heat_template` -- K <<<2 -DROP FOREIGN KEY `FK_ek5sot1q07taorbdmkvnveu98`; - -ALTER TABLE `mso_catalog`.`heat_template_params` -- K <<<2 -DROP FOREIGN KEY `FK_8sxvm215cw3tjfh3wni2y3myx`; - -ALTER TABLE `mso_catalog`.`service_recipe` -- K <<<2 -DROP FOREIGN KEY `FK_kv13yx013qtqkn94d5gkwbu3s`; - -ALTER TABLE `mso_catalog`.`network_resource_customization` -- K <<<2 -DROP FOREIGN KEY `fk_network_resource_customization__network_resource__id`; --- >>>1 - -UPDATE mso_catalog.heat_environment -- 7 UUID() * <<<1 -SET - description = CONCAT(description, '1707MIGRATED'), - asdc_uuid = (SELECT UUID()) -WHERE - asdc_uuid LIKE "MAN%" OR asdc_uuid is NULL OR asdc_uuid = ''; - --- DEBUGGING E2E <<<1 --- ERROR 1062 (23000) at line 40: Duplicate entry '53a70d06-f598-4375-9c3c-fcca1dea3f51' for key 'PRIMARY' -DELETE FROM `mso_catalog`.`heat_environment` where `ASDC_UUID` IN ('53a70d06-f598-4375-9c3c-fcca1dea3f51', 'adc9f8d5-e9d2-4180-994d-cbd59d6eb405'); --- >>>1 - --- heat_environment - * <<<1 -CREATE TABLE `mso_catalog`.`hetemp` ( -- <<<2 - `id` int(11), - `ARTIFACT_UUID` VARCHAR(200) - ) ENGINE = InnoDB DEFAULT CHARACTER SET = latin1; - -INSERT INTO mso_catalog.hetemp SELECT id, asdc_uuid artifact_uuid FROM mso_catalog.heat_environment; -- <<<2 - -ALTER TABLE `mso_catalog`.`heat_environment` -- <<<2 -DROP COLUMN `ASDC_LABEL`, -DROP COLUMN `ASDC_RESOURCE_NAME`, -DROP COLUMN `id`, -CHANGE COLUMN `ASDC_UUID` `ARTIFACT_UUID` VARCHAR(200) NOT NULL FIRST, -CHANGE COLUMN `ARTIFACT_CHECKSUM` `ARTIFACT_CHECKSUM` VARCHAR(200) NOT NULL DEFAULT 'MANUAL RECORD' AFTER `BODY`, -CHANGE COLUMN `ENVIRONMENT` `BODY` LONGTEXT NOT NULL , -DROP PRIMARY KEY, -ADD PRIMARY KEY (`ARTIFACT_UUID`), -DROP INDEX `UK_a4jkta7hgpa99brceaxasnfqp` ; --- >>>1 - -UPDATE mso_catalog.heat_files -- 7 UUID() * <<<1 -SET - description = CONCAT(description, '1707MIGRATED'), - asdc_uuid = (SELECT UUID()) -WHERE - asdc_uuid LIKE "MAN%" OR asdc_uuid is NULL OR asdc_uuid = ''; - -ALTER TABLE `mso_catalog`.`heat_files` -- ^ <<<1 -MODIFY `id` INT, -DROP COLUMN `ASDC_RESOURCE_NAME`, -DROP COLUMN `ASDC_LABEL`, -DROP COLUMN `VNF_RESOURCE_ID`, -CHANGE COLUMN `ASDC_UUID` `ARTIFACT_UUID` VARCHAR(200) NOT NULL FIRST, -CHANGE COLUMN `FILE_NAME` `NAME` VARCHAR(200) NOT NULL AFTER `ARTIFACT_UUID`, -CHANGE COLUMN `VERSION` `VERSION` VARCHAR(20) NOT NULL AFTER `NAME`, -CHANGE COLUMN `ARTIFACT_CHECKSUM` `ARTIFACT_CHECKSUM` VARCHAR(200) NOT NULL DEFAULT 'MANUAL RECORD' AFTER `BODY`, -CHANGE COLUMN `FILE_BODY` `BODY` LONGTEXT NOT NULL , -DROP PRIMARY KEY, -ADD PRIMARY KEY (`ARTIFACT_UUID`), -DROP INDEX `UK_m23vfqc1tdvj7d6f0jjo4cl7e` ; - -CREATE TABLE IF NOT EXISTS `mso_catalog`.`temp_network_heat_template_lookup` ( -- V <<<1 - `NETWORK_RESOURCE_MODEL_NAME` VARCHAR(200) NOT NULL, - `HEAT_TEMPLATE_ARTIFACT_UUID` VARCHAR(200) NOT NULL, - `AIC_VERSION_MIN` VARCHAR(20) NOT NULL, - `AIC_VERSION_MAX` VARCHAR(20) NULL DEFAULT NULL, - PRIMARY KEY (`NETWORK_RESOURCE_MODEL_NAME`), - INDEX `fk_temp_network_heat_template_lookup__heat_template1_idx` (`HEAT_TEMPLATE_ARTIFACT_UUID` ASC) -) ENGINE = InnoDB DEFAULT CHARACTER SET = latin1; - -UPDATE mso_catalog.heat_template -- 7 UUID() V <<<1 -SET - description = CONCAT(description, '1707MIGRATED'), - asdc_uuid = (SELECT UUID()) -WHERE - asdc_uuid LIKE "MAN%" OR asdc_uuid is NULL OR asdc_uuid = ''; - --- delete where network_resource_model_name is CONTRAIL_EXTERNAL or CONTRAIL_SHARED. Q spec 5/25 -INSERT INTO mso_catalog.temp_network_heat_template_lookup ( -- 3sc * b4 heat_template network_resource <<<1 - network_resource_model_name, - heat_template_artifact_uuid, - aic_version_min, - aic_version_max -) - SELECT - a.network_type, - b.asdc_uuid, - a.aic_version_min, - a.aic_version_max - FROM - mso_catalog.network_resource a, - mso_catalog.heat_template b - WHERE - a.template_id = b.id - AND a.network_type NOT IN ('CONTRAIL_EXTERNAL', 'CONTRAIL_SHARED'); - -ALTER TABLE `mso_catalog`.`heat_template` -- ^ <<<1 -MODIFY `id` INT, -DROP COLUMN `ASDC_LABEL`, -DROP COLUMN `CHILD_TEMPLATE_ID`, -DROP COLUMN `TEMPLATE_PATH`, -DROP COLUMN `ASDC_RESOURCE_NAME`, -CHANGE COLUMN `ASDC_UUID` `ARTIFACT_UUID` VARCHAR(200) NOT NULL FIRST, -CHANGE COLUMN `DESCRIPTION` `DESCRIPTION` VARCHAR(1200) NULL DEFAULT NULL AFTER `VERSION`, -CHANGE COLUMN `ARTIFACT_CHECKSUM` `ARTIFACT_CHECKSUM` VARCHAR(200) NOT NULL DEFAULT 'MANUAL RECORD' AFTER `TIMEOUT_MINUTES`, -CHANGE COLUMN `TEMPLATE_NAME` `NAME` VARCHAR(200) NOT NULL , -CHANGE COLUMN `TEMPLATE_BODY` `BODY` LONGTEXT NOT NULL , -DROP PRIMARY KEY, -ADD PRIMARY KEY (`ARTIFACT_UUID`), -DROP INDEX `FK_ek5sot1q07taorbdmkvnveu98` , -DROP INDEX `UK_k1tq7vblss8ykiwhiltnkg6no` ; - -ALTER TABLE `mso_catalog`.`temp_network_heat_template_lookup` -- after alter heat_template ^ <<<1 - ADD CONSTRAINT `fk_temp_network_heat_template_lookup__heat_template1` - FOREIGN KEY (`HEAT_TEMPLATE_ARTIFACT_UUID`) - REFERENCES `mso_catalog`.`heat_template` (`ARTIFACT_UUID`) - ON DELETE RESTRICT - ON UPDATE CASCADE; --- >>>1 - --- heat_nested_template AFTER heat_template * <<<1 -CREATE TABLE `mso_catalog`.`hnttemp` ( -- <<<2 - `PARENT_HEAT_TEMPLATE_UUID` VARCHAR(200) NOT NULL , - `CHILD_HEAT_TEMPLATE_UUID` VARCHAR(200) NOT NULL, - `PROVIDER_RESOURCE_FILE` varchar(100) DEFAULT NULL - ) -ENGINE = InnoDB -DEFAULT CHARACTER SET = latin1; - -INSERT INTO mso_catalog.hnttemp ( -- <<<2 - PARENT_HEAT_TEMPLATE_UUID, - CHILD_HEAT_TEMPLATE_UUID, - PROVIDER_RESOURCE_FILE -) - SELECT - ht1.artifact_uuid PARENT_HEAT_TEMPLATE_UUID, - ht2.artifact_uuid CHILD_HEAT_TEMPLATE_UUID, - a.PROVIDER_RESOURCE_FILE - FROM - (SELECT * FROM mso_catalog.heat_nested_template) AS a - JOIN (SELECT * FROM mso_catalog.heat_template) AS ht1 ON a.parent_template_id = ht1.id - JOIN (SELECT * FROM mso_catalog.heat_template) AS ht2 ON a.child_template_id = ht2.id; - -DELETE FROM mso_catalog.heat_nested_template; -- <<<2 - -ALTER TABLE `mso_catalog`.`heat_nested_template` -- <<<2 -CHANGE COLUMN `PARENT_TEMPLATE_ID` `PARENT_HEAT_TEMPLATE_UUID` VARCHAR(200) NOT NULL , -CHANGE COLUMN `CHILD_TEMPLATE_ID` `CHILD_HEAT_TEMPLATE_UUID` VARCHAR(200) NOT NULL , -ADD INDEX `fk_heat_nested_template__heat_template2_idx` (`CHILD_HEAT_TEMPLATE_UUID` ASC); - -INSERT INTO mso_catalog.heat_nested_template SELECT * FROM mso_catalog.hnttemp; -- <<<2 - -DROP TABLE IF EXISTS mso_catalog.hnttemp; -- <<<2 - --- heat_template_params AFTER heat_template ^ <<<1 -CREATE TABLE IF NOT EXISTS `mso_catalog`.`htptemp` ( -- <<<2 - `PARAM_NAME` varchar(100) NOT NULL, - `IS_REQUIRED` bit(1) NOT NULL, - `PARAM_TYPE` varchar(20) DEFAULT NULL, - `PARAM_ALIAS` varchar(45) DEFAULT NULL, - `HEAT_TEMPLATE_ARTIFACT_UUID` VARCHAR(200) NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - -INSERT INTO mso_catalog.htptemp ( -- <<<2 - PARAM_NAME, - IS_REQUIRED, - PARAM_TYPE, - PARAM_ALIAS, - HEAT_TEMPLATE_ARTIFACT_UUID -) - SELECT - a.PARAM_NAME, - a.IS_REQUIRED, - a.PARAM_TYPE, - a.PARAM_ALIAS, - ht1.artifact_uuid HEAT_TEMPLATE_ARTIFACT_UUID - FROM - (SELECT * FROM mso_catalog.heat_template_params) AS a - JOIN (SELECT * FROM mso_catalog.heat_template) AS ht1 ON a.heat_template_id = ht1.id; - -DELETE FROM mso_catalog.heat_template_params; -- <<<2 - -ALTER TABLE `mso_catalog`.`heat_template_params` -- <<<2 -DROP COLUMN `id`, -CHANGE COLUMN `HEAT_TEMPLATE_ID` `HEAT_TEMPLATE_ARTIFACT_UUID` VARCHAR(200) NOT NULL , -DROP PRIMARY KEY, -ADD PRIMARY KEY (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`), -DROP INDEX `UK_pj3cwbmewecf0joqv2mvmbvw3` ; - -INSERT INTO mso_catalog.heat_template_params ( -- <<<2 - PARAM_NAME, - IS_REQUIRED, - PARAM_TYPE, - PARAM_ALIAS, - HEAT_TEMPLATE_ARTIFACT_UUID -) - SELECT - a.PARAM_NAME, - a.IS_REQUIRED, - a.PARAM_TYPE, - a.PARAM_ALIAS, - a.HEAT_TEMPLATE_ARTIFACT_UUID - FROM mso_catalog.htptemp a; - -DROP TABLE IF EXISTS mso_catalog.htptemp; -- <<<2 - --- >>>1 - -ALTER TABLE `mso_catalog`.`network_recipe` -- <<<1 -CHANGE COLUMN `NETWORK_TYPE` `MODEL_NAME` VARCHAR(20) NOT NULL ; - --- 1, 2 UPDATE SERVICE Before SERVICE * <<<1 -UPDATE `mso_catalog`.`service_recipe` -JOIN ( - SELECT - MAX(CAST((COALESCE(NULLIF(version_str, ''), '1.0')) AS DECIMAL(5,2))), - id, - service_name - FROM mso_catalog.service - WHERE service_name = "WAN Bonding" -) a -ON a.service_name = "WAN Bonding" -SET - `service_id` = a.id, - `action` = CASE - WHEN action = 'Layer3AddBonding' then 'createInstance' - WHEN action = 'Layer3DeleteBonding' then 'deleteInstance' - END -WHERE - `action` IN ('Layer3AddBonding', 'Layer3DeleteBonding'); - -UPDATE mso_catalog.service -- 2 <<<2 -SET - service_name_version_id = (SELECT UUID()), - description = CONCAT(description, '1707MIGRATED') -WHERE - service_name_version_id LIKE "MAN%" OR service_name_version_id is NULL OR service_name_version_id = ''; - -UPDATE mso_catalog.service -SET - model_invariant_uuid = (SELECT UUID()), - description = CONCAT(description, '1707MIGRATED') -WHERE - model_invariant_uuid LIKE 'MAN%' OR model_invariant_uuid is NULL OR model_invariant_uuid = ''; - --- service - from temporary table servtemp ^ <<<1 -CREATE TABLE `mso_catalog`.`servtemp` ( -- <<<2 - `id` int(11), - `MODEL_NAME` varchar(40) DEFAULT NULL, - `MODEL_VERSION` varchar(20) NOT NULL, - `DESCRIPTION` varchar(1200) DEFAULT NULL, - `CREATION_TIMESTAMP` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, - `MODEL_UUID` varchar(50) NOT NULL DEFAULT 'MANUAL_RECORD', - `MODEL_INVARIANT_UUID` varchar(200) NOT NULL DEFAULT 'MANUAL_RECORD' - ) ENGINE = InnoDB DEFAULT CHARACTER SET = latin1; - -INSERT INTO mso_catalog.servtemp ( -- <<<2 - id, - MODEL_NAME, - MODEL_VERSION, - DESCRIPTION, - CREATION_TIMESTAMP, - MODEL_UUID, - MODEL_INVARIANT_UUID -) - SELECT - id, - SERVICE_NAME, - VERSION_STR, - DESCRIPTION, - CREATION_TIMESTAMP, - SERVICE_NAME_VERSION_ID, - MODEL_INVARIANT_UUID - FROM mso_catalog.service - WHERE SERVICE_NAME NOT IN ('Layer3AddBonding', 'Layer3DeleteBonding'); - -DELETE FROM mso_catalog.service; -- <<<2 - -ALTER TABLE `mso_catalog`.`service_to_allotted_resources` -- <<<2 - DROP FOREIGN KEY `fk_service_to_allotted_resources__service__service_name_ver_id`; - -ALTER TABLE `mso_catalog`.`service_to_networks` -- <<<2 - DROP FOREIGN KEY `fk_service_to_networks__service__service_name_version_id`; - -ALTER TABLE `mso_catalog`.`service` -- ^ <<<2 -MODIFY `id` INT, -DROP COLUMN `SERVICE_ID`, -DROP COLUMN `HTTP_METHOD`, -DROP COLUMN `SERVICE_NAME_VERSION_ID`, -ADD COLUMN `MODEL_UUID` VARCHAR(200) NOT NULL FIRST, -CHANGE COLUMN `MODEL_INVARIANT_UUID` `MODEL_INVARIANT_UUID` VARCHAR(200) NOT NULL AFTER `MODEL_NAME`, -CHANGE COLUMN `SERVICE_NAME` `MODEL_NAME` VARCHAR(200) NOT NULL , -CHANGE COLUMN `VERSION_STR` `MODEL_VERSION` VARCHAR(20) NOT NULL , -ADD COLUMN `TOSCA_CSAR_ARTIFACT_UUID` VARCHAR(200) NULL DEFAULT NULL AFTER `CREATION_TIMESTAMP`, -DROP PRIMARY KEY, -ADD PRIMARY KEY (`MODEL_UUID`), -ADD INDEX `fk_service__tosca_csar1_idx` (`TOSCA_CSAR_ARTIFACT_UUID` ASC), -DROP INDEX `UK_service_name__service_name_version_id` ; - -INSERT INTO mso_catalog.service ( - id, CREATION_TIMESTAMP, DESCRIPTION, MODEL_INVARIANT_UUID, MODEL_NAME, MODEL_UUID, MODEL_VERSION -) -SELECT - id, CREATION_TIMESTAMP, DESCRIPTION, MODEL_INVARIANT_UUID, MODEL_NAME, MODEL_UUID, MODEL_VERSION -FROM mso_catalog.servtemp; -- >>>2 - -DROP TABLE IF EXISTS mso_catalog.servtemp; -- <<<2 - --- service_recipe - from temporary table srtemp - AFTER service ^ <<<1 -CREATE TABLE `mso_catalog`.`srtemp` ( -- <<<2 - `id` int(11) NOT NULL , - `SERVICE_MODEL_UUID` VARCHAR(200) NOT NULL, - `ACTION` varchar(40) NOT NULL, - `VERSION_STR` varchar(20) DEFAULT NULL, - `DESCRIPTION` varchar(1200) DEFAULT NULL, - `ORCHESTRATION_URI` varchar(256) NOT NULL, - `SERVICE_PARAM_XSD` varchar(2048) DEFAULT NULL, - `RECIPE_TIMEOUT` int(11) DEFAULT NULL, - `SERVICE_TIMEOUT_INTERIM` int(11) DEFAULT NULL, - `CREATION_TIMESTAMP` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP - ) -ENGINE = InnoDB -DEFAULT CHARACTER SET = latin1; - --- ST-CreationTimestamp <<<2 --- ERROR 1292 (22007) at line 331: Incorrect datetime value: '0000-00-00 00:00:00' for column 'CREATION_TIMESTAMP' at row 1 -UPDATE `mso_catalog`.`service_recipe` set CREATION_TIMESTAMP = now() where cast(`CREATION_TIMESTAMP` as char(20)) = '0000-00-00 00:00:00'; --- >>>2 - -INSERT INTO mso_catalog.srtemp ( -- <<<2 - id, - SERVICE_MODEL_UUID, - ACTION, - VERSION_STR, - DESCRIPTION, - ORCHESTRATION_URI, - SERVICE_PARAM_XSD, - RECIPE_TIMEOUT, - SERVICE_TIMEOUT_INTERIM, - CREATION_TIMESTAMP -) - SELECT - a.id, - ht1.MODEL_UUID SERVICE_MODEL_UUID, - a.ACTION, - a.VERSION_STR, - a.DESCRIPTION, - a.ORCHESTRATION_URI, - a.SERVICE_PARAM_XSD, - a.RECIPE_TIMEOUT, - a.SERVICE_TIMEOUT_INTERIM, - a.CREATION_TIMESTAMP - FROM mso_catalog.service_recipe a - JOIN mso_catalog.service AS ht1 ON a.service_id = ht1.id; - -DELETE FROM mso_catalog.service_recipe; -- <<<2 - -ALTER TABLE `mso_catalog`.`service_recipe` -- <<<2 -CHANGE COLUMN `SERVICE_ID` `SERVICE_MODEL_UUID` VARCHAR(200) NOT NULL AFTER `CREATION_TIMESTAMP`, -ADD INDEX `fk_service_recipe__service1_idx` (`SERVICE_MODEL_UUID` ASC); - -INSERT INTO mso_catalog.service_recipe ( -- <<<2 - id, - SERVICE_MODEL_UUID, - ACTION, - VERSION_STR, - DESCRIPTION, - ORCHESTRATION_URI, - SERVICE_PARAM_XSD, - RECIPE_TIMEOUT, - SERVICE_TIMEOUT_INTERIM, - CREATION_TIMESTAMP -) -SELECT - id, - SERVICE_MODEL_UUID, - ACTION, - VERSION_STR, - DESCRIPTION, - ORCHESTRATION_URI, - SERVICE_PARAM_XSD, - RECIPE_TIMEOUT, - SERVICE_TIMEOUT_INTERIM, - CREATION_TIMESTAMP - FROM mso_catalog.srtemp; - -DROP TABLE IF EXISTS mso_catalog.srtemp; -- <<<2 - --- >>>1 - -DELETE FROM mso_catalog.vnf_components_recipe WHERE vnf_component_type = 'VOLUME_GROUP' and vnf_type != '*'; -- Q spec 5/25 <<<1 --- >>>1 - -DELETE FROM mso_catalog.vnf_resource WHERE id IN (2,3,4); -- 3 * <<<1 - -UPDATE mso_catalog.vnf_resource -- 4 * <<<1 -SET - model_name = model_customization_name, - asdc_uuid = '09cb25b0-f2f6-40ed-96bc-71ad43e42fc8', - model_invariant_uuid = '9fdda511-ffe3-4117-b3cc-cff9c1fc3fff' -WHERE - id=5; - -UPDATE mso_catalog.vnf_resource -- 6 set model_name * <<<1 -SET - model_name = vnf_type -WHERE - service_model_invariant_uuid IS NULL OR model_invariant_uuid = ''; - -UPDATE mso_catalog.vnf_resource -- 7 UUID() asdc_uuid * <<<1 -SET - asdc_uuid = (SELECT UUID()), - description = CONCAT(description, '1707MIGRATED') -WHERE - asdc_uuid LIKE "MAN%" OR asdc_uuid is NULL OR asdc_uuid = ''; - -UPDATE mso_catalog.vnf_resource -- 8 UUID() model_customization_uuid * <<<1 -SET - description = CONCAT(description, '1707MIGRATED'), - model_customization_uuid = (SELECT UUID()) -WHERE - model_customization_uuid LIKE "MAN%" OR model_customization_uuid is NULL OR model_customization_uuid = ''; - --- >>>1 -UPDATE mso_catalog.vnf_resource -- NOT IN SPEC * <<<1 -SET - model_customization_name = CONCAT('1707MIGRATED_', model_name) -WHERE - model_customization_name is NULL OR model_customization_name = ''; - --- 5 aka 8d delete each asdc_uuid except highest ASDC_SERVICE_MODEL_VERSION vnf_resource and cascade vf_module * <<<1 -CREATE TABLE mso_catalog.req5temp (`vnfs` INT(11) NOT NULL, `vfs` INT(11)); - --- delete VR and cascade VMs what have null/empty VR.service_model_invariant_uuid where vnf_name is NOT "BrocadeVce" -INSERT INTO mso_catalog.req5temp (vnfs, vfs) -- <<<2 - SELECT a.id, m.id - FROM mso_catalog.vnf_resource a - LEFT JOIN mso_catalog.vf_module m ON a.id = m.vnf_resource_id - WHERE (a.vnf_name != "BrocadeVce" OR a.vnf_name IS NULL) - AND (a.service_model_invariant_uuid is NULL OR a.service_model_invariant_uuid = ''); - -DELETE FROM mso_catalog.vnf_resource WHERE id = ANY(SELECT vnfs FROM mso_catalog.req5temp); -DELETE FROM mso_catalog.vf_module WHERE id = ANY(SELECT vfs FROM mso_catalog.req5temp); - -DELETE FROM mso_catalog.req5temp; -- <<<2 - -INSERT INTO mso_catalog.req5temp (vnfs, vfs) -- <<<2 - SELECT a.id, m.id - FROM mso_catalog.vnf_resource a - LEFT JOIN mso_catalog.vf_module m ON a.id = m.vnf_resource_id - JOIN ( - SELECT - MAX(CAST((COALESCE(NULLIF(asdc_service_model_version, ''), '1.0')) AS DECIMAL(5,2))) AS v, - asdc_uuid - FROM mso_catalog.vnf_resource - GROUP BY asdc_uuid - ) b - ON - a.asdc_uuid = b.asdc_uuid AND - CAST((COALESCE(NULLIF(a.asdc_service_model_version, ''), '1.0')) AS DECIMAL(5,2)) != b.v; --- >>>1 - -UPDATE mso_catalog.vf_module -- 7 UUID() asdc_uuid * <<<1 -SET - asdc_uuid = (SELECT UUID()), - description = CONCAT(description, '1707MIGRATED') -WHERE - asdc_uuid LIKE "MAN%" OR asdc_uuid is NULL OR asdc_uuid = ''; - -UPDATE mso_catalog.vf_module -- 8 UUID() model_customization_uuid * <<<1 -SET - description = CONCAT(description, '1707MIGRATED'), - model_customization_uuid = (SELECT UUID()) -WHERE - model_customization_uuid LIKE "MAN%" OR model_customization_uuid is NULL OR model_customization_uuid = ''; - --- VMC vf_module_customization * <<<1 -CREATE TABLE IF NOT EXISTS `mso_catalog`.`vf_module_customization` ( -- V <<<2 - `MODEL_CUSTOMIZATION_UUID` VARCHAR(200) NOT NULL, - `LABEL` VARCHAR(200) NULL DEFAULT NULL, - `INITIAL_COUNT` INT(11) NULL DEFAULT 0, - `MIN_INSTANCES` INT(11) NULL DEFAULT 0, - `MAX_INSTANCES` INT(11) NULL DEFAULT NULL, - `AVAILABILITY_ZONE_COUNT` INT(11) NULL DEFAULT NULL, - `HEAT_ENVIRONMENT_ARTIFACT_UUID` VARCHAR(200) NULL DEFAULT NULL, - `VOL_ENVIRONMENT_ARTIFACT_UUID` VARCHAR(200) NULL DEFAULT NULL, - `CREATION_TIMESTAMP` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, - `VF_MODULE_MODEL_UUID` VARCHAR(200) NOT NULL, - PRIMARY KEY (`MODEL_CUSTOMIZATION_UUID`), - INDEX `fk_vf_module_customization__vf_module1_idx` (`VF_MODULE_MODEL_UUID` ASC), - INDEX `fk_vf_module_customization__heat_env__heat_environment1_idx` (`HEAT_ENVIRONMENT_ARTIFACT_UUID` ASC), - INDEX `fk_vf_module_customization__vol_env__heat_environment2_idx` (`VOL_ENVIRONMENT_ARTIFACT_UUID` ASC), - CONSTRAINT `fk_vf_module_customization__heat_env__heat_environment1` - FOREIGN KEY (`HEAT_ENVIRONMENT_ARTIFACT_UUID`) - REFERENCES `mso_catalog`.`heat_environment` (`ARTIFACT_UUID`) - ON DELETE CASCADE - ON UPDATE CASCADE, - CONSTRAINT `fk_vf_module_customization__vol_env__heat_environment2` - FOREIGN KEY (`VOL_ENVIRONMENT_ARTIFACT_UUID`) - REFERENCES `mso_catalog`.`heat_environment` (`ARTIFACT_UUID`) - ON DELETE CASCADE - ON UPDATE CASCADE -) ENGINE = InnoDB DEFAULT CHARACTER SET = latin1; - -CREATE TABLE mso_catalog.vfduptemp (`id` INT(11) NOT NULL); -- <<<2 - -INSERT INTO mso_catalog.vfduptemp (id) -- <<<2 -SELECT a.id -FROM mso_catalog.vf_module a -JOIN ( - SELECT - MAX(CAST((COALESCE(NULLIF(asdc_service_model_version, ''), '1.0')) AS DECIMAL(5,2))) AS ver, - model_customization_uuid mcu, - id vid - FROM mso_catalog.vf_module - GROUP BY model_customization_uuid - ) b -ON - a.model_customization_uuid = mcu - AND CAST((COALESCE(NULLIF(a.asdc_service_model_version, ''), '1.0')) AS DECIMAL(5,2)) != b.ver -ORDER BY a.model_customization_uuid; - -INSERT INTO mso_catalog.vf_module_customization ( -- <<<2 - model_customization_uuid, -- <<<3 - label, - initial_count, - min_instances, - max_instances, - heat_environment_artifact_uuid, - vol_environment_artifact_uuid, - vf_module_model_uuid -- >>>3 -) -SELECT - a.model_customization_uuid, - a.label, - a.initial_count, - a.min_instances, - a.max_instances, - ht1.artifact_uuid, - ht2.artifact_uuid, - a.asdc_uuid -FROM mso_catalog.vf_module a -LEFT JOIN mso_catalog.hetemp AS ht1 ON a.environment_id = ht1.id -LEFT JOIN mso_catalog.hetemp AS ht2 ON a.vol_environment_id = ht2.id -WHERE NOT EXISTS ( - SELECT 1 FROM mso_catalog.vfduptemp vdt - WHERE - a.id = vdt.id -); - -DROP TABLE IF EXISTS mso_catalog.vfduptemp; -- <<<2 - -DROP TABLE IF EXISTS mso_catalog.hetemp; -- <<<2 - --- >>>1 - --- AR ALLOTTED_RESOURCE <<<1 -CREATE TABLE IF NOT EXISTS `mso_catalog`.`allotted_resource` ( -- V <<<2 - `MODEL_UUID` VARCHAR(200) NOT NULL, - `MODEL_INVARIANT_UUID` VARCHAR(200) NOT NULL, - `MODEL_VERSION` VARCHAR(20) NOT NULL, - `MODEL_NAME` VARCHAR(200) NOT NULL, - `TOSCA_NODE_TYPE` VARCHAR(200) NULL DEFAULT NULL, - `SUBCATEGORY` VARCHAR(200) NULL DEFAULT NULL, - `DESCRIPTION` VARCHAR(1200) NULL DEFAULT NULL, - `CREATION_TIMESTAMP` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`MODEL_UUID`)) -ENGINE = InnoDB -DEFAULT CHARACTER SET = latin1; - - INSERT INTO `mso_catalog`.`allotted_resource` ( -- 2sc * <<<2 - model_uuid, - model_invariant_uuid, - model_version, - model_name, - description - ) - SELECT DISTINCT - model_uuid, - model_invariant_uuid, - model_version, - model_name, - description - FROM - mso_catalog.allotted_resource_customization; --- >>>1 - -ALTER TABLE `mso_catalog`.`allotted_resource_customization` -- ^ <<<1 -DROP COLUMN `DESCRIPTION`, -DROP COLUMN `MODEL_NAME`, -DROP COLUMN `MODEL_VERSION`, -DROP COLUMN `MODEL_INVARIANT_UUID`, -CHANGE COLUMN `MODEL_UUID` `AR_MODEL_UUID` VARCHAR(200) NOT NULL, -- ARC -CHANGE COLUMN `MODEL_INSTANCE_NAME` `MODEL_INSTANCE_NAME` VARCHAR(200) NOT NULL AFTER `MODEL_CUSTOMIZATION_UUID`, -ADD COLUMN `PROVIDING_SERVICE_MODEL_INVARIANT_UUID` VARCHAR(200) NULL DEFAULT NULL AFTER `MODEL_INSTANCE_NAME`, -ADD COLUMN `TARGET_NETWORK_ROLE` VARCHAR(200) NULL DEFAULT NULL AFTER `PROVIDING_SERVICE_MODEL_INVARIANT_UUID`, -ADD COLUMN `NF_TYPE` VARCHAR(200) NULL DEFAULT NULL AFTER `TARGET_NETWORK_ROLE`, -ADD COLUMN `NF_ROLE` VARCHAR(200) NULL DEFAULT NULL AFTER `NF_TYPE`, -ADD COLUMN `NF_FUNCTION` VARCHAR(200) NULL DEFAULT NULL AFTER `NF_ROLE`, -ADD COLUMN `NF_NAMING_CODE` VARCHAR(200) NULL DEFAULT NULL AFTER `NF_FUNCTION`, -ADD COLUMN `MIN_INSTANCES` INT(11) NULL DEFAULT NULL AFTER `NF_NAMING_CODE`, -ADD COLUMN `MAX_INSTANCES` INT(11) NULL DEFAULT NULL AFTER `MIN_INSTANCES`, -ADD INDEX `fk_allotted_resource_customization__allotted_resource1_idx` (`AR_MODEL_UUID` ASC); --- >>>1 - --- VRC vnf_resource_customization <<<1 --- vnftemp table <<<2 -CREATE TABLE `mso_catalog`.`vnftemp` AS - SELECT model_customization_uuid, service_model_invariant_uuid, asdc_service_model_version - FROM `mso_catalog`.`vnf_resource`; - -DROP TABLE IF EXISTS `mso_catalog`.`vnf_resource_customization`; -- <<<2 - -CREATE TABLE `mso_catalog`.`vnf_resource_customization` ( -- <<<2 - `MODEL_CUSTOMIZATION_UUID` VARCHAR(200) NOT NULL, - `MODEL_INSTANCE_NAME` VARCHAR(200) NOT NULL, - `MIN_INSTANCES` INT(11) NULL DEFAULT NULL, - `MAX_INSTANCES` INT(11) NULL DEFAULT NULL, - `AVAILABILITY_ZONE_MAX_COUNT` INT(11) NULL DEFAULT NULL, - `NF_TYPE` VARCHAR(200) NULL DEFAULT NULL, - `NF_ROLE` VARCHAR(200) NULL DEFAULT NULL, - `NF_FUNCTION` VARCHAR(200) NULL DEFAULT NULL, - `NF_NAMING_CODE` VARCHAR(200) NULL DEFAULT NULL, - `CREATION_TIMESTAMP` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, - `VNF_RESOURCE_MODEL_UUID` VARCHAR(200) NOT NULL, - PRIMARY KEY (`MODEL_CUSTOMIZATION_UUID`), - INDEX `fk_vnf_resource_customization__vnf_resource1_idx` (`VNF_RESOURCE_MODEL_UUID` ASC) -) ENGINE = InnoDB DEFAULT CHARACTER SET = latin1; - -INSERT INTO mso_catalog.vnf_resource_customization ( -- <<<2 - model_customization_uuid, - model_instance_name, - vnf_resource_model_uuid -) - SELECT DISTINCT - a.model_customization_uuid, - ht1.model_customization_name, - ht1.asdc_uuid - FROM mso_catalog.vnftemp a - JOIN mso_catalog.vnf_resource AS ht1 ON - a.model_customization_uuid = ht1.model_customization_uuid AND - a.asdc_service_model_version = ht1.asdc_service_model_version; --- >>>1 - --- network_resource_customization * <<<1 -CREATE TABLE `mso_catalog`.`nrctemp` ( -- <<<2 - `MODEL_UUID` varchar(200) NOT NULL, - `MODEL_NAME` varchar(200) NOT NULL, - `MODEL_INVARIANT_UUID` varchar(200) NOT NULL, - `NETWORK_RESOURCE_ID` int(11) NOT NULL, - `MODEL_CUSTOMIZATION_UUID` VARCHAR(200) NOT NULL, - `MODEL_INSTANCE_NAME` VARCHAR(200) NOT NULL, - `NETWORK_TECHNOLOGY` VARCHAR(45) NULL, - `NETWORK_TYPE` VARCHAR(45) NULL, - `NETWORK_ROLE` VARCHAR(200) NULL, - `NETWORK_SCOPE` VARCHAR(45) NULL, - `MODEL_VERSION` VARCHAR(20) NULL, - `CREATION_TIMESTAMP` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, - `NETWORK_RESOURCE_MODEL_UUID` VARCHAR(200) NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - -INSERT INTO mso_catalog.nrctemp ( -- <<<2 - model_customization_uuid, - model_uuid, - model_invariant_uuid, - model_instance_name, - model_name, - network_resource_id, - model_version, - creation_timestamp, - network_resource_model_uuid -) - SELECT - model_customization_uuid, - model_uuid, - model_invariant_uuid, - model_instance_name, - model_name, - network_resource_id, - model_version, - creation_timestamp, - model_uuid - FROM mso_catalog.network_resource_customization; - -DELETE FROM mso_catalog.network_resource_customization; -- <<<2 - -ALTER TABLE `mso_catalog`.`network_resource_customization` -- <<<2 -DROP COLUMN `NETWORK_RESOURCE_ID`, -DROP COLUMN `MODEL_VERSION`, -DROP COLUMN `MODEL_INVARIANT_UUID`, -DROP COLUMN `MODEL_NAME`, -DROP COLUMN `MODEL_UUID`, -ADD COLUMN `NETWORK_TECHNOLOGY` VARCHAR(45) NULL DEFAULT NULL AFTER `MODEL_INSTANCE_NAME`, -ADD COLUMN `NETWORK_TYPE` VARCHAR(45) NULL DEFAULT NULL AFTER `NETWORK_TECHNOLOGY`, -ADD COLUMN `NETWORK_ROLE` VARCHAR(200) NULL DEFAULT NULL AFTER `NETWORK_TYPE`, -ADD COLUMN `NETWORK_SCOPE` VARCHAR(45) NULL DEFAULT NULL AFTER `NETWORK_ROLE`, -ADD COLUMN `NETWORK_RESOURCE_MODEL_UUID` VARCHAR(200) NOT NULL AFTER `CREATION_TIMESTAMP`, -DROP PRIMARY KEY, -ADD PRIMARY KEY (`MODEL_CUSTOMIZATION_UUID`), -ADD INDEX `fk_network_resource_customization__network_resource1_idx` (`NETWORK_RESOURCE_MODEL_UUID` ASC), -DROP INDEX `fk_network_resource_customization__network_resource_id_idx`; --- >>>2 - -INSERT INTO mso_catalog.network_resource_customization ( -- <<<2 - model_customization_uuid, - model_instance_name, - creation_timestamp, - network_resource_model_uuid, - network_type -) - SELECT - a.model_customization_uuid, - a.model_instance_name, - a.creation_timestamp, - a.model_uuid, - a.network_type - FROM mso_catalog.nrctemp a; - --- DROP temp table later, after network_resource uses it <<<2 - --- >>>1 - --- network_resource * <<<1 -CREATE TABLE `mso_catalog`.`nrtemp` ( -- <<<2 - `MODEL_NAME` VARCHAR(200) NOT NULL, - `ORCHESTRATION_MODE` varchar(20) DEFAULT NULL, - `DESCRIPTION` varchar(1200) DEFAULT NULL, - `NEUTRON_NETWORK_TYPE` varchar(20) DEFAULT NULL, - `CREATION_TIMESTAMP` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, - `MODEL_VERSION` VARCHAR(20) NULL DEFAULT NULL, - `AIC_VERSION_MIN` varchar(20) NOT NULL, - `AIC_VERSION_MAX` varchar(20) DEFAULT NULL, - `MODEL_INVARIANT_UUID` VARCHAR(200) NULL DEFAULT NULL, - `TOSCA_NODE_TYPE` VARCHAR(200) NULL DEFAULT NULL, - `TEMPLATE_ID` VARCHAR(200) - ) -ENGINE = InnoDB -DEFAULT CHARACTER SET = latin1; - --- E2E-CreationTimestamp <<<2 --- ERROR 1292 (22007) at line 675: Incorrect datetime value: '0000-00-00 00:00:00' for column 'CREATION_TIMESTAMP' at row 1 -UPDATE `mso_catalog`.`network_resource` set CREATION_TIMESTAMP = now() where cast(`CREATION_TIMESTAMP` as char(20)) = '0000-00-00 00:00:00'; --- >>>2 - -INSERT INTO mso_catalog.nrtemp ( -- <<<2 - MODEL_NAME, - ORCHESTRATION_MODE, - DESCRIPTION, - NEUTRON_NETWORK_TYPE, - CREATION_TIMESTAMP, - MODEL_VERSION, - AIC_VERSION_MIN, - AIC_VERSION_MAX, - TEMPLATE_ID -) - SELECT - NETWORK_TYPE, - ORCHESTRATION_MODE, - DESCRIPTION, - NEUTRON_NETWORK_TYPE, - CREATION_TIMESTAMP, - VERSION_STR, - AIC_VERSION_MIN, - AIC_VERSION_MAX, - TEMPLATE_ID - FROM mso_catalog.network_resource; - -DELETE FROM mso_catalog.network_resource; -- <<<2 - -ALTER TABLE `mso_catalog`.`network_resource` -- <<<2 -DROP COLUMN `id`, -CHANGE COLUMN `VERSION_STR` `MODEL_VERSION` VARCHAR(20) NULL DEFAULT NULL, -CHANGE COLUMN `TEMPLATE_ID` `HEAT_TEMPLATE_ARTIFACT_UUID` VARCHAR(200) NOT NULL, -CHANGE COLUMN `NETWORK_TYPE` `MODEL_NAME` VARCHAR(200) NOT NULL, -CHANGE COLUMN `NEUTRON_NETWORK_TYPE` `NEUTRON_NETWORK_TYPE` VARCHAR(20) NULL DEFAULT NULL, -CHANGE COLUMN `ORCHESTRATION_MODE` `ORCHESTRATION_MODE` VARCHAR(20) NULL DEFAULT 'HEAT' AFTER `AIC_VERSION_MAX`, -CHANGE COLUMN `CREATION_TIMESTAMP` `CREATION_TIMESTAMP` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP AFTER `ORCHESTRATION_MODE`, -ADD COLUMN `MODEL_UUID` VARCHAR(200) NOT NULL FIRST, -ADD COLUMN `MODEL_INVARIANT_UUID` VARCHAR(200) NULL DEFAULT NULL AFTER `MODEL_NAME`, -ADD COLUMN `TOSCA_NODE_TYPE` VARCHAR(200) NULL DEFAULT NULL AFTER `MODEL_VERSION`, -DROP PRIMARY KEY, -ADD PRIMARY KEY (`MODEL_UUID`), -ADD INDEX `fk_network_resource__temp_network_heat_template_lookup1_idx` (`MODEL_NAME` ASC), -ADD INDEX `fk_network_resource__heat_template1_idx` (`HEAT_TEMPLATE_ARTIFACT_UUID` ASC), -DROP INDEX `UK_e5vlpk2xorqk7ogtg6wgw2eo6` ; - -INSERT INTO mso_catalog.network_resource ( -- <<<2 - model_name, - orchestration_mode, - description, - heat_template_artifact_uuid, - neutron_network_type, - creation_timestamp, - model_version, - aic_version_min, - aic_version_max, - model_uuid, - model_invariant_uuid -) - SELECT DISTINCT - ht2.model_name, - a.ORCHESTRATION_MODE, - a.DESCRIPTION, - ht1.ARTIFACT_UUID, - a.NEUTRON_NETWORK_TYPE, - a.CREATION_TIMESTAMP, - ht2.model_version, - a.AIC_VERSION_MIN, - a.AIC_VERSION_MAX, - ht2.model_uuid, - ht2.model_invariant_uuid - FROM mso_catalog.nrtemp a - JOIN mso_catalog.heat_template ht1 ON a.template_id = ht1.id - JOIN mso_catalog.nrctemp ht2 ON a.model_name = ht2.model_name - GROUP BY a.model_name; - -DROP TABLE IF EXISTS mso_catalog.nrtemp; -- <<<2 - -DROP TABLE IF EXISTS mso_catalog.nrctemp; -- <<<2 - --- >>>1 - --- VRC2VMC vnf_res_custom_to_vf_module_custom <<<1 -CREATE TABLE IF NOT EXISTS `mso_catalog`.`vnf_res_custom_to_vf_module_custom` ( -- <<<2 - `VNF_RESOURCE_CUST_MODEL_CUSTOMIZATION_UUID` VARCHAR(200) NOT NULL, - `VF_MODULE_CUST_MODEL_CUSTOMIZATION_UUID` VARCHAR(200) NOT NULL, - `CREATION_TIMESTAMP` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`VNF_RESOURCE_CUST_MODEL_CUSTOMIZATION_UUID`, `VF_MODULE_CUST_MODEL_CUSTOMIZATION_UUID`), - INDEX `fk_vnf_res_custom_to_vf_module_custom__vf_module_customizat_idx` (`VF_MODULE_CUST_MODEL_CUSTOMIZATION_UUID` ASC), - CONSTRAINT `fk_vnf_res_custom_to_vf_module_custom__vf_module_customization1` - FOREIGN KEY (`VF_MODULE_CUST_MODEL_CUSTOMIZATION_UUID`) - REFERENCES `mso_catalog`.`vf_module_customization` (`MODEL_CUSTOMIZATION_UUID`) - ON DELETE CASCADE - ON UPDATE CASCADE, - CONSTRAINT `fk_vnf_res_custom_to_vf_module_custom__vnf_resource_customiza1` - FOREIGN KEY (`VNF_RESOURCE_CUST_MODEL_CUSTOMIZATION_UUID`) - REFERENCES `mso_catalog`.`vnf_resource_customization` (`MODEL_CUSTOMIZATION_UUID`) - ON DELETE CASCADE - ON UPDATE CASCADE) -ENGINE = InnoDB -DEFAULT CHARACTER SET = latin1; - -INSERT INTO mso_catalog.vnf_res_custom_to_vf_module_custom ( -- 6sc aka 8c <<<2 - vnf_resource_cust_model_customization_uuid, - vf_module_cust_model_customization_uuid, - creation_timestamp -) - SELECT DISTINCT - a.model_customization_uuid, - b.model_customization_uuid, - now() - FROM - mso_catalog.vnf_resource a, - mso_catalog.vf_module b - WHERE a.id = b.vnf_resource_id; --- >>>1 - --- VR vnf_resource After vrc2vmc and vrc ^ <<<1 --- ERROR 1292 (22007) : Incorrect datetime value: '0000-00-00 00:00:00' for column 'CREATION_TIMESTAMP' <<<2 -UPDATE `mso_catalog`.`vnf_resource` set CREATION_TIMESTAMP = now() where cast(`CREATION_TIMESTAMP` as char(20)) = '0000-00-00 00:00:00'; - -ALTER TABLE `mso_catalog`.`vnf_resource` -- after vrc2vmc and vrc ^ <<<2 -MODIFY `id` INT, -DROP COLUMN `MODEL_CUSTOMIZATION_UUID`, -DROP COLUMN `SERVICE_MODEL_INVARIANT_UUID`, -DROP COLUMN `MODEL_CUSTOMIZATION_NAME`, -DROP COLUMN `VNF_TYPE`, -DROP COLUMN `ASDC_SERVICE_MODEL_VERSION`, -DROP COLUMN `ENVIRONMENT_ID`, -DROP COLUMN `VERSION`, -DROP COLUMN `VNF_NAME`, -CHANGE COLUMN `DESCRIPTION` `DESCRIPTION` VARCHAR(1200) NULL DEFAULT NULL, -CHANGE COLUMN `ORCHESTRATION_MODE` `ORCHESTRATION_MODE` VARCHAR(20) NOT NULL DEFAULT 'HEAT', -CHANGE COLUMN `AIC_VERSION_MIN` `AIC_VERSION_MIN` VARCHAR(20) NULL DEFAULT NULL, -CHANGE COLUMN `AIC_VERSION_MAX` `AIC_VERSION_MAX` VARCHAR(20) NULL DEFAULT NULL, -CHANGE COLUMN `CREATION_TIMESTAMP` `CREATION_TIMESTAMP` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, -CHANGE COLUMN `ASDC_UUID` `MODEL_UUID` VARCHAR(200) NOT NULL , -ADD COLUMN `TOSCA_NODE_TYPE` VARCHAR(200) NULL DEFAULT NULL, -ADD COLUMN `HEAT_TEMPLATE_ARTIFACT_UUID` VARCHAR(200) NULL DEFAULT NULL, -DROP PRIMARY KEY, -ADD INDEX `fk_vnf_resource__heat_template1_idx` (`HEAT_TEMPLATE_ARTIFACT_UUID` ASC), -DROP INDEX `UK_model_customization_uuid__asdc_service_model_version`, -DROP INDEX `UK_k10a0w7h4t0lnbynd3inkg67k`; - -UPDATE mso_catalog.vnf_resource a -- * <<<2 - LEFT JOIN mso_catalog.heat_template ht1 ON a.template_id = ht1.id -SET - heat_template_artifact_uuid = ht1.artifact_uuid; - --- Eliminate duplicates <<<2 -CREATE TABLE `mso_catalog`.`vrtemp` AS - -SELECT vr.* FROM `mso_catalog`.`vnf_resource` vr -WHERE vr.id NOT IN (SELECT vnfs FROM mso_catalog.req5temp) -GROUP BY MODEL_UUID; - -DROP TABLE `mso_catalog`.`vnf_resource`; -RENAME TABLE `mso_catalog`.`vrtemp` TO `mso_catalog`.`vnf_resource`; --- >>>1 - --- VF vf_module after VRC2VMC and VMC ^ <<<1 -CREATE TABLE IF NOT EXISTS `mso_catalog`.`vftemp` ( -- <<<2 - `id` int(11) NOT NULL, - `MODEL_UUID` VARCHAR(200) NOT NULL, - `MODEL_INVARIANT_UUID` VARCHAR(200) NULL DEFAULT NULL, - `MODEL_VERSION` VARCHAR(20) NOT NULL, - `MODEL_NAME` VARCHAR(200) NOT NULL, - `DESCRIPTION` VARCHAR(1200) NULL DEFAULT NULL, - `IS_BASE` INT(11) NOT NULL, - `HEAT_TEMPLATE_ARTIFACT_UUID` VARCHAR(200), - `VOL_HEAT_TEMPLATE_ARTIFACT_UUID` VARCHAR(200) NULL DEFAULT NULL, - `CREATION_TIMESTAMP` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, - `VNF_RESOURCE_MODEL_UUID` VARCHAR(200) - ) ENGINE = InnoDB DEFAULT CHARACTER SET = latin1; - -INSERT INTO mso_catalog.vftemp ( -- <<<2 - id, -- <<<3 - model_uuid, - is_base, - model_name, - model_version, - creation_timestamp, - description, - heat_template_artifact_uuid, - vol_heat_template_artifact_uuid, - vnf_resource_model_uuid, - model_invariant_uuid -- >>>3 -) - SELECT - a.id, -- <<<3 - a.asdc_uuid, - a.is_base, - a.model_name, - a.model_version, - a.creation_timestamp, - a.description, - ht1.artifact_uuid heat_template_artifact_uuid, - ht2.artifact_uuid vol_heat_template_artifact_uuid, - vr1.model_uuid vnf_resource_model_uuid, - a.model_invariant_uuid -- >>>3 - FROM - (SELECT * FROM mso_catalog.vf_module) AS a - LEFT JOIN (SELECT * FROM mso_catalog.heat_template) AS ht1 ON a.template_id = ht1.id - LEFT JOIN (SELECT * FROM mso_catalog.heat_template) AS ht2 ON a.vol_template_id = ht2.id - JOIN (SELECT * FROM mso_catalog.vnf_resource) AS vr1 ON a.vnf_resource_id = vr1.id; - -DELETE FROM mso_catalog.vf_module; -- <<<2 - -ALTER TABLE `mso_catalog`.`vf_module` -- after vftemp vrc2vmc and vmc <<<2 -DROP COLUMN `LABEL`, -DROP COLUMN `INITIAL_COUNT`, -DROP COLUMN `MAX_INSTANCES`, -DROP COLUMN `MIN_INSTANCES`, -DROP COLUMN `MODEL_CUSTOMIZATION_UUID`, -DROP COLUMN `TYPE`, -DROP COLUMN `ASDC_SERVICE_MODEL_VERSION`, -DROP COLUMN `ENVIRONMENT_ID`, -DROP COLUMN `VNF_RESOURCE_ID`, -DROP COLUMN `VOL_ENVIRONMENT_ID`, -CHANGE COLUMN `id` `id` INT(11), -CHANGE COLUMN `MODEL_INVARIANT_UUID` `MODEL_INVARIANT_UUID` VARCHAR(200) NULL DEFAULT NULL AFTER `MODEL_UUID`, -CHANGE COLUMN `MODEL_VERSION` `MODEL_VERSION` VARCHAR(20) NOT NULL AFTER `MODEL_INVARIANT_UUID`, -CHANGE COLUMN `IS_BASE` `IS_BASE` INT(11) NOT NULL AFTER `DESCRIPTION`, -CHANGE COLUMN `TEMPLATE_ID` `HEAT_TEMPLATE_ARTIFACT_UUID` VARCHAR(200) NULL DEFAULT NULL AFTER `IS_BASE`, -CHANGE COLUMN `CREATION_TIMESTAMP` `CREATION_TIMESTAMP` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP AFTER `VOL_HEAT_TEMPLATE_ARTIFACT_UUID`, -CHANGE COLUMN `ASDC_UUID` `MODEL_UUID` VARCHAR(200) NOT NULL , -CHANGE COLUMN `DESCRIPTION` `DESCRIPTION` VARCHAR(1200) NULL DEFAULT NULL , -CHANGE COLUMN `VOL_TEMPLATE_ID` `VOL_HEAT_TEMPLATE_ARTIFACT_UUID` VARCHAR(200) NULL DEFAULT NULL , -ADD COLUMN `VNF_RESOURCE_MODEL_UUID` VARCHAR(200) NOT NULL AFTER `CREATION_TIMESTAMP`, -DROP PRIMARY KEY, -ADD INDEX `fk_vf_module__vnf_resource1_idx` (`VNF_RESOURCE_MODEL_UUID` ASC), -ADD INDEX `fk_vf_module__heat_template_art_uuid__heat_template1_idx` (`HEAT_TEMPLATE_ARTIFACT_UUID` ASC), -ADD INDEX `fk_vf_module__vol_heat_template_art_uuid__heat_template2_idx` (`VOL_HEAT_TEMPLATE_ARTIFACT_UUID` ASC), -DROP INDEX `UK_model_customization_uuid__asdc_service_model_version` , -DROP INDEX `UK_o3bvdqspginaxlp4gxqohd44l` ; - -INSERT INTO mso_catalog.vf_module ( -- <<<2 - id, -- <<<3 - model_uuid, - is_base, - model_name, - model_version, - creation_timestamp, - description, - heat_template_artifact_uuid, - vol_heat_template_artifact_uuid, - vnf_resource_model_uuid, - model_invariant_uuid -- >>>3 -) - SELECT - id, -- <<<3 - model_uuid, - is_base, - model_name, - model_version, - creation_timestamp, - description, - heat_template_artifact_uuid, - vol_heat_template_artifact_uuid, - vnf_resource_model_uuid, - model_invariant_uuid -- >>>3 - FROM - mso_catalog.vftemp; - --- DROP vftemp later <<<2 - --- >>>1 - --- vnf_components_recipe AFTER vf_module ^ <<<1 -CREATE TABLE `mso_catalog`.`vcrtemp` ( -- <<<2 - `id` int(11) NOT NULL, - `VNF_TYPE` varchar(200) DEFAULT NULL, - `VNF_COMPONENT_TYPE` varchar(45) NOT NULL, - `ACTION` varchar(20) NOT NULL, - `SERVICE_TYPE` varchar(45) DEFAULT NULL, - `VERSION` varchar(20) DEFAULT NULL, - `DESCRIPTION` varchar(1200) DEFAULT NULL, - `ORCHESTRATION_URI` varchar(256) NOT NULL, - `VNF_COMPONENT_PARAM_XSD` varchar(2048) DEFAULT NULL, - `RECIPE_TIMEOUT` int(11) DEFAULT NULL, - `CREATION_TIMESTAMP` datetime DEFAULT CURRENT_TIMESTAMP, - `VF_MODULE_MODEL_UUID` VARCHAR(200) NULL DEFAULT NULL - ) ENGINE = InnoDB DEFAULT CHARACTER SET = latin1; - -INSERT INTO mso_catalog.vcrtemp ( -- <<<2 - id, -- <<<3 - VNF_TYPE, - VNF_COMPONENT_TYPE, - ACTION, - SERVICE_TYPE, - VERSION, - DESCRIPTION, - ORCHESTRATION_URI, - VNF_COMPONENT_PARAM_XSD, - RECIPE_TIMEOUT, - CREATION_TIMESTAMP, - VF_MODULE_MODEL_UUID -- >>>3 -) - SELECT - a.id, -- <<<3 - a.VNF_TYPE, - a.VNF_COMPONENT_TYPE, - a.ACTION, - a.SERVICE_TYPE, - a.VERSION, - a.DESCRIPTION, - a.ORCHESTRATION_URI, - a.VNF_COMPONENT_PARAM_XSD, - a.RECIPE_TIMEOUT, - a.CREATION_TIMESTAMP, - COALESCE(ht1.model_uuid, a.vf_module_id) VF_MODULE_MODEL_UUID -- >>>3 - FROM mso_catalog.vnf_components_recipe a - LEFT JOIN mso_catalog.vftemp ht1 ON a.vf_module_id = CONVERT(ht1.id, CHAR(100)); - --- DROP vftemp later <<<2 - -DELETE FROM mso_catalog.vnf_components_recipe; -- <<<2 - -ALTER TABLE `mso_catalog`.`vnf_components_recipe` -- <<<2 -CHANGE COLUMN `VF_MODULE_ID` `VF_MODULE_MODEL_UUID` VARCHAR(200) NULL DEFAULT NULL; - -INSERT INTO mso_catalog.vnf_components_recipe SELECT * FROM mso_catalog.vcrtemp; -- <<<2 - -DROP TABLE IF EXISTS mso_catalog.vcrtemp; -- <<<2 - --- >>>1 - --- vf_module_to_heat_files AFTER vf_module heat_files ^ <<<1 -CREATE TABLE `mso_catalog`.`vmthftemp` ( -- <<<2 - VF_MODULE_MODEL_UUID VARCHAR(200) NOT NULL, - HEAT_FILES_ARTIFACT_UUID VARCHAR(200) NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - -INSERT INTO mso_catalog.vmthftemp ( -- <<<2 - VF_MODULE_MODEL_UUID, - HEAT_FILES_ARTIFACT_UUID -) - SELECT DISTINCT - ht1.model_uuid, - ht2.artifact_uuid - FROM mso_catalog.vf_module_to_heat_files a - JOIN mso_catalog.vftemp ht1 ON a.vf_module_id = CONVERT(ht1.id, CHAR(100)) - JOIN mso_catalog.heat_files ht2 ON a.HEAT_FILES_ID = ht2.id; - -DROP TABLE IF EXISTS mso_catalog.vftemp; -- <<<2 - -DELETE FROM mso_catalog.vf_module_to_heat_files; -- <<<2 - -ALTER TABLE `mso_catalog`.`vf_module_to_heat_files` -- <<<2 -CHANGE COLUMN `VF_MODULE_ID` `VF_MODULE_MODEL_UUID` VARCHAR(200) NOT NULL , -CHANGE COLUMN `HEAT_FILES_ID` `HEAT_FILES_ARTIFACT_UUID` VARCHAR(200) NOT NULL , -ADD INDEX `fk_vf_module_to_heat_files__heat_files__artifact_uuid1_idx` (`HEAT_FILES_ARTIFACT_UUID` ASC); - -INSERT INTO mso_catalog.vf_module_to_heat_files SELECT * FROM mso_catalog.vmthftemp; -- <<<2 - -DROP TABLE IF EXISTS mso_catalog.vmthftemp; -- <<<2 - --- >>>1 - --- S2RC service_to_resource_customizations` <<<1 -CREATE TABLE IF NOT EXISTS `mso_catalog`.`service_to_resource_customizations` ( -- V <<<2 - `SERVICE_MODEL_UUID` VARCHAR(200) NOT NULL, - `RESOURCE_MODEL_CUSTOMIZATION_UUID` VARCHAR(200) NOT NULL, - `MODEL_TYPE` VARCHAR(20) NOT NULL, - `CREATION_TIMESTAMP` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, - INDEX `fk_service_to_resource_cust__service_model_uuid_idx` (`SERVICE_MODEL_UUID` ASC), - PRIMARY KEY (`SERVICE_MODEL_UUID`, `RESOURCE_MODEL_CUSTOMIZATION_UUID`, `MODEL_TYPE`), - INDEX `fk_service_to_resource_cust__resource_model_customiz_uuid_idx` (`RESOURCE_MODEL_CUSTOMIZATION_UUID` ASC), - CONSTRAINT `fk_service_to_resource_cust__service__model_uuid0` - FOREIGN KEY (`SERVICE_MODEL_UUID`) - REFERENCES `mso_catalog`.`service` (`MODEL_UUID`) - ON DELETE CASCADE - ON UPDATE CASCADE - ) ENGINE = InnoDB DEFAULT CHARACTER SET = latin1; - -INSERT INTO mso_catalog.service_to_resource_customizations ( -- 4sc * <<<2 - service_model_uuid, - resource_model_customization_uuid, - model_type -) - SELECT - a.service_model_uuid, - a.network_model_customization_uuid, - "network" - FROM - mso_catalog.service_to_networks a; - -INSERT INTO mso_catalog.service_to_resource_customizations ( -- 5sc * <<<2 - service_model_uuid, - resource_model_customization_uuid, - model_type -) - SELECT - a.service_model_uuid, - a.ar_model_customization_uuid, - "allottedResource" - FROM - mso_catalog.service_to_allotted_resources a; - -INSERT INTO mso_catalog.service_to_resource_customizations ( -- 8a * <<<2 - service_model_uuid, - resource_model_customization_uuid, - model_type -) - SELECT - ht1.model_uuid, - a.model_customization_uuid, - "vnf" - FROM mso_catalog.vnftemp a - JOIN mso_catalog.service AS ht1 ON - a.service_model_invariant_uuid = ht1.model_invariant_uuid AND - a.asdc_service_model_version = ht1.model_version; - -ALTER TABLE `mso_catalog`.`service` -- * <<<2 -DROP COLUMN `SERVICE_VERSION`; - -DROP TABLE IF EXISTS mso_catalog.vnftemp; -- <<<2 - --- >>>1 - -CREATE TABLE IF NOT EXISTS `mso_catalog`.`tosca_csar` ( -- C <<<1 - `ARTIFACT_UUID` VARCHAR(200) NOT NULL, - `NAME` VARCHAR(200) NOT NULL, - `VERSION` VARCHAR(20) NOT NULL, - `DESCRIPTION` VARCHAR(1200) NULL DEFAULT NULL, - `ARTIFACT_CHECKSUM` VARCHAR(200) NOT NULL, - `URL` VARCHAR(200) NOT NULL, - `CREATION_TIMESTAMP` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`ARTIFACT_UUID`)) -ENGINE = InnoDB -DEFAULT CHARACTER SET = latin1; --- >>>1 - --- 5 aka 8d delete each asdc_uuid except highest ASDC_SERVICE_MODEL_VERSION vnf_resource and cascade vf_module * <<<1 --- DELETE FROM mso_catalog.vnf_resource WHERE id = ANY(SELECT vnfs FROM mso_catalog.req5temp); -DELETE FROM mso_catalog.vf_module WHERE id = ANY(SELECT vfs FROM mso_catalog.req5temp); -DROP TABLE mso_catalog.req5temp; --- >>>1 - -DROP TABLE IF EXISTS `mso_catalog`.`service_to_networks` ; -- D <<<1 - -DROP TABLE IF EXISTS `mso_catalog`.`service_to_allotted_resources` ; -- D <<<1 - --- >>>1 - --- Drop ID's <<<1 -ALTER TABLE `mso_catalog`.`heat_template` DROP COLUMN `id`; -ALTER TABLE `mso_catalog`.`heat_files` DROP COLUMN `id`; -ALTER TABLE `mso_catalog`.`service` DROP COLUMN `id`; -ALTER TABLE `mso_catalog`.`vnf_resource` DROP COLUMN `id`; -ALTER TABLE `mso_catalog`.`vf_module` DROP COLUMN `id`; --- >>>1 - --- FOREIGN KEYS <<<1 -ALTER TABLE `mso_catalog`.`heat_nested_template` -- K <<<2 -ADD CONSTRAINT `fk_heat_nested_template__parent_heat_temp_uuid__heat_template1` - FOREIGN KEY (`PARENT_HEAT_TEMPLATE_UUID`) - REFERENCES `mso_catalog`.`heat_template` (`ARTIFACT_UUID`) - ON DELETE CASCADE - ON UPDATE CASCADE, -ADD CONSTRAINT `fk_heat_nested_template__child_heat_temp_uuid__heat_template1` - FOREIGN KEY (`CHILD_HEAT_TEMPLATE_UUID`) - REFERENCES `mso_catalog`.`heat_template` (`ARTIFACT_UUID`) - ON DELETE CASCADE - ON UPDATE CASCADE; - -ALTER TABLE `mso_catalog`.`heat_template_params` -- K <<<2 -ADD CONSTRAINT `fk_heat_template_params__heat_template1` - FOREIGN KEY (`HEAT_TEMPLATE_ARTIFACT_UUID`) - REFERENCES `mso_catalog`.`heat_template` (`ARTIFACT_UUID`) - ON DELETE CASCADE - ON UPDATE CASCADE; - -ALTER TABLE `mso_catalog`.`service` -- K <<<2 -ADD CONSTRAINT `fk_service__tosca_csar1` - FOREIGN KEY (`TOSCA_CSAR_ARTIFACT_UUID`) - REFERENCES `mso_catalog`.`tosca_csar` (`ARTIFACT_UUID`) - ON DELETE CASCADE - ON UPDATE CASCADE; - -ALTER TABLE `mso_catalog`.`service_recipe` -- K <<<2 -ADD CONSTRAINT `fk_service_recipe__service1` - FOREIGN KEY (`SERVICE_MODEL_UUID`) - REFERENCES `mso_catalog`.`service` (`MODEL_UUID`) - ON DELETE CASCADE - ON UPDATE CASCADE; - -ALTER TABLE `mso_catalog`.`vnf_resource` -- K <<<2 - ADD PRIMARY KEY (`MODEL_UUID`), - DROP COLUMN `TEMPLATE_ID`, -ADD CONSTRAINT `fk_vnf_resource__heat_template1` - FOREIGN KEY (`HEAT_TEMPLATE_ARTIFACT_UUID`) - REFERENCES `mso_catalog`.`heat_template` (`ARTIFACT_UUID`) - ON DELETE CASCADE - ON UPDATE CASCADE; - -ALTER TABLE `mso_catalog`.`vf_module` -- K <<<2 -ADD PRIMARY KEY (`MODEL_UUID`, `VNF_RESOURCE_MODEL_UUID`), -ADD CONSTRAINT `fk_vf_module__vnf_resource1` - FOREIGN KEY (`VNF_RESOURCE_MODEL_UUID`) - REFERENCES `mso_catalog`.`vnf_resource` (`MODEL_UUID`) - ON DELETE CASCADE - ON UPDATE CASCADE, -ADD CONSTRAINT `fk_vf_module__heat_template_art_uuid__heat_template1` - FOREIGN KEY (`HEAT_TEMPLATE_ARTIFACT_UUID`) - REFERENCES `mso_catalog`.`heat_template` (`ARTIFACT_UUID`) - ON DELETE CASCADE - ON UPDATE CASCADE, -ADD CONSTRAINT `fk_vf_module__vol_heat_template_art_uuid__heat_template2` - FOREIGN KEY (`VOL_HEAT_TEMPLATE_ARTIFACT_UUID`) - REFERENCES `mso_catalog`.`heat_template` (`ARTIFACT_UUID`) - ON DELETE CASCADE - ON UPDATE CASCADE; - -ALTER TABLE `mso_catalog`.`vf_module_customization` -- after vf_module K <<<2 - ADD CONSTRAINT `fk_vf_module_customization__vf_module1` - FOREIGN KEY (`VF_MODULE_MODEL_UUID`) - REFERENCES `mso_catalog`.`vf_module` (`MODEL_UUID`) - ON DELETE CASCADE - ON UPDATE CASCADE; - -ALTER TABLE `mso_catalog`.`vf_module_to_heat_files` -- K <<<2 -ADD CONSTRAINT `fk_vf_module_to_heat_files__heat_files__artifact_uuid1` - FOREIGN KEY (`HEAT_FILES_ARTIFACT_UUID`) - REFERENCES `mso_catalog`.`heat_files` (`ARTIFACT_UUID`) - ON DELETE CASCADE - ON UPDATE CASCADE, -ADD CONSTRAINT `fk_vf_module_to_heat_files__vf_module__model_uuid1` - FOREIGN KEY (`VF_MODULE_MODEL_UUID`) - REFERENCES `mso_catalog`.`vf_module` (`MODEL_UUID`) - ON DELETE CASCADE - ON UPDATE CASCADE; - -ALTER TABLE `mso_catalog`.`allotted_resource_customization` -- K <<<2 -ADD CONSTRAINT `fk_allotted_resource_customization__allotted_resource1` - FOREIGN KEY (`AR_MODEL_UUID`) - REFERENCES `mso_catalog`.`allotted_resource` (`MODEL_UUID`) - ON DELETE CASCADE - ON UPDATE CASCADE; - -ALTER TABLE `mso_catalog`.`network_resource` -- K <<<2 -ADD CONSTRAINT `fk_network_resource__temp_network_heat_template_lookup__mod_nm1` - FOREIGN KEY (`MODEL_NAME`) - REFERENCES `mso_catalog`.`temp_network_heat_template_lookup` (`NETWORK_RESOURCE_MODEL_NAME`) - ON DELETE NO ACTION - ON UPDATE NO ACTION, -ADD CONSTRAINT `fk_network_resource__heat_template1` - FOREIGN KEY (`HEAT_TEMPLATE_ARTIFACT_UUID`) - REFERENCES `mso_catalog`.`heat_template` (`ARTIFACT_UUID`) - ON DELETE RESTRICT - ON UPDATE CASCADE; - -ALTER TABLE `mso_catalog`.`network_resource_customization` -- K <<<2 -ADD CONSTRAINT `fk_network_resource_customization__network_resource1` - FOREIGN KEY (`NETWORK_RESOURCE_MODEL_UUID`) - REFERENCES `mso_catalog`.`network_resource` (`MODEL_UUID`) - ON DELETE CASCADE - ON UPDATE CASCADE; - -ALTER TABLE `mso_catalog`.`vnf_resource_customization` -- K <<<2 -ADD CONSTRAINT `fk_vnf_resource_customization__vnf_resource1` - FOREIGN KEY (`VNF_RESOURCE_MODEL_UUID`) - REFERENCES `mso_catalog`.`vnf_resource` (`MODEL_UUID`) - ON DELETE CASCADE - ON UPDATE CASCADE; --- >>>1 - --- turn validation back on <<<1 -SET SQL_MODE=@OLD_SQL_MODE; -SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; -SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS; - -COMMIT; --- >>>1 - -/* -This file uses folds, set by last line. - -While reading this file, lines with the + are folded. - To unfold all: zR - To fold all: zM - -Move cursor to folded line: type in commands... - Toggle folding: za - Recursively: zA - -Vim help about folding -:help fold -*/ --- vim:foldmarker=<<<,>>>:foldenable:foldmethod=marker |