aboutsummaryrefslogtreecommitdiffstats
path: root/adapters/mso-catalog-db-adapter/src/main/resources/db
diff options
context:
space:
mode:
authorBenjamin, Max (mb388a) <mb388a@us.att.com>2018-07-30 15:56:09 -0400
committerBenjamin, Max (mb388a) <mb388a@us.att.com>2018-07-31 11:09:25 -0400
commit5a6a6de6f1a26a1897e4917a0df613e25a24eb70 (patch)
tree59a968f27b4b603aacc9d5e7b51fb598aeec5321 /adapters/mso-catalog-db-adapter/src/main/resources/db
parentb6dc38501f3b746426b42d9de4cc883d894149e8 (diff)
Containerization feature of SO
Change-Id: I95381232eeefcd247a66a5cec370a8ce1c288e18 Issue-ID: SO-670 Signed-off-by: Benjamin, Max (mb388a) <mb388a@us.att.com>
Diffstat (limited to 'adapters/mso-catalog-db-adapter/src/main/resources/db')
-rw-r--r--adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V1810.1__AddModelAndModelRecipe.sql31
-rw-r--r--adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V1__Base_version.sql343
-rw-r--r--adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.0.0__Modify_Resource_Relationships.sql247
-rw-r--r--adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.0.1__Modify_Resource_Relationships_Alters.sql208
-rw-r--r--adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.10__VNFCInstanceGroupChanges.sql7
-rw-r--r--adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.11__Modify_IS_Base_Type.sql4
-rw-r--r--adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.12__UpdateMacroReferenceData_Homing.sql4
-rw-r--r--adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.13__Alter_external_service_to_internal_model_mapping.sql4
-rw-r--r--adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.14__DeactivateAndCloudDelete.sql10
-rw-r--r--adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.15__Orchestration_Status_Valid_Action_State_Transition_Table_Updates.sql93
-rw-r--r--adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.16__Remove_Orchestration_Flow_Reference_FK_To_Building_Block_Detail_Pre_New_Solution.sql4
-rw-r--r--adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.17__DeactivateAndCloudDeleteChanges.sql8
-rw-r--r--adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.18__AlterVNFRecipeVnfTypeColumnName.sql9
-rw-r--r--adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.1__Update_Recipe_For_API_Flag.sql34
-rw-r--r--adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.2__ONAP_TABLE_CHANGES.sql30
-rw-r--r--adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.3__MacroTableChanges.sql24
-rw-r--r--adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.4__MacroReferenceData1806.sql130
-rw-r--r--adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.5__RainyDayHandlerMacroData.sql45
-rw-r--r--adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.6__NorthboundAddTopLevelFlow.sql28
-rw-r--r--adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.7__VNFCInstanceGroup1806.sql57
-rw-r--r--adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.8__OrchestrationStatus_ValidActionStateTransition.sql398
-rw-r--r--adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.9__UpdateIsTopLevelFlowColumn.sql4
-rw-r--r--adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V3.1__AddServiceMacroDeactivateToMacroTables.sql7
-rw-r--r--adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V3.2__ChangeMINApiVersionInNorthbound.sql5
-rw-r--r--adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V3.3__ChangeMINApiVersionServiceMacroDeactivate.sql3
-rw-r--r--adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V3.4__AddUpdateNetworkALaCarte.sql20
-rw-r--r--adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V3.5__PointGrApiDefault_To_UpdateVfModuleVolumeInfraV1.sql4
-rw-r--r--adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V3.6__UpdateNetworkCollectionCatalogDB.sql38
-rw-r--r--adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V3.7__FixDeactivateNetworkCollection.sql5
-rw-r--r--adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V3.8__UnassignFabricConfigurationData.sql31
-rw-r--r--adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V3.9__DropCRModelUUID_FK.sql3
31 files changed, 1838 insertions, 0 deletions
diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V1810.1__AddModelAndModelRecipe.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V1810.1__AddModelAndModelRecipe.sql
new file mode 100644
index 0000000000..0042888117
--- /dev/null
+++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V1810.1__AddModelAndModelRecipe.sql
@@ -0,0 +1,31 @@
+USE catalogdb;
+
+create table if not exists model_recipe (
+ `ID` INT(11) NOT NULL AUTO_INCREMENT,
+ `MODEL_ID` INT(11),
+ `ACTION` VARCHAR(40),
+ `SCHEMA_VERSION` VARCHAR(40),
+ `DESCRIPTION` VARCHAR(40),
+ `ORCHESTRATION_URI` VARCHAR(20),
+ `MODEL_PARAM_XSD` VARCHAR(20),
+ `RECIPE_TIMEOUT` INT(11),
+ `CREATION_TIMESTAMP` datetime not null default current_timestamp,
+ PRIMARY KEY (`ID`),
+ CONSTRAINT uk1_model_recipe UNIQUE (`MODEL_ID`, `ACTION`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+create table if not exists model (
+ `ID` INT(11) NOT NULL AUTO_INCREMENT,
+ `MODEL_CUSTOMIZATION_ID` VARCHAR(40),
+ `MODEL_CUSTOMIZATION_NAME` VARCHAR(40),
+ `MODEL_INVARIANT_ID` VARCHAR(40),
+ `MODEL_NAME` VARCHAR(40),
+ `MODEL_TYPE` VARCHAR(20),
+ `MODEL_VERSION` VARCHAR(20),
+ `MODEL_VERSION_ID` VARCHAR(40),
+ `CREATION_TIMESTAMP` datetime not null default current_timestamp,
+ `RECIPE` INT(11),
+ PRIMARY KEY (`ID`),
+ CONSTRAINT uk1_model UNIQUE (`MODEL_TYPE`, `MODEL_VERSION_ID`),
+ FOREIGN KEY (`RECIPE`) REFERENCES `model_recipe` (`MODEL_ID`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=latin1; \ No newline at end of file
diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V1__Base_version.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V1__Base_version.sql
new file mode 100644
index 0000000000..d603146d73
--- /dev/null
+++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V1__Base_version.sql
@@ -0,0 +1,343 @@
+
+USE `catalogdb`;
+
+CREATE TABLE `allotted_resource` (
+ `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) DEFAULT NULL,
+ `SUBCATEGORY` varchar(200) DEFAULT NULL,
+ `DESCRIPTION` varchar(1200) DEFAULT NULL,
+ `CREATION_TIMESTAMP` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ PRIMARY KEY (`MODEL_UUID`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+CREATE TABLE `allotted_resource_customization` (
+ `MODEL_CUSTOMIZATION_UUID` varchar(200) NOT NULL,
+ `MODEL_INSTANCE_NAME` varchar(200) NOT NULL,
+ `PROVIDING_SERVICE_MODEL_UUID` varchar(200) DEFAULT NULL,
+ `PROVIDING_SERVICE_MODEL_INVARIANT_UUID` varchar(200) DEFAULT NULL,
+ `PROVIDING_SERVICE_MODEL_NAME` varchar(200) DEFAULT NULL,
+ `TARGET_NETWORK_ROLE` varchar(200) DEFAULT NULL,
+ `NF_TYPE` varchar(200) DEFAULT NULL,
+ `NF_ROLE` varchar(200) DEFAULT NULL,
+ `NF_FUNCTION` varchar(200) DEFAULT NULL,
+ `NF_NAMING_CODE` varchar(200) DEFAULT NULL,
+ `MIN_INSTANCES` int(11) DEFAULT NULL,
+ `MAX_INSTANCES` int(11) DEFAULT NULL,
+ `AR_MODEL_UUID` varchar(200) NOT NULL,
+ `CREATION_TIMESTAMP` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ PRIMARY KEY (`MODEL_CUSTOMIZATION_UUID`),
+ KEY `fk_allotted_resource_customization__allotted_resource1_idx` (`AR_MODEL_UUID`),
+ CONSTRAINT `fk_allotted_resource_customization__allotted_resource1` FOREIGN KEY (`AR_MODEL_UUID`) REFERENCES `allotted_resource` (`MODEL_UUID`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+CREATE TABLE `heat_environment` (
+ `ARTIFACT_UUID` varchar(200) NOT NULL,
+ `NAME` varchar(100) NOT NULL,
+ `VERSION` varchar(20) NOT NULL,
+ `DESCRIPTION` varchar(1200) DEFAULT NULL,
+ `BODY` longtext NOT NULL,
+ `ARTIFACT_CHECKSUM` varchar(200) NOT NULL DEFAULT 'MANUAL RECORD',
+ `CREATION_TIMESTAMP` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ PRIMARY KEY (`ARTIFACT_UUID`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+CREATE TABLE `heat_files` (
+ `ARTIFACT_UUID` varchar(200) NOT NULL,
+ `NAME` varchar(200) NOT NULL,
+ `VERSION` varchar(20) NOT NULL,
+ `DESCRIPTION` varchar(1200) DEFAULT NULL,
+ `BODY` longtext NOT NULL,
+ `ARTIFACT_CHECKSUM` varchar(200) NOT NULL DEFAULT 'MANUAL RECORD',
+ `CREATION_TIMESTAMP` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ PRIMARY KEY (`ARTIFACT_UUID`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+CREATE TABLE `heat_template` (
+ `ARTIFACT_UUID` varchar(200) NOT NULL,
+ `NAME` varchar(200) NOT NULL,
+ `VERSION` varchar(20) NOT NULL,
+ `DESCRIPTION` varchar(1200) DEFAULT NULL,
+ `BODY` longtext NOT NULL,
+ `TIMEOUT_MINUTES` int(11) DEFAULT NULL,
+ `ARTIFACT_CHECKSUM` varchar(200) NOT NULL DEFAULT 'MANUAL RECORD',
+ `CREATION_TIMESTAMP` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ PRIMARY KEY (`ARTIFACT_UUID`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+CREATE TABLE `heat_nested_template` (
+ `PARENT_HEAT_TEMPLATE_UUID` varchar(200) NOT NULL,
+ `CHILD_HEAT_TEMPLATE_UUID` varchar(200) NOT NULL,
+ `PROVIDER_RESOURCE_FILE` varchar(100) DEFAULT NULL,
+ PRIMARY KEY (`PARENT_HEAT_TEMPLATE_UUID`,`CHILD_HEAT_TEMPLATE_UUID`),
+ KEY `fk_heat_nested_template__heat_template2_idx` (`CHILD_HEAT_TEMPLATE_UUID`),
+ CONSTRAINT `fk_heat_nested_template__child_heat_temp_uuid__heat_template1` FOREIGN KEY (`CHILD_HEAT_TEMPLATE_UUID`) REFERENCES `heat_template` (`ARTIFACT_UUID`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `fk_heat_nested_template__parent_heat_temp_uuid__heat_template1` FOREIGN KEY (`PARENT_HEAT_TEMPLATE_UUID`) REFERENCES `heat_template` (`ARTIFACT_UUID`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+CREATE TABLE `heat_template_params` (
+ `HEAT_TEMPLATE_ARTIFACT_UUID` varchar(200) NOT NULL,
+ `PARAM_NAME` varchar(100) NOT NULL,
+ `IS_REQUIRED` bit(1) NOT NULL,
+ `PARAM_TYPE` varchar(20) DEFAULT NULL,
+ `PARAM_ALIAS` varchar(45) DEFAULT NULL,
+ PRIMARY KEY (`HEAT_TEMPLATE_ARTIFACT_UUID`,`PARAM_NAME`),
+ CONSTRAINT `fk_heat_template_params__heat_template1` FOREIGN KEY (`HEAT_TEMPLATE_ARTIFACT_UUID`) REFERENCES `heat_template` (`ARTIFACT_UUID`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+CREATE TABLE `network_recipe` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `MODEL_NAME` varchar(20) NOT NULL,
+ `ACTION` varchar(50) NOT NULL,
+ `DESCRIPTION` varchar(1200) DEFAULT NULL,
+ `ORCHESTRATION_URI` varchar(256) NOT NULL,
+ `NETWORK_PARAM_XSD` varchar(2048) DEFAULT NULL,
+ `RECIPE_TIMEOUT` int(11) DEFAULT NULL,
+ `SERVICE_TYPE` varchar(45) DEFAULT NULL,
+ `CREATION_TIMESTAMP` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ `VERSION_STR` varchar(20) NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `UK_rl4f296i0p8lyokxveaiwkayi` (`MODEL_NAME`,`ACTION`,`VERSION_STR`)
+) ENGINE=InnoDB AUTO_INCREMENT=178 DEFAULT CHARSET=latin1;
+
+CREATE TABLE `temp_network_heat_template_lookup` (
+ `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) DEFAULT NULL,
+ PRIMARY KEY (`NETWORK_RESOURCE_MODEL_NAME`),
+ KEY `fk_temp_network_heat_template_lookup__heat_template1_idx` (`HEAT_TEMPLATE_ARTIFACT_UUID`),
+ CONSTRAINT `fk_temp_network_heat_template_lookup__heat_template1` FOREIGN KEY (`HEAT_TEMPLATE_ARTIFACT_UUID`) REFERENCES `heat_template` (`ARTIFACT_UUID`) ON DELETE NO ACTION ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+CREATE TABLE `network_resource` (
+ `MODEL_UUID` varchar(200) NOT NULL,
+ `MODEL_NAME` varchar(200) NOT NULL,
+ `MODEL_INVARIANT_UUID` varchar(200) DEFAULT NULL,
+ `DESCRIPTION` varchar(1200) DEFAULT NULL,
+ `HEAT_TEMPLATE_ARTIFACT_UUID` varchar(200) NOT NULL,
+ `NEUTRON_NETWORK_TYPE` varchar(20) DEFAULT NULL,
+ `MODEL_VERSION` varchar(20) DEFAULT NULL,
+ `TOSCA_NODE_TYPE` varchar(200) DEFAULT NULL,
+ `AIC_VERSION_MIN` varchar(20) NOT NULL,
+ `AIC_VERSION_MAX` varchar(20) DEFAULT NULL,
+ `ORCHESTRATION_MODE` varchar(20) DEFAULT 'HEAT',
+ `CREATION_TIMESTAMP` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ PRIMARY KEY (`MODEL_UUID`),
+ KEY `fk_network_resource__temp_network_heat_template_lookup1_idx` (`MODEL_NAME`),
+ KEY `fk_network_resource__heat_template1_idx` (`HEAT_TEMPLATE_ARTIFACT_UUID`),
+ CONSTRAINT `fk_network_resource__heat_template1` FOREIGN KEY (`HEAT_TEMPLATE_ARTIFACT_UUID`) REFERENCES `heat_template` (`ARTIFACT_UUID`) ON DELETE NO ACTION ON UPDATE CASCADE,
+ CONSTRAINT `fk_network_resource__temp_network_heat_template_lookup__mod_nm1` FOREIGN KEY (`MODEL_NAME`) REFERENCES `temp_network_heat_template_lookup` (`NETWORK_RESOURCE_MODEL_NAME`) ON DELETE NO ACTION ON UPDATE NO ACTION
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+CREATE TABLE `network_resource_customization` (
+ `MODEL_CUSTOMIZATION_UUID` varchar(200) NOT NULL,
+ `MODEL_INSTANCE_NAME` varchar(200) NOT NULL,
+ `NETWORK_TECHNOLOGY` varchar(45) DEFAULT NULL,
+ `NETWORK_TYPE` varchar(45) DEFAULT NULL,
+ `NETWORK_ROLE` varchar(200) DEFAULT NULL,
+ `NETWORK_SCOPE` varchar(45) DEFAULT NULL,
+ `CREATION_TIMESTAMP` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ `NETWORK_RESOURCE_MODEL_UUID` varchar(200) NOT NULL,
+ PRIMARY KEY (`MODEL_CUSTOMIZATION_UUID`),
+ KEY `fk_network_resource_customization__network_resource1_idx` (`NETWORK_RESOURCE_MODEL_UUID`),
+ CONSTRAINT `fk_network_resource_customization__network_resource1` FOREIGN KEY (`NETWORK_RESOURCE_MODEL_UUID`) REFERENCES `network_resource` (`MODEL_UUID`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+CREATE TABLE `tosca_csar` (
+ `ARTIFACT_UUID` varchar(200) NOT NULL,
+ `NAME` varchar(200) NOT NULL,
+ `VERSION` varchar(20) NOT NULL,
+ `DESCRIPTION` varchar(1200) 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 CHARSET=latin1;
+
+CREATE TABLE `service` (
+ `MODEL_UUID` varchar(200) NOT NULL,
+ `MODEL_NAME` varchar(200) NOT NULL,
+ `MODEL_INVARIANT_UUID` varchar(200) NOT NULL,
+ `MODEL_VERSION` varchar(20) NOT NULL,
+ `DESCRIPTION` varchar(1200) DEFAULT NULL,
+ `CREATION_TIMESTAMP` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ `TOSCA_CSAR_ARTIFACT_UUID` varchar(200) DEFAULT NULL,
+ `SERVICE_TYPE` varchar(200) DEFAULT NULL,
+ `SERVICE_ROLE` varchar(200) DEFAULT NULL,
+ `ENVIRONMENT_CONTEXT` varchar(200) DEFAULT NULL,
+ `WORKLOAD_CONTEXT` varchar(200) DEFAULT NULL,
+ PRIMARY KEY (`MODEL_UUID`),
+ KEY `fk_service__tosca_csar1_idx` (`TOSCA_CSAR_ARTIFACT_UUID`),
+ CONSTRAINT `fk_service__tosca_csar1` FOREIGN KEY (`TOSCA_CSAR_ARTIFACT_UUID`) REFERENCES `tosca_csar` (`ARTIFACT_UUID`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+CREATE TABLE `service_recipe` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `ACTION` varchar(50) 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,
+ `SERVICE_MODEL_UUID` varchar(200) NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `UK_7fav5dkux2v8g9d2i5ymudlgc` (`SERVICE_MODEL_UUID`,`ACTION`),
+ KEY `fk_service_recipe__service1_idx` (`SERVICE_MODEL_UUID`),
+ CONSTRAINT `fk_service_recipe__service1` FOREIGN KEY (`SERVICE_MODEL_UUID`) REFERENCES `service` (`MODEL_UUID`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB AUTO_INCREMENT=86 DEFAULT CHARSET=latin1;
+
+CREATE TABLE `service_to_resource_customizations` (
+ `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,
+ PRIMARY KEY (`SERVICE_MODEL_UUID`,`RESOURCE_MODEL_CUSTOMIZATION_UUID`,`MODEL_TYPE`),
+ KEY `fk_service_to_resource_cust__service_model_uuid_idx` (`SERVICE_MODEL_UUID`),
+ KEY `fk_service_to_resource_cust__resource_model_customiz_uuid_idx` (`RESOURCE_MODEL_CUSTOMIZATION_UUID`),
+ CONSTRAINT `fk_service_to_resource_cust__service__model_uuid0` FOREIGN KEY (`SERVICE_MODEL_UUID`) REFERENCES `service` (`MODEL_UUID`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+CREATE TABLE `vnf_components` (
+ `VNF_ID` int(11) NOT NULL,
+ `COMPONENT_TYPE` varchar(20) NOT NULL,
+ `HEAT_TEMPLATE_ID` int(11) DEFAULT NULL,
+ `HEAT_ENVIRONMENT_ID` int(11) DEFAULT NULL,
+ `CREATION_TIMESTAMP` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ PRIMARY KEY (`VNF_ID`,`COMPONENT_TYPE`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+CREATE TABLE `vnf_components_recipe` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `VNF_TYPE` varchar(200) DEFAULT NULL,
+ `VNF_COMPONENT_TYPE` varchar(45) NOT NULL,
+ `ACTION` varchar(50) NOT NULL,
+ `SERVICE_TYPE` varchar(45) DEFAULT NULL,
+ `VERSION` varchar(20) NOT 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) DEFAULT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `UK_4dpdwddaaclhc11wxsb7h59ma` (`VF_MODULE_MODEL_UUID`,`VNF_COMPONENT_TYPE`,`ACTION`,`VERSION`)
+) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=latin1;
+
+CREATE TABLE `vnf_recipe` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `VNF_TYPE` varchar(200) DEFAULT NULL,
+ `ACTION` varchar(50) NOT NULL,
+ `SERVICE_TYPE` varchar(45) DEFAULT NULL,
+ `VERSION_STR` varchar(20) NOT NULL,
+ `DESCRIPTION` varchar(1200) DEFAULT NULL,
+ `ORCHESTRATION_URI` varchar(256) NOT NULL,
+ `VNF_PARAM_XSD` varchar(2048) DEFAULT NULL,
+ `RECIPE_TIMEOUT` int(11) DEFAULT NULL,
+ `CREATION_TIMESTAMP` datetime DEFAULT CURRENT_TIMESTAMP,
+ `VF_MODULE_ID` varchar(100) DEFAULT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `UK_f3tvqau498vrifq3cr8qnigkr` (`VF_MODULE_ID`,`ACTION`,`VERSION_STR`)
+) ENGINE=InnoDB AUTO_INCREMENT=10006 DEFAULT CHARSET=latin1;
+
+CREATE TABLE `vnf_resource` (
+ `ORCHESTRATION_MODE` varchar(20) NOT NULL DEFAULT 'HEAT',
+ `DESCRIPTION` varchar(1200) DEFAULT NULL,
+ `CREATION_TIMESTAMP` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ `MODEL_UUID` varchar(200) NOT NULL,
+ `AIC_VERSION_MIN` varchar(20) DEFAULT NULL,
+ `AIC_VERSION_MAX` varchar(20) DEFAULT NULL,
+ `MODEL_INVARIANT_UUID` varchar(200) DEFAULT NULL,
+ `MODEL_VERSION` varchar(20) NOT NULL,
+ `MODEL_NAME` varchar(200) DEFAULT NULL,
+ `TOSCA_NODE_TYPE` varchar(200) DEFAULT NULL,
+ `HEAT_TEMPLATE_ARTIFACT_UUID` varchar(200) DEFAULT NULL,
+ PRIMARY KEY (`MODEL_UUID`),
+ KEY `fk_vnf_resource__heat_template1` (`HEAT_TEMPLATE_ARTIFACT_UUID`),
+ CONSTRAINT `fk_vnf_resource__heat_template1` FOREIGN KEY (`HEAT_TEMPLATE_ARTIFACT_UUID`) REFERENCES `heat_template` (`ARTIFACT_UUID`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+CREATE TABLE `vnf_resource_customization` (
+ `MODEL_CUSTOMIZATION_UUID` varchar(200) NOT NULL,
+ `MODEL_INSTANCE_NAME` varchar(200) NOT NULL,
+ `MIN_INSTANCES` int(11) DEFAULT NULL,
+ `MAX_INSTANCES` int(11) DEFAULT NULL,
+ `AVAILABILITY_ZONE_MAX_COUNT` int(11) DEFAULT NULL,
+ `NF_TYPE` varchar(200) DEFAULT NULL,
+ `NF_ROLE` varchar(200) DEFAULT NULL,
+ `NF_FUNCTION` varchar(200) DEFAULT NULL,
+ `NF_NAMING_CODE` varchar(200) DEFAULT NULL,
+ `CREATION_TIMESTAMP` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ `VNF_RESOURCE_MODEL_UUID` varchar(200) NOT NULL,
+ `MULTI_STAGE_DESIGN` varchar(20) DEFAULT NULL,
+ PRIMARY KEY (`MODEL_CUSTOMIZATION_UUID`),
+ KEY `fk_vnf_resource_customization__vnf_resource1_idx` (`VNF_RESOURCE_MODEL_UUID`),
+ CONSTRAINT `fk_vnf_resource_customization__vnf_resource1` FOREIGN KEY (`VNF_RESOURCE_MODEL_UUID`) REFERENCES `vnf_resource` (`MODEL_UUID`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+
+CREATE TABLE `vf_module` (
+ `MODEL_UUID` varchar(200) NOT NULL,
+ `MODEL_INVARIANT_UUID` varchar(200) DEFAULT NULL,
+ `MODEL_VERSION` varchar(20) NOT NULL,
+ `MODEL_NAME` varchar(200) NOT NULL,
+ `DESCRIPTION` varchar(1200) DEFAULT NULL,
+ `IS_BASE` int(11) NOT NULL,
+ `HEAT_TEMPLATE_ARTIFACT_UUID` varchar(200) DEFAULT NULL,
+ `VOL_HEAT_TEMPLATE_ARTIFACT_UUID` varchar(200) DEFAULT NULL,
+ `CREATION_TIMESTAMP` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ `VNF_RESOURCE_MODEL_UUID` varchar(200) NOT NULL,
+ PRIMARY KEY (`MODEL_UUID`,`VNF_RESOURCE_MODEL_UUID`),
+ KEY `fk_vf_module__vnf_resource1_idx` (`VNF_RESOURCE_MODEL_UUID`),
+ KEY `fk_vf_module__heat_template_art_uuid__heat_template1_idx` (`HEAT_TEMPLATE_ARTIFACT_UUID`),
+ KEY `fk_vf_module__vol_heat_template_art_uuid__heat_template2_idx` (`VOL_HEAT_TEMPLATE_ARTIFACT_UUID`),
+ CONSTRAINT `fk_vf_module__heat_template_art_uuid__heat_template1` FOREIGN KEY (`HEAT_TEMPLATE_ARTIFACT_UUID`) REFERENCES `heat_template` (`ARTIFACT_UUID`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `fk_vf_module__vnf_resource1` FOREIGN KEY (`VNF_RESOURCE_MODEL_UUID`) REFERENCES `vnf_resource` (`MODEL_UUID`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `fk_vf_module__vol_heat_template_art_uuid__heat_template2` FOREIGN KEY (`VOL_HEAT_TEMPLATE_ARTIFACT_UUID`) REFERENCES `heat_template` (`ARTIFACT_UUID`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+CREATE TABLE `vf_module_customization` (
+ `MODEL_CUSTOMIZATION_UUID` varchar(200) NOT NULL,
+ `LABEL` varchar(200) DEFAULT NULL,
+ `INITIAL_COUNT` int(11) DEFAULT '0',
+ `MIN_INSTANCES` int(11) DEFAULT '0',
+ `MAX_INSTANCES` int(11) DEFAULT NULL,
+ `AVAILABILITY_ZONE_COUNT` int(11) DEFAULT NULL,
+ `HEAT_ENVIRONMENT_ARTIFACT_UUID` varchar(200) DEFAULT NULL,
+ `VOL_ENVIRONMENT_ARTIFACT_UUID` varchar(200) DEFAULT NULL,
+ `CREATION_TIMESTAMP` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ `VF_MODULE_MODEL_UUID` varchar(200) NOT NULL,
+ PRIMARY KEY (`MODEL_CUSTOMIZATION_UUID`),
+ KEY `fk_vf_module_customization__vf_module1_idx` (`VF_MODULE_MODEL_UUID`),
+ KEY `fk_vf_module_customization__heat_env__heat_environment1_idx` (`HEAT_ENVIRONMENT_ARTIFACT_UUID`),
+ KEY `fk_vf_module_customization__vol_env__heat_environment2_idx` (`VOL_ENVIRONMENT_ARTIFACT_UUID`),
+ CONSTRAINT `fk_vf_module_customization__heat_env__heat_environment1` FOREIGN KEY (`HEAT_ENVIRONMENT_ARTIFACT_UUID`) REFERENCES `heat_environment` (`ARTIFACT_UUID`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `fk_vf_module_customization__vf_module1` FOREIGN KEY (`VF_MODULE_MODEL_UUID`) REFERENCES `vf_module` (`MODEL_UUID`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `fk_vf_module_customization__vol_env__heat_environment2` FOREIGN KEY (`VOL_ENVIRONMENT_ARTIFACT_UUID`) REFERENCES `heat_environment` (`ARTIFACT_UUID`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+CREATE TABLE `vf_module_to_heat_files` (
+ `VF_MODULE_MODEL_UUID` varchar(200) NOT NULL,
+ `HEAT_FILES_ARTIFACT_UUID` varchar(200) NOT NULL,
+ PRIMARY KEY (`VF_MODULE_MODEL_UUID`,`HEAT_FILES_ARTIFACT_UUID`),
+ KEY `fk_vf_module_to_heat_files__heat_files__artifact_uuid1_idx` (`HEAT_FILES_ARTIFACT_UUID`),
+ CONSTRAINT `fk_vf_module_to_heat_files__heat_files__artifact_uuid1` FOREIGN KEY (`HEAT_FILES_ARTIFACT_UUID`) REFERENCES `heat_files` (`ARTIFACT_UUID`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `fk_vf_module_to_heat_files__vf_module__model_uuid1` FOREIGN KEY (`VF_MODULE_MODEL_UUID`) REFERENCES `vf_module` (`MODEL_UUID`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='il fait ce qu''il dit';
+
+
+CREATE TABLE `vnf_res_custom_to_vf_module_custom` (
+ `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`),
+ KEY `fk_vnf_res_custom_to_vf_module_custom__vf_module_customizat_idx` (`VF_MODULE_CUST_MODEL_CUSTOMIZATION_UUID`),
+ CONSTRAINT `fk_vnf_res_custom_to_vf_module_custom__vf_module_customization1` FOREIGN KEY (`VF_MODULE_CUST_MODEL_CUSTOMIZATION_UUID`) REFERENCES `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 `vnf_resource_customization` (`MODEL_CUSTOMIZATION_UUID`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+
diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.0.0__Modify_Resource_Relationships.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.0.0__Modify_Resource_Relationships.sql
new file mode 100644
index 0000000000..b141784e8d
--- /dev/null
+++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.0.0__Modify_Resource_Relationships.sql
@@ -0,0 +1,247 @@
+
+USE catalogdb;
+
+DELETE from service where model_uuid in ( SELECT SERVICE_MODEL_UUID
+FROM service_to_resource_customizations
+GROUP BY
+SERVICE_MODEL_UUID, resource_model_customization_uuid
+HAVING COUNT(*) > 1);
+
+
+CREATE TABLE IF NOT EXISTS external_service_to_internal_model_mapping (
+id INT(11) NOT NULL,
+SERVICE_NAME VARCHAR(200) NOT NULL,
+PRODUCT_FLAVOR VARCHAR(200) NULL,
+SUBSCRIPTION_SERVICE_TYPE VARCHAR(200) NOT NULL,
+SERVICE_MODEL_UUID VARCHAR(200) NOT NULL,
+PRIMARY KEY (id),
+UNIQUE INDEX UK_external_service_to_internal_model_mapping
+(SERVICE_NAME ASC, PRODUCT_FLAVOR ASC, SERVICE_MODEL_UUID ASC));
+
+CREATE TABLE IF NOT EXISTS `collection_resource` (
+ MODEL_UUID varchar(200) NOT NULL,
+ MODEL_NAME varchar(200) NOT NULL,
+ MODEL_INVARIANT_UUID varchar(200) NOT NULL,
+ MODEL_VERSION varchar(20) NOT NULL,
+ TOSCA_NODE_TYPE varchar(200) NOT NULL,
+ DESCRIPTION varchar(200),
+ CREATION_TIMESTAMP datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ PRIMARY KEY (`MODEL_UUID`)
+)ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+CREATE TABLE IF NOT EXISTS `collection_resource_customization` (
+ MODEL_CUSTOMIZATION_UUID varchar(200) NOT NULL,
+ MODEL_INSTANCE_NAME varchar(200) NOT NULL,
+ ROLE varchar(200) NOT NULL,
+ PRIMARY_TYPE varchar(200) NOT NULL,
+ FUNCTION varchar(200) NOT NULL,
+ SUBINTERFACE_NETWORK_QUANTITY INT,
+ COLLECTION_RESOURCE_TYPE varchar(200) NOT NULL,
+ CREATION_TIMESTAMP datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ CR_MODEL_UUID varchar(200) NOT NULL,
+ PRIMARY KEY (`MODEL_CUSTOMIZATION_UUID`)
+)ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+CREATE TABLE IF NOT EXISTS `instance_group` (
+ MODEL_UUID varchar(200) NOT NULL,
+ MODEL_NAME varchar(200) NOT NULL,
+ MODEL_INVARIANT_UUID varchar(200) NOT NULL,
+ MODEL_VERSION varchar(20) NOT NULL,
+ TOSCA_NODE_TYPE varchar(200) DEFAULT NULL,
+ ROLE varchar(200) NOT NULL,
+ PRIMARY_TYPE varchar(200) NOT NULL,
+ FUNCTION varchar(200) NOT NULL,
+ DESCRIPTION varchar(200),
+ CREATION_TIMESTAMP datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ CR_MODEL_UUID varchar(200) NOT NULL,
+ INSTANCE_GROUP_TYPE varchar(200) NOT NULL,
+ PRIMARY KEY (`MODEL_UUID`)
+)ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+ CREATE TABLE IF NOT EXISTS `catalogdb`.`configuration`
+ ( `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) NOT NULL,
+ `DESCRIPTION` VARCHAR(1200) NULL,
+ `CREATION_TIMESTAMP` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ PRIMARY KEY (`MODEL_UUID`))
+ ENGINE = InnoDB AUTO_INCREMENT = 20654
+ DEFAULT CHARACTER SET = latin1;
+
+ CREATE TABLE IF NOT EXISTS `catalogdb`.`service_proxy` (
+ `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,
+ `DESCRIPTION` VARCHAR(1200) NULL,
+ `CREATION_TIMESTAMP` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ PRIMARY KEY (`MODEL_UUID`))
+ ENGINE = InnoDB AUTO_INCREMENT = 20654
+ DEFAULT CHARACTER SET = latin1;
+
+CREATE TABLE IF NOT EXISTS `service_proxy_customization` (
+`MODEL_CUSTOMIZATION_UUID` VARCHAR(200) NOT NULL,
+`MODEL_INSTANCE_NAME` VARCHAR(200) NOT NULL,
+`TOSCA_NODE_TYPE` VARCHAR(200) NOT NULL,
+`SOURCE_SERVICE_MODEL_UUID` VARCHAR(200) NOT NULL,
+`CREATION_TIMESTAMP` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
+`SERVICE_PROXY_MODEL_UUID` VARCHAR(200) NOT NULL,
+PRIMARY KEY (`MODEL_CUSTOMIZATION_UUID`),
+INDEX `fk_service_proxy_customization__service_proxy1_idx` (`SERVICE_PROXY_MODEL_UUID` ASC),
+INDEX `fk_service_proxy_customization__service1_idx` (`SOURCE_SERVICE_MODEL_UUID` ASC),
+CONSTRAINT`fk_spr_customization__service_proxy_resource1`
+FOREIGN KEY (`SERVICE_PROXY_MODEL_UUID`) REFERENCES `catalogdb`.`service_proxy` (`MODEL_UUID`)
+ON DELETE CASCADE ON UPDATE CASCADE,
+CONSTRAINT `fk_service_proxy_resource_customization__service1`
+FOREIGN KEY (`SOURCE_SERVICE_MODEL_UUID`) REFERENCES `catalogdb`.`service`
+(`MODEL_UUID`) ON DELETE CASCADE ON UPDATE CASCADE)
+ENGINE = InnoDB
+AUTO_INCREMENT = 20654
+DEFAULT CHARACTER SET = latin1;
+
+CREATE TABLE IF NOT EXISTS `catalogdb`.`configuration_customization` (
+`MODEL_CUSTOMIZATION_UUID` VARCHAR(200) NOT NULL,
+`MODEL_INSTANCE_NAME` VARCHAR(200) NOT NULL,
+`CONFIGURATION_TYPE` VARCHAR(200) NULL,
+`CONFIGURATION_ROLE` VARCHAR(200) NULL,
+`CONFIGURATION_FUNCTION` VARCHAR(200) NULL,
+`CREATION_TIMESTAMP` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
+`CONFIGURATION_MODEL_UUID` VARCHAR(200) NOT NULL,
+`SERVICE_PROXY_CUSTOMIZATION_MODEL_CUSTOMIZATION_UUID` VARCHAR(200) NULL,
+`CONFIGURATION_CUSTOMIZATION_MODEL_CUSTOMIZATION_UUID` VARCHAR(200) NULL,
+PRIMARY KEY (`MODEL_CUSTOMIZATION_UUID`),
+INDEX `fk_configuration_customization__configuration_idx` (`CONFIGURATION_MODEL_UUID` ASC),
+INDEX `fk_configuration_customization__service_proxy_customization_idx`
+(`SERVICE_PROXY_CUSTOMIZATION_MODEL_CUSTOMIZATION_UUID` ASC),
+INDEX `fk_configuration_customization__configuration_customization_idx`
+(`CONFIGURATION_CUSTOMIZATION_MODEL_CUSTOMIZATION_UUID` ASC),
+CONSTRAINT `fk_configuration_resource_customization__configuration_resour1`
+FOREIGN KEY (`CONFIGURATION_MODEL_UUID`) REFERENCES `catalogdb`.`configuration` (`MODEL_UUID`)
+ON DELETE CASCADE ON UPDATE CASCADE,
+CONSTRAINT `fk_configuration_customization__service_proxy_customization1` FOREIGN
+KEY (`SERVICE_PROXY_CUSTOMIZATION_MODEL_CUSTOMIZATION_UUID`) REFERENCES
+`catalogdb`.`service_proxy_customization` (`MODEL_CUSTOMIZATION_UUID`)
+ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT
+`fk_configuration_customization__configuration_customization1` FOREIGN
+KEY (`CONFIGURATION_CUSTOMIZATION_MODEL_CUSTOMIZATION_UUID`) REFERENCES
+`catalogdb`.`configuration_customization` (`MODEL_CUSTOMIZATION_UUID`)
+ON DELETE CASCADE ON UPDATE CASCADE)
+ENGINE = InnoDB
+AUTO_INCREMENT =20654
+DEFAULT CHARACTER SET = latin1;
+
+
+CREATE TABLE `service_proxy_customization_to_service` (
+ `SERVICE_MODEL_UUID` varchar(200) NOT NULL,
+ `RESOURCE_MODEL_CUSTOMIZATION_UUID` varchar(200) NOT NULL,
+ PRIMARY KEY (`SERVICE_MODEL_UUID`,`RESOURCE_MODEL_CUSTOMIZATION_UUID`)
+)ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+
+CREATE TABLE `configuration_customization_to_service` (
+ `SERVICE_MODEL_UUID` varchar(200) NOT NULL,
+ `RESOURCE_MODEL_CUSTOMIZATION_UUID` varchar(200) NOT NULL,
+ PRIMARY KEY (`SERVICE_MODEL_UUID`,`RESOURCE_MODEL_CUSTOMIZATION_UUID`)
+)ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+
+CREATE TABLE IF NOT EXISTS `collection_resource_customization_to_service` (
+ `SERVICE_MODEL_UUID` varchar(200) NOT NULL,
+ `RESOURCE_MODEL_CUSTOMIZATION_UUID` varchar(200) NOT NULL,
+ PRIMARY KEY (`SERVICE_MODEL_UUID`,`RESOURCE_MODEL_CUSTOMIZATION_UUID`)
+)ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+
+CREATE TABLE `network_resource_customization_to_service` (
+ `SERVICE_MODEL_UUID` varchar(200) NOT NULL,
+ `RESOURCE_MODEL_CUSTOMIZATION_UUID` varchar(200) NOT NULL,
+ PRIMARY KEY (`SERVICE_MODEL_UUID`,`RESOURCE_MODEL_CUSTOMIZATION_UUID`)
+)ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+CREATE TABLE `vnf_resource_customization_to_service` (
+ `SERVICE_MODEL_UUID` varchar(200) NOT NULL,
+ `RESOURCE_MODEL_CUSTOMIZATION_UUID` varchar(200) NOT NULL,
+ PRIMARY KEY (`SERVICE_MODEL_UUID`,`RESOURCE_MODEL_CUSTOMIZATION_UUID`)
+)ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+CREATE TABLE `allotted_resource_customization_to_service` (
+ `SERVICE_MODEL_UUID` varchar(200) NOT NULL,
+ `RESOURCE_MODEL_CUSTOMIZATION_UUID` varchar(200) NOT NULL,
+ PRIMARY KEY (`SERVICE_MODEL_UUID`,`RESOURCE_MODEL_CUSTOMIZATION_UUID`)
+)ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+
+
+
+CREATE TABLE IF NOT EXISTS `collection_network_resource_customization` (
+`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,
+`CREATION_TIMESTAMP` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
+`NETWORK_RESOURCE_MODEL_UUID` VARCHAR(200) NOT NULL, `INSTANCE_GROUP_MODEL_UUID` VARCHAR(200) NULL,
+`CRC_MODEL_CUSTOMIZATION_UUID` VARCHAR(200) NOT NULL, PRIMARY KEY
+(`MODEL_CUSTOMIZATION_UUID`, `CRC_MODEL_CUSTOMIZATION_UUID`),
+INDEX `fk_collection_net_resource_customization__network_resource1_idx`
+(`NETWORK_RESOURCE_MODEL_UUID` ASC), INDEX
+`fk_collection_net_resource_customization__instance_group1_idx`
+(`INSTANCE_GROUP_MODEL_UUID` ASC), INDEX
+`fk_col_net_res_customization__collection_res_customization_idx`
+(`CRC_MODEL_CUSTOMIZATION_UUID` ASC), CONSTRAINT
+`fk_collection_net_resource_customization__network_resource10` FOREIGN
+KEY (`NETWORK_RESOURCE_MODEL_UUID`) REFERENCES
+`catalogdb`.`network_resource` (`MODEL_UUID`) ON DELETE CASCADE ON
+UPDATE CASCADE, CONSTRAINT
+`fk_collection_net_resource_customization__instance_group10` FOREIGN KEY
+(`INSTANCE_GROUP_MODEL_UUID`) REFERENCES `instance_group`
+(`MODEL_UUID`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT
+`fk_collection_network_resource_customization__collection_reso1` FOREIGN
+KEY (`CRC_MODEL_CUSTOMIZATION_UUID`) REFERENCES
+`collection_resource_customization`
+(`MODEL_CUSTOMIZATION_UUID`) ON DELETE CASCADE ON UPDATE CASCADE) ENGINE
+= InnoDB DEFAULT CHARACTER SET = latin1;
+
+
+CREATE TABLE IF NOT EXISTS `northbound_request_ref_lookup` (
+`id` INT(11) NOT NULL AUTO_INCREMENT,
+`REQUEST_SCOPE` VARCHAR(200) NOT NULL,
+`MACRO_ACTION` VARCHAR(200) NOT NULL,
+`ACTION` VARCHAR(200) NOT NULL,
+`IS_ALACARTE` TINYINT(1) NOT NULL DEFAULT 0,
+`MIN_API_VERSION` DOUBLE NOT NULL,
+`MAX_API_VERSION` DOUBLE NULL,
+PRIMARY KEY (`id`),
+UNIQUE INDEX `UK_northbound_request_ref_lookup` (`MIN_API_VERSION` ASC, `REQUEST_SCOPE` ASC, `ACTION` ASC, `IS_ALACARTE` ASC, `MACRO_ACTION` ASC))
+ENGINE = InnoDB
+DEFAULT CHARACTER SET = latin1;
+
+CREATE TABLE IF NOT EXISTS `orchestration_flow_reference` (
+`id` INT(11) NOT NULL AUTO_INCREMENT,
+`COMPOSITE_ACTION` VARCHAR(200) NOT NULL,
+`SEQ_NO` INT(11) NOT NULL,
+`FLOW_NAME` VARCHAR(200) NOT NULL,
+`FLOW_VERSION` DOUBLE NOT NULL,
+`NB_REQ_REF_LOOKUP_ID` INT(11) NOT NULL,
+PRIMARY KEY (`id`),
+INDEX `fk_orchestration_flow_reference__northbound_req_ref_look_idx` (`NB_REQ_REF_LOOKUP_ID` ASC),
+UNIQUE INDEX `UK_orchestration_flow_reference` (`COMPOSITE_ACTION` ASC, `FLOW_NAME` ASC, `SEQ_NO` ASC, `NB_REQ_REF_LOOKUP_ID` ASC),
+CONSTRAINT `fk_orchestration_flow_reference__northbound_request_ref_look1`
+FOREIGN KEY (`NB_REQ_REF_LOOKUP_ID`) REFERENCES `northbound_request_ref_lookup` (`id`)
+ON DELETE CASCADE ON UPDATE CASCADE)
+ENGINE = InnoDB DEFAULT CHARACTER SET = latin1;
+
+CREATE TABLE IF NOT EXISTS `rainy_day_handler_macro` (
+`id` INT(11) NOT NULL AUTO_INCREMENT,
+`FLOW_NAME` VARCHAR(200) NOT NULL,
+`SERVICE_TYPE` VARCHAR(200) NOT NULL,
+`VNF_TYPE` VARCHAR(200) NOT NULL,
+`ERROR_CODE` VARCHAR(200) NOT NULL,
+`WORK_STEP` VARCHAR(200) NOT NULL,
+`POLICY` VARCHAR(200) NOT NULL,
+PRIMARY KEY (`id`))
+ENGINE = InnoDB
+DEFAULT CHARACTER SET = latin1;
diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.0.1__Modify_Resource_Relationships_Alters.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.0.1__Modify_Resource_Relationships_Alters.sql
new file mode 100644
index 0000000000..92b5c9b65f
--- /dev/null
+++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.0.1__Modify_Resource_Relationships_Alters.sql
@@ -0,0 +1,208 @@
+
+USE catalogdb;
+ALTER TABLE collection_resource_customization
+ADD FOREIGN KEY ( CR_MODEL_UUID)
+REFERENCES collection_resource(MODEL_UUID)
+ON DELETE CASCADE;
+
+ALTER TABLE vnf_resource_customization
+ADD COLUMN
+INSTANCE_GROUP_MODEL_UUID varchar(200);
+
+
+ALTER TABLE instance_group
+ADD FOREIGN KEY ( CR_MODEL_UUID)
+REFERENCES collection_resource(MODEL_UUID)
+ON DELETE CASCADE;
+
+
+ALTER TABLE collection_resource_customization_to_service
+ADD FOREIGN KEY (service_model_uuid)
+REFERENCES service(MODEL_UUID)
+ON DELETE CASCADE;
+
+ALTER TABLE allotted_resource_customization_to_service
+ADD FOREIGN KEY (service_model_uuid)
+REFERENCES service(MODEL_UUID)
+ON DELETE CASCADE;
+
+
+ALTER TABLE vnf_resource_customization_to_service
+ADD FOREIGN KEY (service_model_uuid)
+REFERENCES service(MODEL_UUID)
+ON DELETE CASCADE;
+
+
+ALTER TABLE network_resource_customization_to_service
+ADD FOREIGN KEY (service_model_uuid)
+REFERENCES service(MODEL_UUID)
+ON DELETE CASCADE;
+
+
+ALTER TABLE network_resource_customization_to_service
+ADD FOREIGN KEY (resource_model_customization_uuid)
+REFERENCES network_resource_customization(model_customization_uuid)
+ON DELETE CASCADE;
+
+ALTER TABLE vnf_resource_customization_to_service
+ADD FOREIGN KEY (resource_model_customization_uuid)
+REFERENCES vnf_resource_customization(model_customization_uuid)
+ON DELETE CASCADE;
+
+ALTER TABLE allotted_resource_customization_to_service
+ADD FOREIGN KEY (resource_model_customization_uuid)
+REFERENCES allotted_resource_customization(model_customization_uuid)
+ON DELETE CASCADE;
+
+ALTER TABLE collection_resource_customization_to_service
+ADD FOREIGN KEY (resource_model_customization_uuid)
+REFERENCES collection_resource_customization(model_customization_uuid)
+ON DELETE CASCADE;
+
+INSERT INTO network_resource_customization_to_service SELECT service_model_uuid,resource_model_customization_uuid
+FROM service_to_resource_customizations WHERE model_type = 'network' and service_model_uuid in(select model_uuid from service)
+AND resource_model_customization_uuid in ( SELECT MODEL_CUSTOMIZATION_UUID from network_resource_customization);
+
+INSERT INTO allotted_resource_customization_to_service SELECT service_model_uuid,resource_model_customization_uuid
+FROM service_to_resource_customizations WHERE model_type = 'allottedResource' and service_model_uuid in(select model_uuid from service)
+AND resource_model_customization_uuid in ( SELECT MODEL_CUSTOMIZATION_UUID from allotted_resource_customization);
+
+INSERT INTO vnf_resource_customization_to_service SELECT service_model_uuid,resource_model_customization_uuid
+FROM service_to_resource_customizations WHERE model_type = 'vnf' and service_model_uuid in(select model_uuid from service)
+AND resource_model_customization_uuid in ( SELECT MODEL_CUSTOMIZATION_UUID from vnf_resource_customization);
+
+DROP TABLE service_to_resource_customizations;
+
+
+INSERT INTO vnf_recipe (VNF_TYPE, ACTION, VERSION_STR, DESCRIPTION, ORCHESTRATION_URI, RECIPE_TIMEOUT)
+VALUES
+('GR-API-DEFAULT', 'createInstance', '1', 'Gr api recipe to create vnf', '/mso/async/services/WorkflowActionBB', 180),
+('GR-API-DEFAULT', 'deleteInstance', '1', 'Gr api recipe to delete vnf', '/mso/async/services/WorkflowActionBB', 180),
+('GR-API-DEFAULT', 'updateInstance', '1', 'Gr api recipe to update vnf', '/mso/async/services/WorkflowActionBB', 180),
+('GR-API-DEFAULT', 'replaceInstance', '1', 'Gr api recipe to replace vnf', '/mso/async/services/WorkflowActionBB', 180),
+('GR-API-DEFAULT', 'inPlaceSoftwareUpdate', '1', 'Gr api recipe to do an in place software update', '/mso/async/services/WorkflowActionBB', 180),
+('GR-API-DEFAULT', 'applyUpdatedConfig', '1', 'Gr api recipe to apply updated config', '/mso/async/services/WorkflowActionBB', 180);
+
+UPDATE vnf_recipe
+SET vnf_type = 'VNF-API-DEFAULT'
+WHERE vnf_type = 'VID_DEFAULT';
+
+UPDATE vnf_recipe
+SET description = 'Vnf api recipe to create vnf'
+WHERE description = 'VID_DEFAULT recipe to create VNF if no custom BPMN flow is found';
+
+UPDATE vnf_recipe
+SET description = 'Vnf api recipe to delete vnf'
+WHERE description = 'VID_DEFAULT recipe to delete VNF if no custom BPMN flow is found';
+
+UPDATE vnf_recipe
+SET description = 'Vnf api recipe to update vnf'
+WHERE description = 'VID_DEFAULT update';
+
+UPDATE vnf_recipe
+SET description = 'Vnf api recipe to replace vnf'
+WHERE description = 'VID_DEFAULT replace';
+
+UPDATE vnf_recipe
+SET description = 'Vnf api recipe to do an in place software update'
+WHERE description = 'VID_DEFAULT inPlaceSoftwareUpdate';
+
+UPDATE vnf_recipe
+SET description = 'Vnf api recipe to apply updated config'
+WHERE description = 'VID_DEFAULT applyUpdatedConfig';
+
+INSERT INTO service (MODEL_UUID, MODEL_NAME, MODEL_INVARIANT_UUID, MODEL_VERSION, DESCRIPTION)
+VALUES
+('DummyGRApiDefaultModelUUID?', 'GR-API-DEFAULT', 'DummyGRApiDefaultModelInvariantUUID?', '1.0', 'Gr api service for VID to use for infra APIH orchestration');
+
+UPDATE service
+SET model_name = 'VNF-API-DEFAULT',
+ description = 'Vnf api service for VID to use for infra APIH orchestration'
+WHERE model_name = 'VID_DEFAULT';
+
+INSERT INTO service_recipe (ACTION, VERSION_STR, DESCRIPTION, ORCHESTRATION_URI, RECIPE_TIMEOUT, SERVICE_MODEL_UUID)
+VALUES
+('activateInstance', '1.0', 'Gr api recipe to activate service-instance', '/mso/async/services/WorkflowActionBB', 180, 'DummyGRApiDefaultModelUUID?'),
+('createInstance', '1.0', 'Gr api recipe to create service-instance', '/mso/async/services/WorkflowActionBB', 180, 'DummyGRApiDefaultModelUUID?'),
+('deactivateInstance', '1.0', 'Gr api recipe to deactivate service-instance', '/mso/async/services/WorkflowActionBB', 180, 'DummyGRApiDefaultModelUUID?'),
+('deleteInstance', '1.0', 'Gr api recipe to delete service-instance', '/mso/async/services/WorkflowActionBB', 180, 'DummyGRApiDefaultModelUUID?');
+
+UPDATE service_recipe
+SET description = 'Vnf api recipe to activate service-instance'
+WHERE description = 'VID_DEFAULT activate';
+
+UPDATE service_recipe
+SET description = 'Vnf api recipe to create service-instance'
+WHERE description = 'VID_DEFAULT recipe to create service-instance if no custom BPMN flow is found';
+
+UPDATE service_recipe
+SET description = 'Vnf api recipe to deactivate service-instance'
+WHERE description = 'VID_DEFAULT deactivate';
+
+UPDATE service_recipe
+SET description = 'Vnf api recipe to delete service-instance'
+WHERE description = 'VID_DEFAULT recipe to delete service-instance if no custom BPMN flow is found';
+
+INSERT INTO vnf_components_recipe (VNF_COMPONENT_TYPE, ACTION, VERSION, DESCRIPTION, ORCHESTRATION_URI, RECIPE_TIMEOUT, VF_MODULE_MODEL_UUID)
+VALUES
+('volumeGroup', 'createInstance', '1', 'Gr api recipe to create volume-group', '/mso/async/services/WorkflowActionBB', 180, 'GR-API-DEFAULT'),
+('volumeGroup', 'deleteInstance', '1', 'Gr api recipe to delete volume-group', '/mso/async/services/WorkflowActionBB', 180, 'GR-API-DEFAULT'),
+('volumeGroup', 'updateInstance', '1', 'Gr api recipe to update volume-group', '/mso/async/services/WorkflowActionBB', 180, 'GR-API-DEFAULT'),
+('vfModule', 'createInstance', '1', 'Gr api recipe to create vf-module', '/mso/async/services/WorkflowActionBB', 180, 'GR-API-DEFAULT'),
+('vfModule', 'deleteInstance', '1', 'Gr api recipe to delete vf-module', '/mso/async/services/WorkflowActionBB', 180, 'GR-API-DEFAULT'),
+('vfModule', 'updateInstance', '1', 'Gr api recipe to update vf-module', '/mso/async/services/WorkflowActionBB', 180, 'GR-API-DEFAULT'),
+('vfModule', 'replaceInstance', '1', 'Gr api recipe to replace vf-module', '/mso/async/services/WorkflowActionBB', 180, 'GR-API-DEFAULT');
+
+UPDATE vnf_components_recipe
+SET vf_module_model_uuid = 'VNF-API-DEFAULT'
+WHERE vf_module_model_uuid = 'VID_DEFAULT';
+
+UPDATE vnf_components_recipe
+SET description = 'Vnf api recipe to create volume-group'
+WHERE description = 'VID_DEFAULT recipe to create volume-group if no custom BPMN flow is found';
+
+UPDATE vnf_components_recipe
+SET description = 'Vnf api recipe to delete volume-group'
+WHERE description = 'VID_DEFAULT recipe to delete volume-group if no custom BPMN flow is found';
+
+UPDATE vnf_components_recipe
+SET description = 'Vnf api recipe to update volume-group'
+WHERE description = 'VID_DEFAULT recipe to update volume-group if no custom BPMN flow is found';
+
+UPDATE vnf_components_recipe
+SET description = 'Vnf api recipe to create vf-module'
+WHERE description = 'VID_DEFAULT recipe to create vf-module if no custom BPMN flow is found';
+
+UPDATE vnf_components_recipe
+SET description = 'Vnf api recipe to delete vf-module'
+WHERE description = 'VID_DEFAULT recipe to delete vf-module if no custom BPMN flow is found';
+
+UPDATE vnf_components_recipe
+SET description = 'Vnf api recipe to update vf-module'
+WHERE description = 'VID_DEFAULT recipe to update vf-module if no custom BPMN flow is found';
+
+UPDATE vnf_components_recipe
+SET description = 'Vnf api recipe to replace vf-module'
+WHERE description = 'VID_DEFAULT vfModule replace';
+
+INSERT INTO network_recipe (MODEL_NAME, ACTION, DESCRIPTION, ORCHESTRATION_URI, RECIPE_TIMEOUT, VERSION_STR)
+VALUES
+('GR-API-DEFAULT', 'createInstance', 'Gr api recipe to create network', '/mso/async/services/WorkflowActionBB', 180, '1.0'),
+('GR-API-DEFAULT', 'updateInstance', 'Gr api recipe to update network', '/mso/async/services/WorkflowActionBB', 180, '1.0'),
+('GR-API-DEFAULT', 'deleteInstance', 'Gr api recipe to delete network', '/mso/async/services/WorkflowActionBB', 180, '1.0');
+
+UPDATE network_recipe
+SET model_name = 'VNF-API-DEFAULT'
+WHERE model_name = 'VID_DEFAULT';
+
+UPDATE network_recipe
+SET description = 'Vnf api recipe to create network'
+WHERE description = 'VID_DEFAULT recipe to create network if no custom BPMN flow is found';
+
+UPDATE network_recipe
+SET description = 'Vnf api recipe to update network'
+WHERE description = 'VID_DEFAULT recipe to update network if no custom BPMN flow is found';
+
+UPDATE network_recipe
+SET description = 'Vnf api recipe to delete network'
+WHERE description = 'VID_DEFAULT recipe to delete network if no custom BPMN flow is found'; \ No newline at end of file
diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.10__VNFCInstanceGroupChanges.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.10__VNFCInstanceGroupChanges.sql
new file mode 100644
index 0000000000..ea7098724f
--- /dev/null
+++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.10__VNFCInstanceGroupChanges.sql
@@ -0,0 +1,7 @@
+USE catalogdb;
+
+ALTER TABLE
+ `instance_group` CHANGE COLUMN `CR_MODEL_UUID` `CR_MODEL_UUID` VARCHAR(200) NULL,
+ CHANGE COLUMN `tosca_node_type` `TOSCA_NODE_TYPE` varchar(200) DEFAULT NULL,
+ CHANGE COLUMN `object_type` `OBJECT_TYPE` varchar(200) NOT NULL;
+ \ No newline at end of file
diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.11__Modify_IS_Base_Type.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.11__Modify_IS_Base_Type.sql
new file mode 100644
index 0000000000..8e11121dd1
--- /dev/null
+++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.11__Modify_IS_Base_Type.sql
@@ -0,0 +1,4 @@
+USE catalogdb;
+
+ALTER TABLE
+ `vf_module` CHANGE COLUMN `IS_BASE` `IS_BASE` TINYINT(1) NOT NULL; \ No newline at end of file
diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.12__UpdateMacroReferenceData_Homing.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.12__UpdateMacroReferenceData_Homing.sql
new file mode 100644
index 0000000000..442034ca98
--- /dev/null
+++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.12__UpdateMacroReferenceData_Homing.sql
@@ -0,0 +1,4 @@
+
+USE catalogdb;
+
+UPDATE orchestration_flow_reference SET FLOW_NAME = 'HomingV2' WHERE FLOW_NAME = 'SniroHoming'; \ No newline at end of file
diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.13__Alter_external_service_to_internal_model_mapping.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.13__Alter_external_service_to_internal_model_mapping.sql
new file mode 100644
index 0000000000..2a2dc2aaf1
--- /dev/null
+++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.13__Alter_external_service_to_internal_model_mapping.sql
@@ -0,0 +1,4 @@
+
+USE catalogdb;
+
+ALTER TABLE external_service_to_internal_model_mapping MODIFY id int(11) not null auto_increment; \ No newline at end of file
diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.14__DeactivateAndCloudDelete.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.14__DeactivateAndCloudDelete.sql
new file mode 100644
index 0000000000..9c5c912d14
--- /dev/null
+++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.14__DeactivateAndCloudDelete.sql
@@ -0,0 +1,10 @@
+
+USE catalogdb;
+
+INSERT INTO vnf_components_recipe (VNF_COMPONENT_TYPE, ACTION, VERSION, DESCRIPTION, ORCHESTRATION_URI, RECIPE_TIMEOUT, VF_MODULE_MODEL_UUID)
+VALUES
+('vfModule', 'deactivateAndCloudDelete', '1', 'Gr api recipe to soft delete vf-module', '/mso/async/services/WorkflowActionBB', 180, 'GR-API-DEFAULT');
+
+UPDATE vnf_components_recipe
+SET description = 'Vnf api recipe to soft delete vf-module'
+WHERE description = 'VID_DEFAULT vfModule soft delete'; \ No newline at end of file
diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.15__Orchestration_Status_Valid_Action_State_Transition_Table_Updates.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.15__Orchestration_Status_Valid_Action_State_Transition_Table_Updates.sql
new file mode 100644
index 0000000000..9992f5531a
--- /dev/null
+++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.15__Orchestration_Status_Valid_Action_State_Transition_Table_Updates.sql
@@ -0,0 +1,93 @@
+USE catalogdb;
+
+ALTER TABLE building_block_detail
+CHANGE COLUMN building_block_name BUILDING_BLOCK_NAME VARCHAR(50) NOT NULL,
+CHANGE COLUMN resource_type RESOURCE_TYPE VARCHAR(25) NOT NULL,
+CHANGE COLUMN target_action TARGET_ACTION VARCHAR(25) NOT NULL;
+/*
+SELECT CONCAT('ALTER TABLE ', TABLE_NAME, ' CHANGE ', COLUMN_NAME, ' ', UPPER(COLUMN_NAME), ';')
+FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'building_block_detail' AND COLUMN_NAME <> 'id';
+*/
+
+ALTER TABLE orchestration_status_state_transition_directive
+CHANGE COLUMN resource_type RESOURCE_TYPE VARCHAR(25) NOT NULL,
+CHANGE COLUMN orchestration_status ORCHESTRATION_STATUS VARCHAR(25) NOT NULL,
+CHANGE COLUMN target_action TARGET_ACTION VARCHAR(25) NOT NULL,
+CHANGE COLUMN flow_directive FLOW_DIRECTIVE VARCHAR(25) NOT NULL;
+
+/*
+SELECT CONCAT('ALTER TABLE ', TABLE_NAME, ' CHANGE ', COLUMN_NAME, ' ', UPPER(COLUMN_NAME), ';')
+FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'orchestration_status_state_transition_directive' AND COLUMN_NAME <> 'id';
+*/
+
+ALTER TABLE building_block_detail
+DROP INDEX building_block_name;
+
+ALTER TABLE building_block_detail
+ADD UNIQUE KEY UK_building_block_name (BUILDING_BLOCK_NAME);
+
+
+/*
+SELECT DISTINCT FLOW_NAME FROM orchestration_flow_reference WHERE FLOW_NAME NOT IN
+(SELECT building_block_name FROM building_block_detail);
+ */
+
+UPDATE orchestration_flow_reference
+SET FLOW_NAME = 'ActivateServiceInstanceBB'
+WHERE FLOW_NAME = 'ActivateServiceInstance';
+
+DELETE FROM orchestration_flow_reference
+WHERE FLOW_NAME = 'DeactivateNetworkCollectionBB';
+
+UPDATE orchestration_flow_reference
+SET SEQ_NO = SEQ_NO - 1
+WHERE COMPOSITE_ACTION = 'Service-Macro-Delete' AND SEQ_NO > 8;
+
+UPDATE orchestration_flow_reference
+SET SEQ_NO = SEQ_NO - 1
+WHERE COMPOSITE_ACTION = 'NetworkCollection-Macro-Delete' AND SEQ_NO > 4;
+
+UPDATE building_block_detail
+SET BUILDING_BLOCK_NAME = 'UnassignVolumeGroupBB'
+WHERE BUILDING_BLOCK_NAME = 'UnassignVolumeGroup';
+
+UPDATE building_block_detail
+SET TARGET_ACTION = 'CHANGE_MODEL'
+WHERE TARGET_ACTION = 'CHANGEMODEL';
+
+INSERT INTO building_block_detail(BUILDING_BLOCK_NAME, RESOURCE_TYPE, TARGET_ACTION)
+VALUES
+('UnassignVfModuleBB', 'VF_MODULE', 'UNASSIGN'),
+('AssignAndActivateVpnBondingLinksBB', 'CUSTOM', 'CUSTOM'),
+('AvpnAssignServiceInstanceBB', 'CUSTOM', 'CUSTOM'),
+('CreateCustomerVpnBindingBB', 'CUSTOM', 'CUSTOM'),
+('SniroHoming', 'CUSTOM', 'CUSTOM'),
+('DeactivateAndUnassignVpnBondingLinksBB', 'CUSTOM', 'CUSTOM'),
+('DeactivateNetworkCollectionBB', 'CUSTOM', 'CUSTOM'),
+('AAICheckVnfInMaintBB', 'CUSTOM', 'CUSTOM'),
+('AAISetVnfInMaintBB', 'CUSTOM', 'CUSTOM'),
+('AAIUnsetVnfInMaintBB', 'CUSTOM', 'CUSTOM'),
+('SDNOVnfHealthCheckBB', 'CUSTOM', 'CUSTOM'),
+('VNF-Macro-Replace', 'CUSTOM', 'CUSTOM'),
+('HomingV2', 'CUSTOM', 'CUSTOM');
+
+ALTER TABLE building_block_detail
+MODIFY COLUMN BUILDING_BLOCK_NAME VARCHAR(200);
+
+ALTER TABLE orchestration_flow_reference
+ADD CONSTRAINT fk_orchestration_flow_reference__building_block_detail
+FOREIGN KEY (FLOW_NAME) REFERENCES building_block_detail(BUILDING_BLOCK_NAME)
+ON DELETE CASCADE
+ON UPDATE CASCADE;
+
+INSERT INTO orchestration_status_state_transition_directive(RESOURCE_TYPE, ORCHESTRATION_STATUS, TARGET_ACTION, FLOW_DIRECTIVE)
+VALUES
+('CUSTOM', 'ACTIVE', 'CUSTOM', 'CONTINUE'),
+('CUSTOM', 'ASSIGNED', 'CUSTOM', 'CONTINUE'),
+('CUSTOM', 'CREATED', 'CUSTOM', 'CONTINUE'),
+('CUSTOM', 'INVENTORIED', 'CUSTOM', 'CONTINUE'),
+('CUSTOM', 'PENDING', 'CUSTOM', 'CONTINUE'),
+('CUSTOM', 'PENDING_ACTIVATION', 'CUSTOM', 'CONTINUE'),
+('CUSTOM', 'PENDING_CREATE', 'CUSTOM', 'CONTINUE'),
+('CUSTOM', 'PENDING_DELETE', 'CUSTOM', 'CONTINUE'),
+('CUSTOM', 'PRECREATED', 'CUSTOM', 'CONTINUE');
diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.16__Remove_Orchestration_Flow_Reference_FK_To_Building_Block_Detail_Pre_New_Solution.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.16__Remove_Orchestration_Flow_Reference_FK_To_Building_Block_Detail_Pre_New_Solution.sql
new file mode 100644
index 0000000000..ee3cdd21ac
--- /dev/null
+++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.16__Remove_Orchestration_Flow_Reference_FK_To_Building_Block_Detail_Pre_New_Solution.sql
@@ -0,0 +1,4 @@
+USE catalogdb;
+
+ALTER TABLE orchestration_flow_reference
+DROP FOREIGN KEY fk_orchestration_flow_reference__building_block_detail; \ No newline at end of file
diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.17__DeactivateAndCloudDeleteChanges.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.17__DeactivateAndCloudDeleteChanges.sql
new file mode 100644
index 0000000000..77b4e60d49
--- /dev/null
+++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.17__DeactivateAndCloudDeleteChanges.sql
@@ -0,0 +1,8 @@
+USE catalogdb;
+
+INSERT INTO northbound_request_ref_lookup(MACRO_ACTION, ACTION, REQUEST_SCOPE, IS_ALACARTE, MIN_API_VERSION, MAX_API_VERSION, IS_TOPLEVELFLOW) VALUES
+('VFModule-DeactivateAndCloudDelete', 'deactivateAndCloudDelete', 'VfModule', true, '7','7', true);
+
+INSERT INTO orchestration_flow_reference(COMPOSITE_ACTION, SEQ_NO, FLOW_NAME, FLOW_VERSION, NB_REQ_REF_LOOKUP_ID) VALUES
+('VFModule-DeactivateAndCloudDelete', '1', 'DeactivateVfModuleBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'VFModule-DeactivateAndCloudDelete')),
+('VFModule-DeactivateAndCloudDelete', '2', 'DeleteVfModuleBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'VFModule-DeactivateAndCloudDelete'));
diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.18__AlterVNFRecipeVnfTypeColumnName.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.18__AlterVNFRecipeVnfTypeColumnName.sql
new file mode 100644
index 0000000000..44a35b9d58
--- /dev/null
+++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.18__AlterVNFRecipeVnfTypeColumnName.sql
@@ -0,0 +1,9 @@
+USE catalogdb;
+
+ALTER TABLE `vnf_recipe`
+CHANGE COLUMN `VNF_TYPE` `NF_ROLE` VARCHAR(200) NULL DEFAULT NULL ;
+
+INSERT INTO `vnf_recipe` (`NF_ROLE`, `ACTION`, `VERSION_STR`, `DESCRIPTION`, `ORCHESTRATION_URI`, `RECIPE_TIMEOUT`)
+VALUES ('vCE', 'replaceInstance', '1', 'custom bpmn for vCE recreate via POLO', '/mso/async/services/RecreateInfraVce', '180');
+
+DELETE FROM `vnf_recipe` WHERE `NF_ROLE`='POLO_DEFAULT'; \ No newline at end of file
diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.1__Update_Recipe_For_API_Flag.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.1__Update_Recipe_For_API_Flag.sql
new file mode 100644
index 0000000000..74e57e6647
--- /dev/null
+++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.1__Update_Recipe_For_API_Flag.sql
@@ -0,0 +1,34 @@
+USE catalogdb;
+
+UPDATE vnf_recipe
+SET ORCHESTRATION_URI = '/mso/async/services/VnfInPlaceUpdate'
+WHERE VNF_TYPE = 'GR-API-DEFAULT' AND ACTION = 'inPlaceSoftwareUpdate';
+
+UPDATE vnf_recipe
+SET ORCHESTRATION_URI = '/mso/async/services/VnfConfigUpdate'
+WHERE VNF_TYPE = 'GR-API-DEFAULT' AND ACTION = 'applyUpdatedConfig';
+
+UPDATE service
+SET MODEL_UUID = 'd88da85c-d9e8-4f73-b837-3a72a431622b'
+WHERE MODEL_UUID = 'DummyGRApiDefaultModelUUID?';
+
+UPDATE service
+SET MODEL_INVARIANT_UUID = '944862ae-bb65-4429-8330-a6c9170d6672'
+WHERE MODEL_INVARIANT_UUID = 'DummyGRApiDefaultModelInvariantUUID?';
+
+UPDATE service_recipe
+SET SERVICE_MODEL_UUID = 'd88da85c-d9e8-4f73-b837-3a72a431622b'
+WHERE SERVICE_MODEL_UUID = 'DummyGRApiDefaultModelUUID?';
+
+INSERT INTO service_recipe (ACTION, VERSION_STR, DESCRIPTION, ORCHESTRATION_URI, RECIPE_TIMEOUT, SERVICE_MODEL_UUID)
+VALUES
+('assignInstance', '1.0', 'Gr api recipe to assign service-instance', '/mso/async/services/WorkflowActionBB', 180, 'd88da85c-d9e8-4f73-b837-3a72a431622b'),
+('unassignInstance', '1.0', 'Gr api recipe to unassign service-instance', '/mso/async/services/WorkflowActionBB', 180, 'd88da85c-d9e8-4f73-b837-3a72a431622b');
+
+UPDATE service_recipe
+SET DESCRIPTION = 'Vnf api recipe to assign service-instance'
+WHERE ACTION = 'assignInstance' AND DESCRIPTION LIKE '%VID_DEFAULT%';
+
+UPDATE service_recipe
+SET DESCRIPTION = 'Vnf api recipe to unassign service-instance'
+WHERE ACTION = 'unassignInstance' AND DESCRIPTION LIKE '%VID_DEFAULT%'; \ No newline at end of file
diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.2__ONAP_TABLE_CHANGES.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.2__ONAP_TABLE_CHANGES.sql
new file mode 100644
index 0000000000..f90b18c28d
--- /dev/null
+++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.2__ONAP_TABLE_CHANGES.sql
@@ -0,0 +1,30 @@
+use catalogdb;
+create table if not exists ar_recipe (
+ ID INT(11) not null auto_increment,
+ MODEL_NAME varchar(200) NOT NULL,
+ ACTION varchar(200) NOT NULL,
+ VERSION_STR varchar(200) NOT NULL,
+ SERVICE_TYPE varchar(200),
+ DESCRIPTION varchar(200),
+ ORCHESTRATION_URI varchar(200) NOT NULL,
+ AR_PARAM_XSD varchar(200),
+ RECIPE_TIMEOUT INT(11),
+ CREATION_TIMESTAMP DATETIME NOT NULL default current_timestamp,
+ primary key (ID),
+ unique key `uk_ar_recipe` (`model_name`,`action`,`version_str`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+alter table network_recipe
+ ADD RESOURCE_CATEGORY varchar(200),
+ ADD RESOURCE_SUB_CATEGORY varchar(200);
+
+alter table service ADD SERVICE_CATEGORY varchar(200);
+
+alter table vnf_resource
+ ADD RESOURCE_CATEGORY varchar(200),
+ ADD RESOURCE_SUB_CATEGORY varchar(200);
+
+alter table network_resource
+ ADD RESOURCE_CATEGORY varchar(200),
+ ADD RESOURCE_SUB_CATEGORY varchar(200);
+
diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.3__MacroTableChanges.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.3__MacroTableChanges.sql
new file mode 100644
index 0000000000..4a74edb245
--- /dev/null
+++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.3__MacroTableChanges.sql
@@ -0,0 +1,24 @@
+USE catalogdb;
+
+
+
+UPDATE northbound_request_ref_lookup SET ACTION = 'createService' WHERE MACRO_ACTION = 'Service-Create';
+UPDATE northbound_request_ref_lookup SET ACTION = 'deleteService' WHERE MACRO_ACTION = 'Service-Delete';
+UPDATE northbound_request_ref_lookup SET ACTION = 'assignService' WHERE MACRO_ACTION = 'Service-Macro-Assign';
+UPDATE northbound_request_ref_lookup SET ACTION = 'activateService' WHERE MACRO_ACTION = 'Service-Macro-Activate';
+UPDATE northbound_request_ref_lookup SET ACTION = 'unassignService' WHERE MACRO_ACTION = 'Service-Macro-Unassign';
+UPDATE northbound_request_ref_lookup SET ACTION = 'createService' WHERE MACRO_ACTION = 'Service-Macro-Create';
+UPDATE northbound_request_ref_lookup SET ACTION = 'deleteService' WHERE MACRO_ACTION = 'Service-Macro-Delete';
+UPDATE northbound_request_ref_lookup SET ACTION = 'createService' WHERE MACRO_ACTION = 'Network-Create';
+UPDATE northbound_request_ref_lookup SET ACTION = 'deleteService' WHERE MACRO_ACTION = 'Network-Delete';
+UPDATE northbound_request_ref_lookup SET ACTION = 'replaceService' WHERE MACRO_ACTION = 'VNF-Macro-Replace';
+UPDATE northbound_request_ref_lookup SET ACTION = 'createService' WHERE MACRO_ACTION = 'VNF-Create';
+UPDATE northbound_request_ref_lookup SET ACTION = 'deleteService' WHERE MACRO_ACTION = 'VNF-Delete';
+UPDATE northbound_request_ref_lookup SET ACTION = 'createService' WHERE MACRO_ACTION = 'VolumeGroup-Create';
+UPDATE northbound_request_ref_lookup SET ACTION = 'deleteService' WHERE MACRO_ACTION = 'VolumeGroup-Delete';
+UPDATE northbound_request_ref_lookup SET ACTION = 'createService' WHERE MACRO_ACTION = 'VFModule-Create';
+UPDATE northbound_request_ref_lookup SET ACTION = 'deleteService' WHERE MACRO_ACTION = 'VFModule-Delete';
+UPDATE northbound_request_ref_lookup SET ACTION = 'createService' WHERE MACRO_ACTION = 'NetworkCollection-Macro-Create';
+UPDATE northbound_request_ref_lookup SET ACTION = 'deleteService' WHERE MACRO_ACTION = 'NetworkCollection-Macro-Delete';
+UPDATE northbound_request_ref_lookup SET ACTION = 'deleteService' WHERE MACRO_ACTION = 'AVPNBonding-Macro-Delete';
+UPDATE northbound_request_ref_lookup SET ACTION = 'createService' WHERE MACRO_ACTION = 'AVPNBonding-Macro-Create'; \ No newline at end of file
diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.4__MacroReferenceData1806.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.4__MacroReferenceData1806.sql
new file mode 100644
index 0000000000..2e264d9bbc
--- /dev/null
+++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.4__MacroReferenceData1806.sql
@@ -0,0 +1,130 @@
+
+USE catalogdb;
+
+INSERT INTO northbound_request_ref_lookup(MACRO_ACTION, ACTION, REQUEST_SCOPE, IS_ALACARTE, MIN_API_VERSION, MAX_API_VERSION) VALUES
+('Service-Create', 'createInstance', 'Service', true, '7','7'),
+('Service-Delete', 'deleteInstance', 'Service', true, '7','7'),
+('Service-Macro-Assign', 'assignInstance', 'Service', false, '7','7'),
+('Service-Macro-Activate', 'activateInstance', 'Service', false, '7','7'),
+('Service-Macro-Unassign', 'unassignInstance', 'Service', false, '7','7'),
+('Service-Macro-Create', 'createInstance', 'Service', false, '7','7'),
+('Service-Macro-Delete', 'deleteInstance', 'Service', false, '7','7'),
+('Network-Create', 'createInstance', 'Network', true, '7','7'),
+('Network-Delete', 'deleteInstance', 'Network', true, '7','7'),
+('VNF-Macro-Recreate', 'replaceInstance', 'Vnf', false, '7','7'),
+('VNF-Macro-Replace', 'internalReplace', 'Vnf', false, '7','7'),
+('VNF-Create', 'createInstance', 'Vnf', true, '7', '7'),
+('VNF-Delete', 'deleteInstance', 'Vnf', true, '7', '7'),
+('VolumeGroup-Create', 'createInstance', 'VolumeGroup', true, '7','7'),
+('VolumeGroup-Delete', 'deleteInstance', 'VolumeGroup', true, '7','7'),
+('VFModule-Create', 'createInstance', 'VfModule', true, '7','7'),
+('VFModule-Delete', 'deleteInstance', 'VfModule', true, '7','7'),
+('NetworkCollection-Macro-Create', 'createInstance', 'NetworkCollection', false, '7','7'),
+('NetworkCollection-Macro-Delete', 'deleteInstance', 'NetworkCollection', false, '7','7'),
+('AVPNBonding-Macro-Delete', 'deleteInstance', 'BondingService', true, '7','7'),
+('AVPNBonding-Macro-Create', 'createInstance', 'BondingService', true, '7','7');
+
+INSERT INTO orchestration_flow_reference(COMPOSITE_ACTION, SEQ_NO, FLOW_NAME, FLOW_VERSION, NB_REQ_REF_LOOKUP_ID) VALUES
+('Service-Create', '1', 'AssignServiceInstanceBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Create')),
+('Service-Create', '2', 'ActivateServiceInstanceBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Create')),
+('Service-Delete', '1', 'DeactivateServiceInstanceBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Delete')),
+('Service-Delete', '2', 'UnassignServiceInstanceBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Delete')),
+('Service-Macro-Assign', '1', 'AssignServiceInstanceBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Assign')),
+('Service-Macro-Assign', '2', 'AssignNetworkBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Assign')),
+('Service-Macro-Assign', '3', 'AssignVnfBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Assign')),
+('Service-Macro-Assign', '4', 'AssignVolumeGroupBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Assign')),
+('Service-Macro-Assign', '5', 'AssignVfModuleBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Assign')),
+('Service-Macro-Activate', '1', 'CreateNetworkBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Activate')),
+('Service-Macro-Activate', '2', 'ActivateNetworkBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Activate')),
+('Service-Macro-Activate', '3', 'CreateVolumeGroupBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Activate')),
+('Service-Macro-Activate', '4', 'ActivateVolumeGroupBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Activate')),
+('Service-Macro-Activate', '5', 'CreateVfModuleBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Activate')),
+('Service-Macro-Activate', '6', 'ActivateVfModuleBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Activate')),
+('Service-Macro-Activate', '7', 'ActivateVnfBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Activate')),
+('Service-Macro-Activate', '8', 'ActivateServiceInstance', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Activate')),
+('Service-Macro-Unassign', '1', 'UnassignVfModuleBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Unassign')),
+('Service-Macro-Unassign', '2', 'UnassignVolumeGroupBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Unassign')),
+('Service-Macro-Unassign', '3', 'UnassignVnfBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Unassign')),
+('Service-Macro-Unassign', '4', 'UnassignNetworkBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Unassign')),
+('Service-Macro-Unassign', '5', 'UnassignServiceInstanceBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Unassign')),
+('Service-Macro-Create', '1', 'AssignServiceInstanceBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create')),
+('Service-Macro-Create', '2', 'CreateNetworkCollectionBB',1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create')),
+('Service-Macro-Create', '3', 'AssignNetworkBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create')),
+('Service-Macro-Create', '4', 'AssignVnfBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create')),
+('Service-Macro-Create', '5', 'AssignVolumeGroupBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create')),
+('Service-Macro-Create', '6', 'AssignVfModuleBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create')),
+('Service-Macro-Create', '7', 'CreateNetworkBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create')),
+('Service-Macro-Create', '8', 'ActivateNetworkBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create')),
+('Service-Macro-Create', '9', 'CreateVolumeGroupBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create')),
+('Service-Macro-Create', '10', 'ActivateVolumeGroupBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create')),
+('Service-Macro-Create', '11', 'CreateVfModuleBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create')),
+('Service-Macro-Create', '12', 'ActivateVfModuleBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create')),
+('Service-Macro-Create', '13', 'ActivateVnfBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create')),
+('Service-Macro-Create', '14', 'ActivateNetworkCollectionBB',1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create')),
+('Service-Macro-Create', '15', 'ActivateServiceInstanceBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Create')),
+('Service-Macro-Delete', '1', 'DeactivateVfModuleBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Delete')),
+('Service-Macro-Delete', '2', 'DeleteVfModuleBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Delete')),
+('Service-Macro-Delete', '3', 'DeactivateVolumeGroupBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Delete')),
+('Service-Macro-Delete', '4', 'DeleteVolumeGroupBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Delete')),
+('Service-Macro-Delete', '5', 'DeactivateVnfBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Delete')),
+('Service-Macro-Delete', '6', 'DeactivateNetworkBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Delete')),
+('Service-Macro-Delete', '7', 'DeleteNetworkBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Delete')),
+('Service-Macro-Delete', '8', 'DeactivateNetworkCollectionBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Delete')),
+('Service-Macro-Delete', '9', 'DeleteNetworkCollectionBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Delete')),
+('Service-Macro-Delete', '10', 'DeactivateServiceInstanceBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Delete')),
+('Service-Macro-Delete', '11', 'UnassignVfModuleBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Delete')),
+('Service-Macro-Delete', '12', 'UnassignVolumeGroupBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Delete')),
+('Service-Macro-Delete', '13', 'UnassignVnfBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Delete')),
+('Service-Macro-Delete', '14', 'UnassignNetworkBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Delete')),
+('Service-Macro-Delete', '15', 'UnassignServiceInstanceBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Delete')),
+('Network-Create', '1', 'AssignNetwork1802BB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Network-Create')),
+('Network-Create', '2', 'CreateNetworkBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Network-Create')),
+('Network-Create', '3', 'ActivateNetworkBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Network-Create')),
+('Network-Delete', '1', 'DeactivateNetworkBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Network-Delete')),
+('Network-Delete', '2', 'DeleteNetworkBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Network-Delete')),
+('Network-Delete', '3', 'UnassignNetwork1802BB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Network-Delete')),
+('VNF-Create', '1', 'AssignVnfBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'VNF-Create')),
+('VNF-Create', '2', 'ActivateVnfBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'VNF-Create')),
+('VNF-Delete', '1', 'DeactivateVnfBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'VNF-Delete')),
+('VNF-Delete', '2', 'UnassignVnfBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'VNF-Delete')),
+('VNF-Macro-Recreate', '1', 'AAICheckVnfInMaintBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'VNF-Macro-Recreate')),
+('VNF-Macro-Recreate', '2', 'AAISetVnfInMaintBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'VNF-Macro-Recreate')),
+('VNF-Macro-Recreate', '3', 'VNF-Macro-Replace', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'VNF-Macro-Recreate')),
+('VNF-Macro-Recreate', '4', 'SDNOVnfHealthCheckBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'VNF-Macro-Recreate')),
+('VNF-Macro-Recreate', '5', 'AAIUnsetVnfInMaintBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'VNF-Macro-Recreate')),
+('VNF-Macro-Replace', '1', 'DeactivateVfModuleBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'VNF-Macro-Replace')),
+('VNF-Macro-Replace', '2', 'DeleteVfModuleBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'VNF-Macro-Replace')),
+('VNF-Macro-Replace', '3', 'DeactivateVnfBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'VNF-Macro-Replace')),
+('VNF-Macro-Replace', '4', 'CreateVfModuleBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'VNF-Macro-Replace')),
+('VNF-Macro-Replace', '5', 'ActivateVfModuleBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'VNF-Macro-Replace')),
+('VNF-Macro-Replace', '6', 'ActivateVnfBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'VNF-Macro-Replace')),
+('VolumeGroup-Create', '1', 'AssignVolumeGroupBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'VolumeGroup-Create')),
+('VolumeGroup-Create', '2', 'CreateVolumeGroupBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'VolumeGroup-Create')),
+('VolumeGroup-Create', '3', 'ActivateVolumeGroupBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'VolumeGroup-Create')),
+('VolumeGroup-Delete', '1', 'DeactivateVolumeGroupBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'VolumeGroup-Delete')),
+('VolumeGroup-Delete', '2', 'DeleteVolumeGroupBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'VolumeGroup-Delete')),
+('VolumeGroup-Delete', '3', 'UnassignVolumeGroupBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'VolumeGroup-Delete')),
+('VFModule-Create', '1', 'AssignVfModuleBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'VFModule-Create')),
+('VFModule-Create', '2', 'CreateVfModuleBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'VFModule-Create')),
+('VFModule-Create', '3', 'ActivateVfModuleBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'VFModule-Create')),
+('VFModule-Delete', '1', 'DeactivateVfModuleBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'VFModule-Delete')),
+('VFModule-Delete', '2', 'DeleteVfModuleBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'VFModule-Delete')),
+('VFModule-Delete', '3', 'UnassignVfModuleBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'VFModule-Delete')),
+('NetworkCollection-Macro-Create', '1', 'CreateNetworkCollectionBB',1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'NetworkCollection-Macro-Create')),
+('NetworkCollection-Macro-Create', '2', 'AssignNetworkBB',1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'NetworkCollection-Macro-Create')),
+('NetworkCollection-Macro-Create', '3', 'CreateNetworkBB',1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'NetworkCollection-Macro-Create')),
+('NetworkCollection-Macro-Create', '4', 'ActivateNetworkBB',1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'NetworkCollection-Macro-Create')),
+('NetworkCollection-Macro-Create', '5', 'ActivateNetworkCollectionBB',1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'NetworkCollection-Macro-Create')),
+('NetworkCollection-Macro-Delete', '1', 'DeactivateNetworkBB',1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'NetworkCollection-Macro-Delete')),
+('NetworkCollection-Macro-Delete', '2', 'DeleteNetworkBB',1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'NetworkCollection-Macro-Delete')),
+('NetworkCollection-Macro-Delete', '3', 'UnassignNetworkBB',1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'NetworkCollection-Macro-Delete')),
+('NetworkCollection-Macro-Delete', '4', 'DeactivateNetworkCollectionBB',1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'NetworkCollection-Macro-Delete')),
+('NetworkCollection-Macro-Delete', '5', 'DeleteNetworkCollectionBB',1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'NetworkCollection-Macro-Delete')),
+('AVPNBonding-Macro-Delete','1','DeactivateServiceInstanceBB',1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'AVPNBonding-Macro-Delete')),
+('AVPNBonding-Macro-Delete','2','DeactivateAndUnassignVpnBondingLinksBB',1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'AVPNBonding-Macro-Delete')),
+('AVPNBonding-Macro-Delete','3','UnassignServiceInstanceBB',1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'AVPNBonding-Macro-Delete')),
+('AVPNBonding-Macro-Create','1','SniroHoming',1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'AVPNBonding-Macro-Create')),
+('AVPNBonding-Macro-Create','2','CreateCustomerVpnBindingBB',1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'AVPNBonding-Macro-Create')),
+('AVPNBonding-Macro-Create','3','AvpnAssignServiceInstanceBB',1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'AVPNBonding-Macro-Create')),
+('AVPNBonding-Macro-Create','4','AssignAndActivateVpnBondingLinksBB',1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'AVPNBonding-Macro-Create')),
+('AVPNBonding-Macro-Create','5','ActivateServiceInstanceBB',1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'AVPNBonding-Macro-Create'));
diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.5__RainyDayHandlerMacroData.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.5__RainyDayHandlerMacroData.sql
new file mode 100644
index 0000000000..b81688e47d
--- /dev/null
+++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.5__RainyDayHandlerMacroData.sql
@@ -0,0 +1,45 @@
+use catalogdb;
+
+INSERT INTO rainy_day_handler_macro (FLOW_NAME, SERVICE_TYPE, VNF_TYPE, ERROR_CODE, WORK_STEP, POLICY)
+VALUES
+('ActivateNetworkBB', '*', '*', '*', "*" , 'Rollback'),
+('ActivateNetworkCollectionBB', '*', '*', '*', "*" , 'Rollback'),
+('ActivateServiceInstanceBB', '*', '*', '*', "*" , 'Rollback'),
+('ActivateVfModuleBB', '*', '*', '*', "*" , 'Rollback'),
+('ActivateVnfBB', '*', '*', '*', "*" , 'Rollback'),
+('ActivateVolumeGroupBB', '*', '*', '*', "*" , 'Rollback'),
+('AssignNetwork1802BB', '*', '*', '*', "*" , 'Rollback'),
+('AssignNetworkBB', '*', '*', '*', "*" , 'Rollback'),
+('AssignServiceInstanceBB', '*', '*', '*', "*" , 'Rollback'),
+('AssignVfModuleBB', '*', '*', '*', "*" , 'Rollback'),
+('AssignVnfBB', '*', '*', '*', "*" , 'Rollback'),
+('AssignVolumeGroupBB', '*', '*', '*', "*" , 'Rollback'),
+('CreateNetworkBB', '*', '*', '*', "*" , 'Retry'),
+('CreateNetworkCollectionBB', '*', '*', '*', "*" , 'Retry'),
+('CreateVfModuleBB', '*', '*', '*', "*" , 'Retry'),
+('CreateVolumeGroupBB', '*', '*', '*', "*" , 'Retry'),
+('ChangeModelServiceInstanceBB', '*', '*', '*', "*" , 'Abort'),
+('ChangeModelVfModuleBB', '*', '*', '*', "*" , 'Abort'),
+('ChangeModelVnfBB', '*', '*', '*', "*" , 'Abort'),
+('CreateCustomerBB', '*', '*', '*', "*" , 'Abort'),
+('DeactivateNetworkBB', '*', '*', '*', "*" , 'Abort'),
+('DeactivateServiceInstanceBB', '*', '*', '*', "*" , 'Abort'),
+('DeactivateVfModuleBB', '*', '*', '*', "*" , 'Abort'),
+('DeactivateVnfBB', '*', '*', '*', "*" , 'Abort'),
+('DeactivateVolumeGroupBB', '*', '*', '*', "*" , 'Abort'),
+('DeleteNetworkBB', '*', '*', '*', "*" , 'Retry'),
+('DeleteNetworkCollectionBB', '*', '*', '*', "*" , 'Retry'),
+('DeleteVfModuleBB', '*', '*', '*', "*" , 'Retry'),
+('DeleteVolumeGroupBB', '*', '*', '*', "*" , 'Retry'),
+('UnassignNetwork1802BB', '*', '*', '*', "*" , 'Retry'),
+('UnassignNetworkBB', '*', '*', '*', "*" , 'Retry'),
+('UnassignServiceInstanceBB', '*', '*', '*', "*" , 'Retry'),
+('UnassignVfModuleBB', '*', '*', '*', "*" , 'Retry'),
+('UnassignVnfBB', '*', '*', '*', "*" , 'Retry'),
+('UnassignVolumeGroupBB', '*', '*', '*', "*" , 'Retry'),
+('UpdateNetworkBB', '*', '*', '*', "*" , 'Retry'),
+('VnfAdapterBB', '*', '*', '*', "*" , 'Retry'),
+('AAICheckVnfInMaintBB', '*', '*', '*', "*" , 'Abort'),
+('AAISetVnfInMaintBB', '*', '*', '*', "*" , 'Abort'),
+('SDNOVnfHealthCheckBB', '*', '*', '*', "*" , 'Abort'),
+('AAIUnsetVnfInMaintBB', '*', '*', '*', "*" , 'Abort'); \ No newline at end of file
diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.6__NorthboundAddTopLevelFlow.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.6__NorthboundAddTopLevelFlow.sql
new file mode 100644
index 0000000000..ee2b63c079
--- /dev/null
+++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.6__NorthboundAddTopLevelFlow.sql
@@ -0,0 +1,28 @@
+USE catalogdb;
+
+ALTER TABLE
+ `northbound_request_ref_lookup`
+ADD
+ ISTOPLEVELFLOW TINYINT(1);
+
+UPDATE northbound_request_ref_lookup SET ISTOPLEVELFLOW = TRUE WHERE MACRO_ACTION = 'Service-Create';
+UPDATE northbound_request_ref_lookup SET ISTOPLEVELFLOW = TRUE WHERE MACRO_ACTION = 'Service-Delete';
+UPDATE northbound_request_ref_lookup SET ISTOPLEVELFLOW = TRUE WHERE MACRO_ACTION = 'Service-Macro-Assign';
+UPDATE northbound_request_ref_lookup SET ISTOPLEVELFLOW = TRUE WHERE MACRO_ACTION = 'Service-Macro-Activate';
+UPDATE northbound_request_ref_lookup SET ISTOPLEVELFLOW = TRUE WHERE MACRO_ACTION = 'Service-Macro-Unassign';
+UPDATE northbound_request_ref_lookup SET ISTOPLEVELFLOW = TRUE WHERE MACRO_ACTION = 'Service-Macro-Create';
+UPDATE northbound_request_ref_lookup SET ISTOPLEVELFLOW = TRUE WHERE MACRO_ACTION = 'Service-Macro-Delete';
+UPDATE northbound_request_ref_lookup SET ISTOPLEVELFLOW = TRUE WHERE MACRO_ACTION = 'Network-Create';
+UPDATE northbound_request_ref_lookup SET ISTOPLEVELFLOW = TRUE WHERE MACRO_ACTION = 'Network-Delete';
+UPDATE northbound_request_ref_lookup SET ISTOPLEVELFLOW = FALSE WHERE MACRO_ACTION = 'VNF-Macro-Replace';
+UPDATE northbound_request_ref_lookup SET ISTOPLEVELFLOW = TRUE WHERE MACRO_ACTION = 'VNF-Create';
+UPDATE northbound_request_ref_lookup SET ISTOPLEVELFLOW = TRUE WHERE MACRO_ACTION = 'VNF-Delete';
+UPDATE northbound_request_ref_lookup SET ISTOPLEVELFLOW = TRUE WHERE MACRO_ACTION = 'VolumeGroup-Create';
+UPDATE northbound_request_ref_lookup SET ISTOPLEVELFLOW = TRUE WHERE MACRO_ACTION = 'VolumeGroup-Delete';
+UPDATE northbound_request_ref_lookup SET ISTOPLEVELFLOW = TRUE WHERE MACRO_ACTION = 'VFModule-Create';
+UPDATE northbound_request_ref_lookup SET ISTOPLEVELFLOW = TRUE WHERE MACRO_ACTION = 'VFModule-Delete';
+UPDATE northbound_request_ref_lookup SET ISTOPLEVELFLOW = TRUE WHERE MACRO_ACTION = 'NetworkCollection-Macro-Create';
+UPDATE northbound_request_ref_lookup SET ISTOPLEVELFLOW = TRUE WHERE MACRO_ACTION = 'NetworkCollection-Macro-Delete';
+UPDATE northbound_request_ref_lookup SET ISTOPLEVELFLOW = TRUE WHERE MACRO_ACTION = 'AVPNBonding-Macro-Delete';
+UPDATE northbound_request_ref_lookup SET ISTOPLEVELFLOW = TRUE WHERE MACRO_ACTION = 'AVPNBonding-Macro-Create';
+UPDATE northbound_request_ref_lookup SET ISTOPLEVELFLOW = TRUE WHERE MACRO_ACTION = 'VNF-Macro-Recreate'; \ No newline at end of file
diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.7__VNFCInstanceGroup1806.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.7__VNFCInstanceGroup1806.sql
new file mode 100644
index 0000000000..d83d6ecad9
--- /dev/null
+++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.7__VNFCInstanceGroup1806.sql
@@ -0,0 +1,57 @@
+use catalogdb;
+
+CREATE TABLE IF NOT EXISTS `catalogdb`.`collection_resource_instance_group_customization` (
+ `COLLECTION_RESOURCE_CUSTOMIZATION_MODEL_UUID` VARCHAR(200) NOT NULL,
+ `INSTANCE_GROUP_MODEL_UUID` VARCHAR(200) NOT NULL,
+ `FUNCTION` VARCHAR(200) NULL,
+ `DESCRIPTION` VARCHAR(1200) NULL,
+ `SUBINTERFACE_NETWORK_QUANTITY` INT(11) NULL,
+ `CREATION_TIMESTAMP` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ PRIMARY KEY (`COLLECTION_RESOURCE_CUSTOMIZATION_MODEL_UUID`, `INSTANCE_GROUP_MODEL_UUID`),
+ INDEX `fk_collection_resource_instance_group_customization__instan_idx` (`INSTANCE_GROUP_MODEL_UUID` ASC),
+ CONSTRAINT `fk_collection_resource_instance_group_customization__collecti1`
+ FOREIGN KEY (`COLLECTION_RESOURCE_CUSTOMIZATION_MODEL_UUID`)
+ REFERENCES `catalogdb`.`collection_resource_customization` (`MODEL_CUSTOMIZATION_UUID`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE,
+ CONSTRAINT `fk_collection_resource_instance_group_customization__instance1`
+ FOREIGN KEY (`INSTANCE_GROUP_MODEL_UUID`)
+ REFERENCES `catalogdb`.`instance_group` (`MODEL_UUID`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE)
+ENGINE = InnoDB
+DEFAULT CHARACTER SET = latin1;
+
+CREATE TABLE IF NOT EXISTS `catalogdb`.`vnfc_instance_group_customization` (
+ `VNF_RESOURCE_CUSTOMIZATION_MODEL_UUID` VARCHAR(200) NOT NULL,
+ `INSTANCE_GROUP_MODEL_UUID` VARCHAR(200) NOT NULL,
+ `FUNCTION` VARCHAR(200) NULL,
+ `DESCRIPTION` VARCHAR(1200) NULL,
+ `CREATION_TIMESTAMP` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ PRIMARY KEY (`VNF_RESOURCE_CUSTOMIZATION_MODEL_UUID`, `INSTANCE_GROUP_MODEL_UUID`),
+ INDEX `fk_vnfc_instance_group_customization__instance_group1_idx` (`INSTANCE_GROUP_MODEL_UUID` ASC),
+ CONSTRAINT `fk_vnfc_instance_group_customization__vnf_resource_customizat1`
+ FOREIGN KEY (`VNF_RESOURCE_CUSTOMIZATION_MODEL_UUID`)
+ REFERENCES `catalogdb`.`vnf_resource_customization` (`MODEL_CUSTOMIZATION_UUID`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE,
+ CONSTRAINT `fk_vnfc_instance_group_customization__instance_group1`
+ FOREIGN KEY (`INSTANCE_GROUP_MODEL_UUID`)
+ REFERENCES `catalogdb`.`instance_group` (`MODEL_UUID`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE)
+ENGINE = InnoDB
+DEFAULT CHARACTER SET = latin1;
+
+Alter TABLE `instance_group`
+DROP COLUMN `function`,
+DROP COLUMN `description`,
+CHANGE `primary_type` `object_type` varchar(200) NOT NULL,
+MODIFY `tosca_node_type` varchar(200) NULL;
+
+Alter TABLE `collection_resource_customization`
+DROP COLUMN `subinterface_network_quantity`,
+CHANGE `primary_type` `object_type` varchar(200) NOT NULL,
+MODIFY role varchar(200) NULL,
+MODIFY function varchar(200) NULL,
+MODIFY collection_resource_type varchar(200) NULL;
diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.8__OrchestrationStatus_ValidActionStateTransition.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.8__OrchestrationStatus_ValidActionStateTransition.sql
new file mode 100644
index 0000000000..1f3e7906ec
--- /dev/null
+++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.8__OrchestrationStatus_ValidActionStateTransition.sql
@@ -0,0 +1,398 @@
+USE catalogdb;
+
+CREATE TABLE IF NOT EXISTS `building_block_detail` (
+`id` INT(11) AUTO_INCREMENT,
+`building_block_name` VARCHAR(50) UNIQUE NOT NULL,
+`resource_type` VARCHAR(25) NOT NULL,
+`target_action` VARCHAR(25) NOT NULL,
+PRIMARY KEY(`id`))
+ENGINE = InnoDB
+DEFAULT CHARACTER SET = latin1;
+
+INSERT INTO building_block_detail (building_block_name, resource_type, target_action)
+VALUES
+('AssignServiceInstanceBB', 'SERVICE', 'ASSIGN'),
+('AssignVnfBB', 'VNF', 'ASSIGN'),
+('AssignVolumeGroupBB', 'VOLUME_GROUP', 'ASSIGN'),
+('AssignVfModuleBB', 'VF_MODULE', 'ASSIGN'),
+('AssignNetworkBB', 'NETWORK', 'ASSIGN'),
+('AssignNetwork1802BB', 'NETWORK', 'ASSIGN'),
+
+('UnassignServiceInstanceBB', 'SERVICE', 'UNASSIGN'),
+('UnassignVnfBB', 'VNF', 'UNASSIGN'),
+('UnassignVolumeGroup', 'VOLUME_GROUP', 'UNASSIGN'),
+('UnassignNetwork1802BB', 'NETWORK', 'UNASSIGN'),
+('UnassignNetworkBB', 'NETWORK', 'UNASSIGN'),
+
+('ActivateServiceInstanceBB', 'SERVICE', 'ACTIVATE'),
+('ActivateVnfBB', 'VNF', 'ACTIVATE'),
+('ActivateVolumeGroupBB', 'VOLUME_GROUP', 'ACTIVATE'),
+('ActivateVfModuleBB', 'VF_MODULE', 'ACTIVATE'),
+('ActivateNetworkBB', 'NETWORK', 'ACTIVATE'),
+('ActivateNetworkCollectionBB', 'NETWORK', 'ACTIVATE'),
+
+('DeactivateServiceInstanceBB', 'SERVICE', 'DEACTIVATE'),
+('DeactivateVnfBB', 'VNF', 'DEACTIVATE'),
+('DeactivateVolumeGroupBB', 'VOLUME_GROUP', 'DEACTIVATE'),
+('DeactivateVfModuleBB', 'VF_MODULE', 'DEACTIVATE'),
+('DeactivateNetworkBB', 'NETWORK', 'DEACTIVATE'),
+
+
+('ChangeModelServiceInstanceBB', 'SERVICE', 'CHANGEMODEL'),
+('ChangeModelVnfBB', 'VNF', 'CHANGEMODEL'),
+('ChangeModelVfModuleBB', 'VF_MODULE', 'CHANGEMODEL'),
+
+
+('CreateVolumeGroupBB', 'VOLUME_GROUP', 'CREATE'),
+('CreateVfModuleBB', 'VF_MODULE', 'CREATE'),
+('CreateNetworkBB', 'NETWORK', 'CREATE'),
+('CreateNetworkCollectionBB', 'NETWORK', 'CREATE'),
+
+('DeleteVolumeGroupBB', 'VOLUME_GROUP', 'DELETE'),
+('DeleteVfModuleBB', 'VF_MODULE', 'DELETE'),
+('DeleteNetworkBB', 'NETWORK', 'DELETE'),
+('DeleteNetworkCollectionBB', 'NETWORK', 'DELETE');
+
+CREATE TABLE IF NOT EXISTS `orchestration_status_state_transition_directive` (
+`id` INT(11) AUTO_INCREMENT,
+`resource_type` VARCHAR(25) NOT NULL,
+`orchestration_status` VARCHAR(25) NOT NULL,
+`target_action` VARCHAR(25) NOT NULL,
+`flow_directive` VARCHAR(25) NOT NULL,
+PRIMARY KEY (`id`),
+UNIQUE KEY `UK_orchestration_status_state_transition_directive` (`resource_type`, `orchestration_status`, `target_action`))
+ENGINE = InnoDB
+DEFAULT CHARACTER SET = latin1;
+
+INSERT INTO orchestration_status_state_transition_directive (resource_type, orchestration_status, target_action, flow_directive)
+VALUES
+
+('SERVICE', 'PRECREATED', 'ASSIGN', 'CONTINUE'),
+('VNF', 'PRECREATED', 'ASSIGN', 'CONTINUE'),
+('VOLUME_GROUP', 'PRECREATED', 'ASSIGN', 'CONTINUE'),
+('VF_MODULE', 'PRECREATED', 'ASSIGN', 'CONTINUE'),
+('NETWORK', 'PRECREATED', 'ASSIGN', 'CONTINUE'),
+
+('SERVICE', 'INVENTORIED', 'ASSIGN', 'CONTINUE'),
+('VNF', 'INVENTORIED', 'ASSIGN', 'CONTINUE'),
+('VOLUME_GROUP', 'INVENTORIED', 'ASSIGN', 'FAIL'),
+('VF_MODULE', 'INVENTORIED', 'ASSIGN', 'CONTINUE'),
+('NETWORK', 'INVENTORIED', 'ASSIGN', 'CONTINUE'),
+
+('SERVICE', 'ASSIGNED', 'ASSIGN', 'SILENT_SUCCESS'),
+('VNF', 'ASSIGNED', 'ASSIGN', 'SILENT_SUCCESS'),
+('VOLUME_GROUP', 'ASSIGNED', 'ASSIGN', 'SILENT_SUCCESS'),
+('VF_MODULE', 'ASSIGNED', 'ASSIGN', 'SILENT_SUCCESS'),
+('NETWORK', 'ASSIGNED', 'ASSIGN', 'SILENT_SUCCESS'),
+
+('SERVICE', 'CREATED', 'ASSIGN', 'SILENT_SUCCESS'),
+('VNF', 'CREATED', 'ASSIGN', 'CONTINUE'),
+('VOLUME_GROUP', 'CREATED', 'ASSIGN', 'FAIL'),
+('VF_MODULE', 'CREATED', 'ASSIGN', 'SILENT_SUCCESS'),
+('NETWORK', 'CREATED', 'ASSIGN', 'SILENT_SUCCESS'),
+
+('SERVICE', 'ACTIVE', 'ASSIGN', 'SILENT_SUCCESS'),
+('VNF', 'ACTIVE', 'ASSIGN', 'SILENT_SUCCESS'),
+('VOLUME_GROUP', 'ACTIVE', 'ASSIGN', 'SILENT_SUCCESS'),
+('VF_MODULE', 'ACTIVE', 'ASSIGN', 'SILENT_SUCCESS'),
+('NETWORK', 'ACTIVE', 'ASSIGN', 'SILENT_SUCCESS'),
+
+('SERVICE', 'PENDING_CREATE', 'ASSIGN', 'FAIL'),
+('VNF', 'PENDING_CREATE', 'ASSIGN', 'FAIL'),
+('VOLUME_GROUP', 'PENDING_CREATE', 'ASSIGN', 'FAIL'),
+('VF_MODULE', 'PENDING_CREATE', 'ASSIGN', 'CONTINUE'),
+('NETWORK', 'PENDING_CREATE', 'ASSIGN', 'SILENT_SUCCESS'),
+
+('SERVICE', 'PENDING_DELETE', 'ASSIGN', 'SILENT_SUCCESS'),
+('VNF', 'PENDING_DELETE', 'ASSIGN', 'SILENT_SUCCESS'),
+('VOLUME_GROUP', 'PENDING_DELETE', 'ASSIGN', 'FAIL'),
+('VF_MODULE', 'PENDING_DELETE', 'ASSIGN', 'SILENT_SUCCESS'),
+('NETWORK', 'PENDING_DELETE', 'ASSIGN', 'SILENT_SUCCESS'),
+
+('SERVICE', 'PENDING_ACTIVATION', 'ASSIGN', 'FAIL'),
+('VNF', 'PENDING_ACTIVATION', 'ASSIGN', 'FAIL'),
+('VOLUME_GROUP', 'PENDING_ACTIVATION', 'ASSIGN', 'FAIL'),
+('VF_MODULE', 'PENDING_ACTIVATION', 'ASSIGN', 'SILENT_SUCCESS'),
+('NETWORK', 'PENDING_ACTIVATION', 'ASSIGN', 'FAIL'),
+
+('SERVICE', 'PENDING', 'ASSIGN', 'FAIL'),
+('VNF', 'PENDING', 'ASSIGN', 'FAIL'),
+('VOLUME_GROUP', 'PENDING', 'ASSIGN', 'SILENT_SUCCESS'),
+('VF_MODULE', 'PENDING', 'ASSIGN', 'FAIL'),
+('NETWORK', 'PENDING', 'ASSIGN', 'FAIL'),
+
+
+('SERVICE', 'PRECREATED', 'UNASSIGN', 'SILENT_SUCCESS'),
+('VNF', 'PRECREATED', 'UNASSIGN', 'SILENT_SUCCESS'),
+('VOLUME_GROUP', 'PRECREATED', 'UNASSIGN', 'SILENT_SUCCESS'),
+('VF_MODULE', 'PRECREATED', 'UNASSIGN', 'SILENT_SUCCESS'),
+('NETWORK', 'PRECREATED', 'UNASSIGN', 'SILENT_SUCCESS'),
+
+('SERVICE', 'INVENTORIED', 'UNASSIGN', 'CONTINUE'),
+('VNF', 'INVENTORIED', 'UNASSIGN', 'CONTINUE'),
+('VOLUME_GROUP', 'INVENTORIED', 'UNASSIGN', 'FAIL'),
+('VF_MODULE', 'INVENTORIED', 'UNASSIGN', 'CONTINUE'),
+('NETWORK', 'INVENTORIED', 'UNASSIGN', 'CONTINUE'),
+
+('SERVICE', 'ASSIGNED', 'UNASSIGN', 'CONTINUE'),
+('VNF', 'ASSIGNED', 'UNASSIGN', 'CONTINUE'),
+('VOLUME_GROUP', 'ASSIGNED', 'UNASSIGN', 'CONTINUE'),
+('VF_MODULE', 'ASSIGNED', 'UNASSIGN', 'CONTINUE'),
+('NETWORK', 'ASSIGNED', 'UNASSIGN', 'CONTINUE'),
+
+('SERVICE', 'CREATED', 'UNASSIGN', 'CONTINUE'),
+('VNF', 'CREATED', 'UNASSIGN', 'CONTINUE'),
+('VOLUME_GROUP', 'CREATED', 'UNASSIGN', 'FAIL'),
+('VF_MODULE', 'CREATED', 'UNASSIGN', 'FAIL'),
+('NETWORK', 'CREATED', 'UNASSIGN', 'FAIL'),
+
+('SERVICE', 'ACTIVE', 'UNASSIGN', 'FAIL'),
+('VNF', 'ACTIVE', 'UNASSIGN', 'FAIL'),
+('VOLUME_GROUP', 'ACTIVE', 'UNASSIGN', 'FAIL'),
+('VF_MODULE', 'ACTIVE', 'UNASSIGN', 'FAIL'),
+('NETWORK', 'ACTIVE', 'UNASSIGN', 'FAIL'),
+
+('SERVICE', 'PENDING_CREATE', 'UNASSIGN', 'FAIL'),
+('VNF', 'PENDING_CREATE', 'UNASSIGN', 'FAIL'),
+('VOLUME_GROUP', 'PENDING_CREATE', 'UNASSIGN', 'FAIL'),
+('VF_MODULE', 'PENDING_CREATE', 'UNASSIGN', 'CONTINUE'),
+('NETWORK', 'PENDING_CREATE', 'UNASSIGN', 'CONTINUE'),
+
+('SERVICE', 'PENDING_DELETE', 'UNASSIGN', 'CONTINUE'),
+('VNF', 'PENDING_DELETE', 'UNASSIGN', 'CONTINUE'),
+('VOLUME_GROUP', 'PENDING_DELETE', 'UNASSIGN', 'FAIL'),
+('VF_MODULE', 'PENDING_DELETE', 'UNASSIGN', 'CONTINUE'),
+('NETWORK', 'PENDING_DELETE', 'UNASSIGN', 'CONTINUE'),
+
+('SERVICE', 'PENDING_ACTIVATION', 'UNASSIGN', 'FAIL'),
+('VNF', 'PENDING_ACTIVATION', 'UNASSIGN', 'FAIL'),
+('VOLUME_GROUP', 'PENDING_ACTIVATION', 'UNASSIGN', 'FAIL'),
+('VF_MODULE', 'PENDING_ACTIVATION', 'UNASSIGN', 'CONTINUE'),
+('NETWORK', 'PENDING_ACTIVATION', 'UNASSIGN', 'FAIL'),
+
+('SERVICE', 'PENDING', 'UNASSIGN', 'FAIL'),
+('VNF', 'PENDING', 'UNASSIGN', 'FAIL'),
+('VOLUME_GROUP', 'PENDING', 'UNASSIGN', 'CONTINUE'),
+('VF_MODULE', 'PENDING', 'UNASSIGN', 'FAIL'),
+('NETWORK', 'PENDING', 'UNASSIGN', 'FAIL'),
+
+
+('SERVICE', 'PRECREATED', 'ACTIVATE', 'FAIL'),
+('VNF', 'PRECREATED', 'ACTIVATE', 'FAIL'),
+('VOLUME_GROUP', 'PRECREATED', 'ACTIVATE', 'FAIL'),
+('VF_MODULE', 'PRECREATED', 'ACTIVATE', 'FAIL'),
+('NETWORK', 'PRECREATED', 'ACTIVATE', 'FAIL'),
+
+('SERVICE', 'INVENTORIED', 'ACTIVATE', 'FAIL'),
+('VNF', 'INVENTORIED', 'ACTIVATE', 'FAIL'),
+('VOLUME_GROUP', 'INVENTORIED', 'ACTIVATE', 'FAIL'),
+('VF_MODULE', 'INVENTORIED', 'ACTIVATE', 'FAIL'),
+('NETWORK', 'INVENTORIED', 'ACTIVATE', 'FAIL'),
+
+('SERVICE', 'ASSIGNED', 'ACTIVATE', 'CONTINUE'),
+('VNF', 'ASSIGNED', 'ACTIVATE', 'CONTINUE'),
+('VOLUME_GROUP', 'ASSIGNED', 'ACTIVATE', 'FAIL'),
+('VF_MODULE', 'ASSIGNED', 'ACTIVATE', 'FAIL'),
+('NETWORK', 'ASSIGNED', 'ACTIVATE', 'FAIL'),
+
+('SERVICE', 'CREATED', 'ACTIVATE', 'CONTINUE'),
+('VNF', 'CREATED', 'ACTIVATE', 'FAIL'),
+('VOLUME_GROUP', 'CREATED', 'ACTIVATE', 'CONTINUE'),
+('VF_MODULE', 'CREATED', 'ACTIVATE', 'CONTINUE'),
+('NETWORK', 'CREATED', 'ACTIVATE', 'CONTINUE'),
+
+('SERVICE', 'ACTIVE', 'ACTIVATE', 'SILENT_SUCCESS'),
+('VNF', 'ACTIVE', 'ACTIVATE', 'SILENT_SUCCESS'),
+('VOLUME_GROUP', 'ACTIVE', 'ACTIVATE', 'SILENT_SUCCESS'),
+('VF_MODULE', 'ACTIVE', 'ACTIVATE', 'SILENT_SUCCESS'),
+('NETWORK', 'ACTIVE', 'ACTIVATE', 'SILENT_SUCCESS'),
+
+('SERVICE', 'PENDING_CREATE', 'ACTIVATE', 'FAIL'),
+('VNF', 'PENDING_CREATE', 'ACTIVATE', 'FAIL'),
+('VOLUME_GROUP', 'PENDING_CREATE', 'ACTIVATE', 'FAIL'),
+('VF_MODULE', 'PENDING_CREATE', 'ACTIVATE', 'FAIL'),
+('NETWORK', 'PENDING_CREATE', 'ACTIVATE', 'FAIL'),
+
+('SERVICE', 'PENDING_DELETE', 'ACTIVATE', 'CONTINUE'),
+('VNF', 'PENDING_DELETE', 'ACTIVATE', 'CONTINUE'),
+('VOLUME_GROUP', 'PENDING_DELETE', 'ACTIVATE', 'FAIL'),
+('VF_MODULE', 'PENDING_DELETE', 'ACTIVATE', 'FAIL'),
+('NETWORK', 'PENDING_DELETE', 'ACTIVATE', 'FAIL'),
+
+('SERVICE', 'PENDING_ACTIVATION', 'ACTIVATE', 'FAIL'),
+('VNF', 'PENDING_ACTIVATION', 'ACTIVATE', 'FAIL'),
+('VOLUME_GROUP', 'PENDING_ACTIVATION', 'ACTIVATE', 'FAIL'),
+('VF_MODULE', 'PENDING_ACTIVATION', 'ACTIVATE', 'FAIL'),
+('NETWORK', 'PENDING_ACTIVATION', 'ACTIVATE', 'FAIL'),
+
+('SERVICE', 'PENDING', 'ACTIVATE', 'FAIL'),
+('VNF', 'PENDING', 'ACTIVATE', 'FAIL'),
+('VOLUME_GROUP', 'PENDING', 'ACTIVATE', 'FAIL'),
+('VF_MODULE', 'PENDING', 'ACTIVATE', 'FAIL'),
+('NETWORK', 'PENDING', 'ACTIVATE', 'FAIL'),
+
+
+('SERVICE', 'PRECREATED', 'DEACTIVATE', 'FAIL'),
+('VNF', 'PRECREATED', 'DEACTIVATE', 'FAIL'),
+('VOLUME_GROUP', 'PRECREATED', 'DEACTIVATE', 'FAIL'),
+('VF_MODULE', 'PRECREATED', 'DEACTIVATE', 'FAIL'),
+('NETWORK', 'PRECREATED', 'DEACTIVATE', 'FAIL'),
+
+('SERVICE', 'INVENTORIED', 'DEACTIVATE', 'FAIL'),
+('VNF', 'INVENTORIED', 'DEACTIVATE', 'SILENT_SUCCESS'),
+('VOLUME_GROUP', 'INVENTORIED', 'DEACTIVATE', 'FAIL'),
+('VF_MODULE', 'INVENTORIED', 'DEACTIVATE', 'SILENT_SUCCESS'),
+('NETWORK', 'INVENTORIED', 'DEACTIVATE', 'SILENT_SUCCESS'),
+
+('SERVICE', 'ASSIGNED', 'DEACTIVATE', 'SILENT_SUCCESS'),
+('VNF', 'ASSIGNED', 'DEACTIVATE', 'SILENT_SUCCESS'),
+('VOLUME_GROUP', 'ASSIGNED', 'DEACTIVATE', 'SILENT_SUCCESS'),
+('VF_MODULE', 'ASSIGNED', 'DEACTIVATE', 'SILENT_SUCCESS'),
+('NETWORK', 'ASSIGNED', 'DEACTIVATE', 'SILENT_SUCCESS'),
+
+('SERVICE', 'CREATED', 'DEACTIVATE', 'SILENT_SUCCESS'),
+('VNF', 'CREATED', 'DEACTIVATE', 'SILENT_SUCCESS'),
+('VOLUME_GROUP', 'CREATED', 'DEACTIVATE', 'SILENT_SUCCESS'),
+('VF_MODULE', 'CREATED', 'DEACTIVATE', 'SILENT_SUCCESS'),
+('NETWORK', 'CREATED', 'DEACTIVATE', 'SILENT_SUCCESS'),
+
+('SERVICE', 'ACTIVE', 'DEACTIVATE', 'CONTINUE'),
+('VNF', 'ACTIVE', 'DEACTIVATE', 'CONTINUE'),
+('VOLUME_GROUP', 'ACTIVE', 'DEACTIVATE', 'CONTINUE'),
+('VF_MODULE', 'ACTIVE', 'DEACTIVATE', 'CONTINUE'),
+('NETWORK', 'ACTIVE', 'DEACTIVATE', 'CONTINUE'),
+
+('SERVICE', 'PENDING_CREATE', 'DEACTIVATE', 'FAIL'),
+('VNF', 'PENDING_CREATE', 'DEACTIVATE', 'FAIL'),
+('VOLUME_GROUP', 'PENDING_CREATE', 'DEACTIVATE', 'FAIL'),
+('VF_MODULE', 'PENDING_CREATE', 'DEACTIVATE', 'SILENT_SUCCESS'),
+('NETWORK', 'PENDING_CREATE', 'DEACTIVATE', 'SILENT_SUCCESS'),
+
+('SERVICE', 'PENDING_DELETE', 'DEACTIVATE', 'SILENT_SUCCESS'),
+('VNF', 'PENDING_DELETE', 'DEACTIVATE', 'SILENT_SUCCESS'),
+('VOLUME_GROUP', 'PENDING_DELETE', 'DEACTIVATE', 'FAIL'),
+('VF_MODULE', 'PENDING_DELETE', 'DEACTIVATE', 'SILENT_SUCCESS'),
+('NETWORK', 'PENDING_DELETE', 'DEACTIVATE', 'SILENT_SUCCESS'),
+
+('SERVICE', 'PENDING_ACTIVATION', 'DEACTIVATE', 'FAIL'),
+('VNF', 'PENDING_ACTIVATION', 'DEACTIVATE', 'FAIL'),
+('VOLUME_GROUP', 'PENDING_ACTIVATION', 'DEACTIVATE', 'FAIL'),
+('VF_MODULE', 'PENDING_ACTIVATION', 'DEACTIVATE', 'SILENT_SUCCESS'),
+('NETWORK', 'PENDING_ACTIVATION', 'DEACTIVATE', 'FAIL'),
+
+('SERVICE', 'PENDING', 'DEACTIVATE', 'FAIL'),
+('VNF', 'PENDING', 'DEACTIVATE', 'FAIL'),
+('VOLUME_GROUP', 'PENDING', 'DEACTIVATE', 'SILENT_SUCCESS'),
+('VF_MODULE', 'PENDING', 'DEACTIVATE', 'FAIL'),
+('NETWORK', 'PENDING', 'DEACTIVATE', 'FAIL'),
+
+
+('SERVICE', 'PRECREATED', 'CHANGE_MODEL', 'FAIL'),
+('VNF', 'PRECREATED', 'CHANGE_MODEL', 'FAIL'),
+('VF_MODULE', 'PRECREATED', 'CHANGE_MODEL', 'FAIL'),
+
+('SERVICE', 'INVENTORIED', 'CHANGE_MODEL', 'FAIL'),
+('VNF', 'INVENTORIED', 'CHANGE_MODEL', 'FAIL'),
+('VF_MODULE', 'INVENTORIED', 'CHANGE_MODEL', 'FAIL'),
+
+('SERVICE', 'ASSIGNED', 'CHANGE_MODEL', 'FAIL'),
+('VNF', 'ASSIGNED', 'CHANGE_MODEL', 'CONTINUE'),
+('VF_MODULE', 'ASSIGNED', 'CHANGE_MODEL', 'CONTINUE'),
+
+('SERVICE', 'CREATED', 'CHANGE_MODEL', 'FAIL'),
+('VNF', 'CREATED', 'CHANGE_MODEL', 'FAIL'),
+('VF_MODULE', 'CREATED', 'CHANGE_MODEL', 'FAIL'),
+
+('SERVICE', 'ACTIVE', 'CHANGE_MODEL', 'CONTINUE'),
+('VNF', 'ACTIVE', 'CHANGE_MODEL', 'CONTINUE'),
+('VF_MODULE', 'ACTIVE', 'CHANGE_MODEL', 'CONTINUE'),
+
+('SERVICE', 'PENDING_CREATE', 'CHANGE_MODEL', 'FAIL'),
+('VNF', 'PENDING_CREATE', 'CHANGE_MODEL', 'FAIL'),
+('VF_MODULE', 'PENDING_CREATE', 'CHANGE_MODEL', 'FAIL'),
+
+('SERVICE', 'PENDING_DELETE', 'CHANGE_MODEL', 'FAIL'),
+('VNF', 'PENDING_DELETE', 'CHANGE_MODEL', 'CONTINUE'),
+('VF_MODULE', 'PENDING_DELETE', 'CHANGE_MODEL', 'CONTINUE'),
+
+('SERVICE', 'PENDING_ACTIVATION', 'CHANGE_MODEL', 'FAIL'),
+('VNF', 'PENDING_ACTIVATION', 'CHANGE_MODEL', 'CONTINUE'),
+('VF_MODULE', 'PENDING_ACTIVATION', 'CHANGE_MODEL', 'CONTINUE'),
+
+('SERVICE', 'PENDING', 'CHANGE_MODEL', 'FAIL'),
+('VNF', 'PENDING', 'CHANGE_MODEL', 'FAIL'),
+('VF_MODULE', 'PENDING', 'CHANGE_MODEL', 'FAIL'),
+
+
+('VOLUME_GROUP', 'PRECREATED', 'CREATE', 'FAIL'),
+('VF_MODULE', 'PRECREATED', 'CREATE', 'FAIL'),
+('NETWORK', 'PRECREATED', 'CREATE', 'FAIL'),
+
+('VOLUME_GROUP', 'INVENTORIED', 'CREATE', 'FAIL'),
+('VF_MODULE', 'INVENTORIED', 'CREATE', 'FAIL'),
+('NETWORK', 'INVENTORIED', 'CREATE', 'FAIL'),
+
+('VOLUME_GROUP', 'ASSIGNED', 'CREATE', 'CONTINUE'),
+('VF_MODULE', 'ASSIGNED', 'CREATE', 'CONTINUE'),
+('NETWORK', 'ASSIGNED', 'CREATE', 'CONTINUE'),
+
+('VOLUME_GROUP', 'CREATED', 'CREATE', 'SILENT_SUCCESS'),
+('VF_MODULE', 'CREATED', 'CREATE', 'SILENT_SUCCESS'),
+('NETWORK', 'CREATED', 'CREATE', 'SILENT_SUCCESS'),
+
+('VOLUME_GROUP', 'ACTIVE', 'CREATE', 'SILENT_SUCCESS'),
+('VF_MODULE', 'ACTIVE', 'CREATE', 'SILENT_SUCCESS'),
+('NETWORK', 'ACTIVE', 'CREATE', 'SILENT_SUCCESS'),
+
+('VOLUME_GROUP', 'PENDING_CREATE', 'CREATE', 'FAIL'),
+('VF_MODULE', 'PENDING_CREATE', 'CREATE', 'FAIL'),
+('NETWORK', 'PENDING_CREATE', 'CREATE', 'CONTINUE'),
+
+('VOLUME_GROUP', 'PENDING_DELETE', 'CREATE', 'FAIL'),
+('VF_MODULE', 'PENDING_DELETE', 'CREATE', 'CONTINUE'),
+('NETWORK', 'PENDING_DELETE', 'CREATE', 'CONTINUE'),
+
+('VOLUME_GROUP', 'PENDING_ACTIVATION', 'CREATE', 'FAIL'),
+('VF_MODULE', 'PENDING_ACTIVATION', 'CREATE', 'FAIL'),
+('NETWORK', 'PENDING_ACTIVATION', 'CREATE', 'FAIL'),
+
+('VOLUME_GROUP', 'PENDING', 'CREATE', 'CONTINUE'),
+('VF_MODULE', 'PENDING', 'CREATE', 'FAIL'),
+('NETWORK', 'PENDING', 'CREATE', 'FAIL'),
+
+
+('VOLUME_GROUP', 'PRECREATED', 'DELETE', 'FAIL'),
+('VF_MODULE', 'PRECREATED', 'DELETE', 'FAIL'),
+('NETWORK', 'PRECREATED', 'DELETE', 'FAIL'),
+
+('VOLUME_GROUP', 'INVENTORIED', 'DELETE', 'FAIL'),
+('VF_MODULE', 'INVENTORIED', 'DELETE', 'SILENT_SUCCESS'),
+('NETWORK', 'INVENTORIED', 'DELETE', 'SILENT_SUCCESS'),
+
+('VOLUME_GROUP', 'ASSIGNED', 'DELETE', 'SILENT_SUCCESS'),
+('VF_MODULE', 'ASSIGNED', 'DELETE', 'SILENT_SUCCESS'),
+('NETWORK', 'ASSIGNED', 'DELETE', 'SILENT_SUCCESS'),
+
+('VOLUME_GROUP', 'CREATED', 'DELETE', 'CONTINUE'),
+('VF_MODULE', 'CREATED', 'DELETE', 'CONTINUE'),
+('NETWORK', 'CREATED', 'DELETE', 'CONTINUE'),
+
+('VOLUME_GROUP', 'ACTIVE', 'DELETE', 'FAIL'),
+('VF_MODULE', 'ACTIVE', 'DELETE', 'FAIL'),
+('NETWORK', 'ACTIVE', 'DELETE', 'FAIL'),
+
+('VOLUME_GROUP', 'PENDING_CREATE', 'DELETE', 'FAIL'),
+('VF_MODULE', 'PENDING_CREATE', 'DELETE', 'SILENT_SUCCESS'),
+('NETWORK', 'PENDING_CREATE', 'DELETE', 'SILENT_SUCCESS'),
+
+('VOLUME_GROUP', 'PENDING_DELETE', 'DELETE', 'FAIL'),
+('VF_MODULE', 'PENDING_DELETE', 'DELETE', 'SILENT_SUCCESS'),
+('NETWORK', 'PENDING_DELETE', 'DELETE', 'SILENT_SUCCESS'),
+
+('VOLUME_GROUP', 'PENDING_ACTIVATION', 'DELETE', 'FAIL'),
+('VF_MODULE', 'PENDING_ACTIVATION', 'DELETE', 'SILENT_SUCCESS'),
+('NETWORK', 'PENDING_ACTIVATION', 'DELETE', 'FAIL'),
+
+('VOLUME_GROUP', 'PENDING', 'DELETE', 'SILENT_SUCCESS'),
+('VF_MODULE', 'PENDING', 'DELETE', 'FAIL'),
+('NETWORK', 'PENDING', 'DELETE', 'FAIL');
diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.9__UpdateIsTopLevelFlowColumn.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.9__UpdateIsTopLevelFlowColumn.sql
new file mode 100644
index 0000000000..855b1715ff
--- /dev/null
+++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V2.9__UpdateIsTopLevelFlowColumn.sql
@@ -0,0 +1,4 @@
+USE catalogdb;
+
+ALTER TABLE
+ `northbound_request_ref_lookup` CHANGE ISTOPLEVELFLOW IS_TOPLEVELFLOW TINYINT(1); \ No newline at end of file
diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V3.1__AddServiceMacroDeactivateToMacroTables.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V3.1__AddServiceMacroDeactivateToMacroTables.sql
new file mode 100644
index 0000000000..d8291b7712
--- /dev/null
+++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V3.1__AddServiceMacroDeactivateToMacroTables.sql
@@ -0,0 +1,7 @@
+USE catalogdb;
+
+INSERT INTO northbound_request_ref_lookup (REQUEST_SCOPE, MACRO_ACTION, ACTION, IS_ALACARTE, MIN_API_VERSION, MAX_API_VERSION, IS_TOPLEVELFLOW)
+values ( 'Service', 'Service-Macro-Deactivate', 'deactivateInstance', '0', '7', '7', '1');
+
+INSERT INTO orchestration_flow_reference (COMPOSITE_ACTION, SEQ_NO, FLOW_NAME, FLOW_VERSION, NB_REQ_REF_LOOKUP_ID)
+values ( 'Service-Macro-Deactivate', '1', 'DeactivateServiceInstanceBB', '1', (SELECT id FROM northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Deactivate')); \ No newline at end of file
diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V3.2__ChangeMINApiVersionInNorthbound.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V3.2__ChangeMINApiVersionInNorthbound.sql
new file mode 100644
index 0000000000..9016d5bf93
--- /dev/null
+++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V3.2__ChangeMINApiVersionInNorthbound.sql
@@ -0,0 +1,5 @@
+USE catalogdb;
+
+UPDATE northbound_request_ref_lookup SET MIN_API_VERSION = 5 WHERE MACRO_ACTION = 'Service-Macro-Create';
+UPDATE northbound_request_ref_lookup SET MIN_API_VERSION = 5 WHERE MACRO_ACTION = 'Service-Macro-Delete';
+UPDATE northbound_request_ref_lookup SET MIN_API_VERSION = 5 WHERE MACRO_ACTION = 'Service-Macro-Activate'; \ No newline at end of file
diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V3.3__ChangeMINApiVersionServiceMacroDeactivate.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V3.3__ChangeMINApiVersionServiceMacroDeactivate.sql
new file mode 100644
index 0000000000..a471e2d0a5
--- /dev/null
+++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V3.3__ChangeMINApiVersionServiceMacroDeactivate.sql
@@ -0,0 +1,3 @@
+USE catalogdb;
+
+UPDATE northbound_request_ref_lookup SET MIN_API_VERSION = 5 WHERE MACRO_ACTION = 'Service-Macro-Deactivate'; \ No newline at end of file
diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V3.4__AddUpdateNetworkALaCarte.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V3.4__AddUpdateNetworkALaCarte.sql
new file mode 100644
index 0000000000..350dde6b9a
--- /dev/null
+++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V3.4__AddUpdateNetworkALaCarte.sql
@@ -0,0 +1,20 @@
+USE catalogdb;
+
+INSERT INTO northbound_request_ref_lookup(MACRO_ACTION, ACTION, REQUEST_SCOPE, IS_ALACARTE, MIN_API_VERSION, MAX_API_VERSION, IS_TOPLEVELFLOW) VALUES
+('Network-Update', 'updateInstance', 'Network', true, '7','7','1');
+
+INSERT INTO orchestration_flow_reference(COMPOSITE_ACTION, SEQ_NO, FLOW_NAME, FLOW_VERSION, NB_REQ_REF_LOOKUP_ID) VALUES
+('Network-Update', '1', 'UpdateNetworkBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Network-Update'));
+
+INSERT INTO building_block_detail(BUILDING_BLOCK_NAME,RESOURCE_TYPE,TARGET_ACTION) VALUES
+('UpdateNetworkBB','NETWORK','UPDATE');
+
+INSERT INTO orchestration_status_state_transition_directive(RESOURCE_TYPE, ORCHESTRATION_STATUS,TARGET_ACTION,FLOW_DIRECTIVE) VALUES
+('NETWORK','PRECREATED','UPDATE','FAIL'),
+('NETWORK','INVENTORIED','UPDATE','FAIL'),
+('NETWORK','ASSIGNED','UPDATE','FAIL'),
+('NETWORK','CREATED','UPDATE','FAIL'),
+('NETWORK','PENDING_CREATE','UPDATE','FAIL'),
+('NETWORK','PENDING_DELETE','UPDATE','FAIL'),
+('NETWORK','PENDING_ACTIVATION','UPDATE','FAIL'),
+('NETWORK','ACTIVE','UPDATE','CONTINUE'); \ No newline at end of file
diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V3.5__PointGrApiDefault_To_UpdateVfModuleVolumeInfraV1.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V3.5__PointGrApiDefault_To_UpdateVfModuleVolumeInfraV1.sql
new file mode 100644
index 0000000000..dbabcb6419
--- /dev/null
+++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V3.5__PointGrApiDefault_To_UpdateVfModuleVolumeInfraV1.sql
@@ -0,0 +1,4 @@
+USE catalogdb;
+
+
+UPDATE `catalogdb`.`vnf_components_recipe` SET `ORCHESTRATION_URI`='/mso/async/services/UpdateVfModuleVolumeInfraV1' WHERE `VF_MODULE_MODEL_UUID`='GR-API-DEFAULT' and `VNF_COMPONENT_TYPE`='volumeGroup' and `ACTION`='updateInstance';
diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V3.6__UpdateNetworkCollectionCatalogDB.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V3.6__UpdateNetworkCollectionCatalogDB.sql
new file mode 100644
index 0000000000..8b66706032
--- /dev/null
+++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V3.6__UpdateNetworkCollectionCatalogDB.sql
@@ -0,0 +1,38 @@
+use catalogdb;
+
+UPDATE building_block_detail SET RESOURCE_TYPE = "NETWORK_COLLECTION" WHERE BUILDING_BLOCK_NAME = "ActivateNetworkCollectionBB";
+UPDATE building_block_detail SET RESOURCE_TYPE = "NETWORK_COLLECTION" WHERE BUILDING_BLOCK_NAME = "CreateNetworkCollectionBB";
+UPDATE building_block_detail SET RESOURCE_TYPE = "NETWORK_COLLECTION" WHERE BUILDING_BLOCK_NAME = "DeleteNetworkCollectionBB";
+UPDATE building_block_detail SET RESOURCE_TYPE = "NETWORK_COLLECTION" WHERE BUILDING_BLOCK_NAME = "DeactivateNetworkCollectionBB";
+UPDATE building_block_detail SET TARGET_ACTION = "DEACTIVATE" WHERE BUILDING_BLOCK_NAME = "DeactivateNetworkCollectionBB";
+
+INSERT into orchestration_status_state_transition_directive (RESOURCE_TYPE, ORCHESTRATION_STATUS, TARGET_ACTION, FLOW_DIRECTIVE) values
+("NETWORK_COLLECTION", "PRECREATED", "CREATE", "CONTINUE"),
+("NETWORK_COLLECTION", "ASSIGNED", "CREATE", "FAIL"),
+("NETWORK_COLLECTION", "CREATED", "CREATE", "FAIL"),
+("NETWORK_COLLECTION", "ACTIVE", "CREATE", "FAIL"),
+("NETWORK_COLLECTION", "PENDING_CREATE", "CREATE", "FAIL"),
+("NETWORK_COLLECTION", "PENDING_DELETE", "CREATE", "FAIL"),
+("NETWORK_COLLECTION", "PENDING_ACTIVATION", "CREATE", "FAIL"),
+("NETWORK_COLLECTION", "PENDING", "CREATE", "FAIL"),
+("NETWORK_COLLECTION", "INVENTORIED", "CREATE", "SILENT_SUCCESS"),
+
+("NETWORK_COLLECTION", "PRECREATED", "DELETE", "FAIL"),
+("NETWORK_COLLECTION", "ASSIGNED", "DELETE", "FAIL"),
+("NETWORK_COLLECTION", "CREATED", "DELETE", "FAIL"),
+("NETWORK_COLLECTION", "ACTIVE", "DELETE", "CONTINUE"),
+("NETWORK_COLLECTION", "PENDING_CREATE", "DELETE", "FAIL"),
+("NETWORK_COLLECTION", "PENDING_DELETE", "DELETE", "FAIL"),
+("NETWORK_COLLECTION", "PENDING_ACTIVATION", "DELETE", "FAIL"),
+("NETWORK_COLLECTION", "PENDING", "DELETE", "FAIL"),
+("NETWORK_COLLECTION", "INVENTORIED", "DELETE", "CONTINUE"),
+
+("NETWORK_COLLECTION", "PRECREATED", "ACTIVE", "FAIL"),
+("NETWORK_COLLECTION", "ASSIGNED", "ACTIVE", "FAIL"),
+("NETWORK_COLLECTION", "CREATED", "ACTIVE", "FAIL"),
+("NETWORK_COLLECTION", "ACTIVE", "ACTIVE", "SILENT_SUCCESS"),
+("NETWORK_COLLECTION", "PENDING_CREATE", "ACTIVE", "FAIL"),
+("NETWORK_COLLECTION", "PENDING_DELETE", "ACTIVE", "FAIL"),
+("NETWORK_COLLECTION", "PENDING_ACTIVATION", "ACTIVE", "FAIL"),
+("NETWORK_COLLECTION", "PENDING", "ACTIVE", "FAIL"),
+("NETWORK_COLLECTION", "INVENTORIED", "ACTIVE", "CONTINUE"); \ No newline at end of file
diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V3.7__FixDeactivateNetworkCollection.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V3.7__FixDeactivateNetworkCollection.sql
new file mode 100644
index 0000000000..872f22fee0
--- /dev/null
+++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V3.7__FixDeactivateNetworkCollection.sql
@@ -0,0 +1,5 @@
+use catalogdb;
+
+UPDATE orchestration_status_state_transition_directive SET TARGET_ACTION = "ACTIVATE" WHERE TARGET_ACTION = "ACTIVE";
+
+DELETE FROM building_block_detail WHERE BUILDING_BLOCK_NAME = "DeactivateNetworkCollectionBB"; \ No newline at end of file
diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V3.8__UnassignFabricConfigurationData.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V3.8__UnassignFabricConfigurationData.sql
new file mode 100644
index 0000000000..29a8c1ed5f
--- /dev/null
+++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V3.8__UnassignFabricConfigurationData.sql
@@ -0,0 +1,31 @@
+use catalogdb;
+
+INSERT INTO building_block_detail (building_block_name, resource_type, target_action)
+VALUES
+('UnassignFabricConfigurationBB', 'CONFIGURATION', 'UNASSIGN');
+
+INSERT INTO orchestration_status_state_transition_directive(RESOURCE_TYPE, ORCHESTRATION_STATUS, TARGET_ACTION, FLOW_DIRECTIVE)
+VALUES
+('CONFIGURATION', 'PRECREATED', 'UNASSIGN', 'SILENT SUCCESS'),
+('CONFIGURATION', 'INVENTORIED', 'UNASSIGN', 'CONTINUE'),
+('CONFIGURATION', 'ASSIGNED', 'UNASSIGN', 'CONTINUE'),
+('CONFIGURATION', 'CREATED', 'UNASSIGN', 'FAIL'),
+('CONFIGURATION', 'ACTIVE', 'UNASSIGN', 'FAIL'),
+('CONFIGURATION', 'PENDING CREATE', 'UNASSIGN', 'FAIL'),
+('CONFIGURATION', 'PENDING DELETE', 'UNASSIGN', 'FAIL'),
+('CONFIGURATION', 'PENDING ACTIVATION', 'UNASSIGN', 'FAIL'),
+('CONFIGURATION', 'PENDING', 'UNASSIGN', 'FAIL');
+
+UPDATE orchestration_flow_reference
+SET SEQ_NO = SEQ_NO + 2 WHERE COMPOSITE_ACTION = 'SERVICE-MACRO-DELETE';
+
+INSERT INTO orchestration_flow_reference(COMPOSITE_ACTION, SEQ_NO, FLOW_NAME, FLOW_VERSION, NB_REQ_REF_LOOKUP_ID)
+VALUES
+('Service-Macro-Delete', '1', 'DeactivateFabricConfigurationBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Delete')),
+('Service-Macro-Delete', '2', 'UnassignFabricConfigurationBB', 1.0,(SELECT id from northbound_request_ref_lookup WHERE MACRO_ACTION = 'Service-Macro-Delete'));
+
+INSERT INTO rainy_day_handler_macro (FLOW_NAME, SERVICE_TYPE, VNF_TYPE, ERROR_CODE, WORK_STEP, POLICY)
+VALUES
+('UnassignFabricConfigurationBB', '*', '*', '*', '*' , 'Retry');
+
+
diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V3.9__DropCRModelUUID_FK.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V3.9__DropCRModelUUID_FK.sql
new file mode 100644
index 0000000000..d406f8ab4a
--- /dev/null
+++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V3.9__DropCRModelUUID_FK.sql
@@ -0,0 +1,3 @@
+use catalogdb;
+
+ALTER TABLE instance_group DROP FOREIGN KEY instance_group_ibfk_1; \ No newline at end of file