Store the type of VF module orchestration template (HEAT or HELM) during distribution 65/118465/4
authorpwielebs <piotr.wielebski@nokia.com>
Thu, 25 Feb 2021 06:52:17 +0000 (07:52 +0100)
committerpwielebs <piotr.wielebski@nokia.com>
Fri, 26 Feb 2021 11:18:57 +0000 (12:18 +0100)
Issue-ID: SO-3484
Signed-off-by: pwielebs <piotr.wielebski@nokia.com>
Change-Id: I3152d2d75584d50493a8ea2229090cdfc6a1fcec

adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V8.7.2__AddColumnToVfModule.sql [new file with mode: 0644]
adapters/mso-catalog-db-adapter/src/test/resources/db/migration/afterMigrate.sql
adapters/mso-openstack-adapters/src/test/resources/data.sql
adapters/mso-openstack-adapters/src/test/resources/schema.sql
asdc-controller/src/main/java/org/onap/so/asdc/installer/heat/ToscaResourceInstaller.java
asdc-controller/src/test/resources/schema.sql
mso-api-handlers/mso-api-handler-infra/src/test/resources/schema.sql
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/OrchTemplateArtifactType.java [new file with mode: 0644]
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/VfModule.java
mso-catalog-db/src/test/resources/data.sql
mso-catalog-db/src/test/resources/schema.sql

diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V8.7.2__AddColumnToVfModule.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V8.7.2__AddColumnToVfModule.sql
new file mode 100644 (file)
index 0000000..56f68dd
--- /dev/null
@@ -0,0 +1,4 @@
+use catalogdb;
+
+ALTER TABLE vf_module
+ADD COLUMN IF NOT EXISTS `ORCH_TEMPLATE_ARTIFACT_TYPE` varchar(20) DEFAULT NULL;
\ No newline at end of file
index 31a4f12..dafe29f 100644 (file)
@@ -70,11 +70,11 @@ insert into vnf_resource_customization(model_customization_uuid, model_instance_
 
 
 
-insert into vf_module(model_uuid, model_invariant_uuid, model_version, model_name, description, is_base, heat_template_artifact_uuid, vol_heat_template_artifact_uuid, creation_timestamp, vnf_resource_model_uuid) values
-('20c4431c-246d-11e7-93ae-92361f002671', '78ca26d0-246d-11e7-93ae-92361f002671', '2', 'vSAMP10aDEV::base::module-0', 'vSAMP10a DEV Base', '1', 'ff874603-4222-11e7-9252-005056850d2e', null, '2016-09-14 18:19:56', 'ff2ae348-214a-11e7-93ae-92361f002671'),
-('066de97e-253e-11e7-93ae-92361f002671', '64efd51a-2544-11e7-93ae-92361f002671', '2', 'vSAMP10aDEV::PCM::module-1', 'vSAMP10a DEV PCM', '0', 'ff87482f-4222-11e7-9252-005056850d2e', null, '2016-09-14 18:19:56', 'ff2ae348-214a-11e7-93ae-92361f002671'),
-('20c4431c-246d-11e7-93ae-92361f002672', '78ca26d0-246d-11e7-93ae-92361f002671', '2', 'vSAMP10aDEV::base::module-0', 'vSAMP10a DEV Base', '1', 'ff874603-4222-11e7-9252-005056850d2e', null, '2016-09-14 18:19:56', 'ff2ae348-214a-11e7-93ae-92361f002671'),
-('066de97e-253e-11e7-93ae-92361f002672', '64efd51a-2544-11e7-93ae-92361f002671', '2', 'vSAMP10aDEV::PCM::module-1', 'vSAMP10a DEV PCM', '0', 'ff87482f-4222-11e7-9252-005056850d2e', null, '2016-09-14 18:19:56', 'ff2ae348-214a-11e7-93ae-92361f002671');
+insert into vf_module(model_uuid, model_invariant_uuid, model_version, model_name, description, is_base, orch_template_artifact_type, heat_template_artifact_uuid, vol_heat_template_artifact_uuid, creation_timestamp, vnf_resource_model_uuid) values
+('20c4431c-246d-11e7-93ae-92361f002671', '78ca26d0-246d-11e7-93ae-92361f002671', '2',  'vSAMP10aDEV::base::module-0', 'vSAMP10a DEV Base', '1', 'HEAT', 'ff874603-4222-11e7-9252-005056850d2e', null, '2016-09-14 18:19:56', 'ff2ae348-214a-11e7-93ae-92361f002671'),
+('066de97e-253e-11e7-93ae-92361f002671', '64efd51a-2544-11e7-93ae-92361f002671', '2', 'vSAMP10aDEV::PCM::module-1', 'vSAMP10a DEV PCM', '0', 'HEAT', 'ff87482f-4222-11e7-9252-005056850d2e', null, '2016-09-14 18:19:56', 'ff2ae348-214a-11e7-93ae-92361f002671'),
+('20c4431c-246d-11e7-93ae-92361f002672', '78ca26d0-246d-11e7-93ae-92361f002671', '2',  'vSAMP10aDEV::base::module-0', 'vSAMP10a DEV Base', '1', 'HEAT','ff874603-4222-11e7-9252-005056850d2e', null, '2016-09-14 18:19:56', 'ff2ae348-214a-11e7-93ae-92361f002671'),
+('066de97e-253e-11e7-93ae-92361f002672', '64efd51a-2544-11e7-93ae-92361f002671', '2', 'vSAMP10aDEV::PCM::module-1', 'vSAMP10a DEV PCM', '0', 'HEAT','ff87482f-4222-11e7-9252-005056850d2e', null, '2016-09-14 18:19:56', 'ff2ae348-214a-11e7-93ae-92361f002671');
 
 
 insert into vf_module_customization(model_customization_uuid, label, initial_count, min_instances, max_instances, availability_zone_count, heat_environment_artifact_uuid, vol_environment_artifact_uuid, creation_timestamp, vf_module_model_uuid,VNF_RESOURCE_CUSTOMIZATION_ID) values
index 3f6abc4..a247850 100644 (file)
@@ -33,9 +33,9 @@ insert into vnf_resource_customization(model_customization_uuid, model_instance_
 ('68dc9a92-214c-11e7-93ae-92361f002671', 'vSAMP10a 1', '0', '0', '0', 'vSAMP', 'vSAMP', 'vSAMP', 'vSAMP', '2017-05-26 15:08:24', 'ff2ae348-214a-11e7-93ae-92361f002671', null,'5df8b6de-2083-11e7-93ae-92361f002671');
 
 
-insert into vf_module(model_uuid, model_invariant_uuid, model_version, model_name, description, is_base, heat_template_artifact_uuid, vol_heat_template_artifact_uuid, creation_timestamp, vnf_resource_model_uuid) values
-('20c4431c-246d-11e7-93ae-92361f002671', '78ca26d0-246d-11e7-93ae-92361f002671', '2', 'vSAMP10aDEV::base::module-0', 'vSAMP10a DEV Base', '1', 'ff874603-4222-11e7-9252-005056850d2e', null, '2016-09-14 18:19:56', 'ff2ae348-214a-11e7-93ae-92361f002671'),
-('066de97e-253e-11e7-93ae-92361f002671', '64efd51a-2544-11e7-93ae-92361f002671', '2', 'vSAMP10aDEV::PCM::module-1', 'vSAMP10a DEV PCM', '0', 'ff87482f-4222-11e7-9252-005056850d2e', null, '2016-09-14 18:19:56', 'ff2ae348-214a-11e7-93ae-92361f002671');
+insert into vf_module(model_uuid, model_invariant_uuid, model_version, model_name, description, is_base, orch_template_artifact_type, heat_template_artifact_uuid, vol_heat_template_artifact_uuid, creation_timestamp, vnf_resource_model_uuid) values
+('20c4431c-246d-11e7-93ae-92361f002671', '78ca26d0-246d-11e7-93ae-92361f002671', '2',  'vSAMP10aDEV::base::module-0', 'vSAMP10a DEV Base', '1', 'HEAT', 'ff874603-4222-11e7-9252-005056850d2e', null, '2016-09-14 18:19:56', 'ff2ae348-214a-11e7-93ae-92361f002671'),
+('066de97e-253e-11e7-93ae-92361f002671', '64efd51a-2544-11e7-93ae-92361f002671', '2', 'vSAMP10aDEV::PCM::module-1', 'vSAMP10a DEV PCM', '0', 'HEAT', 'ff87482f-4222-11e7-9252-005056850d2e', null, '2016-09-14 18:19:56', 'ff2ae348-214a-11e7-93ae-92361f002671');
 
 insert into vf_module_customization(model_customization_uuid, label, initial_count, min_instances, max_instances, availability_zone_count, heat_environment_artifact_uuid, vol_environment_artifact_uuid, creation_timestamp, vf_module_model_uuid,VNF_RESOURCE_CUSTOMIZATION_ID) values
 ('cb82ffd8-252a-11e7-93ae-92361f002671', 'base', '1', '0', '0', '0', 'fefb1601-4222-11e7-9252-005056850d2e', null, '2017-05-26 15:08:23', '20c4431c-246d-11e7-93ae-92361f002671',2),
@@ -84,10 +84,10 @@ insert into vnf_resource(orchestration_mode, description, creation_timestamp, mo
 ('HEAT', '1607 vSAMP10a - inherent network', '2017-04-14 21:46:28', 'ff2ae348-214a-11e7-93ae-92361f002672', '', '', '2fff5b20-214b-11e7-93ae-92361f002671', '2.0', 'vSAMP10a', 'VF', null);
 
 
-insert into vf_module(model_uuid, model_invariant_uuid, model_version, model_name, description, is_base, heat_template_artifact_uuid, vol_heat_template_artifact_uuid, creation_timestamp, vnf_resource_model_uuid) values
+insert into vf_module(model_uuid, model_invariant_uuid, model_version, model_name, description, is_base, orch_template_artifact_type, heat_template_artifact_uuid, vol_heat_template_artifact_uuid, creation_timestamp, vnf_resource_model_uuid) values
 
-('20c4431c-246d-11e7-93ae-92361f002672', '78ca26d0-246d-11e7-93ae-92361f002671', '2', 'vSAMP10aDEV::base::module-0', 'vSAMP10a DEV Base', '1', 'ff874603-4222-11e7-9252-005056850d2e', null, '2016-09-14 18:19:56', 'ff2ae348-214a-11e7-93ae-92361f002671'),
-('066de97e-253e-11e7-93ae-92361f002672', '64efd51a-2544-11e7-93ae-92361f002671', '2', 'vSAMP10aDEV::PCM::module-1', 'vSAMP10a DEV PCM', '0', 'ff87482f-4222-11e7-9252-005056850d2e', null, '2016-09-14 18:19:56', 'ff2ae348-214a-11e7-93ae-92361f002671');
+('20c4431c-246d-11e7-93ae-92361f002672', '78ca26d0-246d-11e7-93ae-92361f002671', '2', 'vSAMP10aDEV::base::module-0', 'vSAMP10a DEV Base', '1', 'HEAT','ff874603-4222-11e7-9252-005056850d2e', null, '2016-09-14 18:19:56', 'ff2ae348-214a-11e7-93ae-92361f002671'),
+('066de97e-253e-11e7-93ae-92361f002672', '64efd51a-2544-11e7-93ae-92361f002671', '2', 'vSAMP10aDEV::PCM::module-1', 'vSAMP10a DEV PCM', '0', 'HEAT', 'ff87482f-4222-11e7-9252-005056850d2e', null, '2016-09-14 18:19:56', 'ff2ae348-214a-11e7-93ae-92361f002671');
 
 insert into vf_module_customization(model_customization_uuid, label, initial_count, min_instances, max_instances, availability_zone_count, heat_environment_artifact_uuid, vol_environment_artifact_uuid, creation_timestamp, vf_module_model_uuid,VNF_RESOURCE_CUSTOMIZATION_ID) values
 ('cb82ffd8-252a-11e7-93ae-92361f002672', 'base', '1', '0', '0', '0', 'fefb1601-4222-11e7-9252-005056850d2e', null, '2017-05-26 15:08:23', '20c4431c-246d-11e7-93ae-92361f002672',2),
@@ -124,8 +124,8 @@ VALUES ('97b73b0f-2860-49e5-b9c5-b6f91e4ee4a8', 'fsb_volume_image_name_0', b'1',
 ('97b73b0f-2860-49e5-b9c5-b6f91e4ee4a8', 'fsb_volume_size_0', b'1', 'number', NULL),
  ('97b73b0f-2860-49e5-b9c5-b6f91e4ee4a8', 'fsb_volume_type_0', b'1', 'string', NULL);
 
-INSERT INTO `vf_module` (`MODEL_UUID`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `MODEL_NAME`, `DESCRIPTION`, `IS_BASE`, `HEAT_TEMPLATE_ARTIFACT_UUID`, `VOL_HEAT_TEMPLATE_ARTIFACT_UUID`, `CREATION_TIMESTAMP`, `VNF_RESOURCE_MODEL_UUID`)
- VALUES ('207fe0dc-4c89-4e5d-9a78-345e99ef7fbe', '547e9ac6-0489-41b6-8289-a7705f6e5c9d', '1', 'TestVnfType::TestModule-0', NULL, 1, 'd187c228-71c6-4c6d-8f33-cd1243442d0a', '97b73b0f-2860-49e5-b9c5-b6f91e4ee4a8', '2018-05-13 12:12:09', 'c5efeb55-4ade-49b8-815c-6a6391f6c46b');
+INSERT INTO `vf_module` (`MODEL_UUID`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `MODEL_NAME`, `DESCRIPTION`, `IS_BASE`, `ORCH_TEMPLATE_ARTIFACT_TYPE`, `HEAT_TEMPLATE_ARTIFACT_UUID`, `VOL_HEAT_TEMPLATE_ARTIFACT_UUID`, `CREATION_TIMESTAMP`, `VNF_RESOURCE_MODEL_UUID`)
+ VALUES ('207fe0dc-4c89-4e5d-9a78-345e99ef7fbe', '547e9ac6-0489-41b6-8289-a7705f6e5c9d', '1', 'TestVnfType::TestModule-0', NULL, 1, 'HEAT', 'd187c228-71c6-4c6d-8f33-cd1243442d0a', '97b73b0f-2860-49e5-b9c5-b6f91e4ee4a8', '2018-05-13 12:12:09', 'c5efeb55-4ade-49b8-815c-6a6391f6c46b');
 INSERT INTO `heat_environment` (`ARTIFACT_UUID`, `NAME`, `VERSION`, `DESCRIPTION`, `BODY`, `ARTIFACT_CHECKSUM`, `CREATION_TIMESTAMP`) VALUES ('f4a21b58-5654-4cf6-9c50-de42004fe2b4', 'base_vmme.env', '2', 'Auto-generated HEAT Environment deployment artifact', 'parameters:\n  Internal1_allow_transit: "True"\n  Internal1_dhcp: "False"\n  Internal1_forwarding_mode: "l2"\n  Internal1_net_cidr: "169.253.0.0"\n  Internal1_net_cidr_len: "17"\n  Internal1_net_gateway: "169.253.0.3"\n  Internal1_rpf: "disable"\n  Internal1_shared: "False"\n  Internal2_allow_transit: "True"\n  Internal2_dhcp: "False"\n  Internal2_forwarding_mode: "l2"\n  Internal2_net_cidr: "169.255.0.0"\n  Internal2_net_cidr_len: "17"\n  Internal2_net_gateway: "169.255.0.3"\n  Internal2_rpf: "disable"\n  Internal2_shared: "False"\n  domain_name: "default-domain"\n  fsb1_Internal1_mac: "00:80:37:0E:0B:12"\n  fsb1_Internal2_mac: "00:80:37:0E:0B:12"\n  fsb2_Internal1_mac: "00:80:37:0E:0D:12"\n  fsb2_Internal2_mac: "00:80:37:0E:0D:12"\n  fsb_flavor_name: "nv.c20r64d1"\n  gtp_sec_group_name: "gtp-sec-group"\n  int1_sec_group_name: "int1-sec-group"\n  int2_sec_group_name: "int2-sec-group"\n  ncb1_Internal1_mac: "00:80:37:0E:09:12"\n  ncb1_Internal2_mac: "00:80:37:0E:09:12"\n  ncb2_Internal1_mac: "00:80:37:0E:0F:12"\n  ncb2_Internal2_mac: "00:80:37:0E:0F:12"\n  ncb_flavor_name: "nv.c20r64d1"\n  oam_sec_group_name: "oam-sec-group"\n  pxe_image_name: "MME_PXE-Boot_16ACP04_GA.qcow2"\n  sctp-a-IPv6_ethertype: "IPv6"\n  sctp-a-display_name: "epc-sctp-a-ipv4v6-sec-group"\n  sctp-a-dst_subnet_prefix_v6: "::"\n  sctp-a-egress-dst_end_port: 65535\n  sctp-a-egress-dst_start_port: 0\n  sctp-a-egress-src_end_port: 65535\n  sctp-a-egress-src_start_port: 0\n  sctp-a-egress_action: "pass"\n  sctp-a-egress_dst_subnet_prefix: "0.0.0.0"\n  sctp-a-egress_dst_subnet_prefix_len: 0\n  sctp-a-egress_ethertype: "IPv4"\n  sctp-a-egress_rule_application: "any"\n  sctp-a-egress_rule_protocol: "icmp"\n  sctp-a-egress_src_addresses: "local"\n  sctp-a-ingress-dst_end_port: 65535\n  sctp-a-ingress-dst_start_port: 0\n  sctp-a-ingress-src_end_port: 65535\n  sctp-a-ingress-src_start_port: 0\n  sctp-a-ingress-src_subnet_prefix: "0.0.0.0"\n  sctp-a-ingress-src_subnet_prefix_len: 0\n  sctp-a-ingress_action: "pass"\n  sctp-a-ingress_dst_addresses: "local"\n  sctp-a-ingress_ethertype: "IPv4"\n  sctp-a-ingress_rule_application: "any"\n  sctp-a-ingress_rule_protocol: "icmp"\n  sctp-a-ipv6-egress-dst_start_port: "0"\n  sctp-a-ipv6-egress_action: "pass"\n  sctp-a-ipv6-egress_dst_end_port: "65535"\n  sctp-a-ipv6-egress_dst_subnet_prefix: "0.0.0.0"\n  sctp-a-ipv6-egress_dst_subnet_prefix_len: "0"\n  sctp-a-ipv6-egress_ethertype: "IPv4"\n  sctp-a-ipv6-egress_rule_application: "any"\n  sctp-a-ipv6-egress_rule_protocol: "any"\n  sctp-a-ipv6-egress_src_addresses: "local"\n  sctp-a-ipv6-egress_src_end_port: "65535"\n  sctp-a-ipv6-egress_src_start_port: "0"\n  sctp-a-ipv6-ingress-dst_end_port: "65535"\n  sctp-a-ipv6-ingress-dst_start_port: "0"\n  sctp-a-ipv6-ingress-src_end_port: 65535\n  sctp-a-ipv6-ingress-src_start_port: 0\n  sctp-a-ipv6-ingress_action: "pass"\n  sctp-a-ipv6-ingress_dst_addresses: "local"\n  sctp-a-ipv6-ingress_ethertype: "IPv4"\n  sctp-a-ipv6-ingress_rule_application: "any"\n  sctp-a-ipv6-ingress_rule_protocol: "any"\n  sctp-a-ipv6-ingress_src_subnet_prefix: "0.0.0.0"\n  sctp-a-ipv6-ingress_src_subnet_prefix_len: "0"\n  sctp-a-name: "epc-sctp-a-ipv4v6-sec-group"\n  sctp-a-src_subnet_prefix_v6: "::"\n  sctp-b-IPv6_ethertype: "IPv6"\n  sctp-b-display_name: "epc-sctp-b-ipv4v6-sec-group"\n  sctp-b-dst_subnet_prefix_v6: "::"\n  sctp-b-egress-dst_end_port: 65535\n  sctp-b-egress-dst_start_port: 0\n  sctp-b-egress-src_end_port: 65535\n  sctp-b-egress-src_start_port: 0\n  sctp-b-egress_action: "pass"\n  sctp-b-egress_dst_subnet_prefix: "0.0.0.0"\n  sctp-b-egress_dst_subnet_prefix_len: 0\n  sctp-b-egress_ethertype: "IPv4"\n  sctp-b-egress_rule_application: "any"\n  sctp-b-egress_rule_protocol: "icmp"\n  sctp-b-egress_src_addresses: "local"\n  sctp-b-ingress-dst_end_port: 65535\n  sctp-b-ingress-dst_start_port: 0\n  sctp-b-ingress-src_end_port: 65535\n  sctp-b-ingress-src_start_port: 0\n  sctp-b-ingress-src_subnet_prefix: "0.0.0.0"\n  sctp-b-ingress-src_subnet_prefix_len: 0\n  sctp-b-ingress_action: "pass"\n  sctp-b-ingress_dst_addresses: "local"\n  sctp-b-ingress_ethertype: "IPv4"\n  sctp-b-ingress_rule_application: "any"\n  sctp-b-ingress_rule_protocol: "icmp"\n  sctp-b-ipv6-egress-dst_start_port: "0"\n  sctp-b-ipv6-egress_action: "pass"\n  sctp-b-ipv6-egress_dst_end_port: "65535"\n  sctp-b-ipv6-egress_dst_subnet_prefix: "0.0.0.0"\n  sctp-b-ipv6-egress_dst_subnet_prefix_len: "0"\n  sctp-b-ipv6-egress_ethertype: "IPv4"\n  sctp-b-ipv6-egress_rule_application: "any"\n  sctp-b-ipv6-egress_rule_protocol: "any"\n  sctp-b-ipv6-egress_src_addresses: "local"\n  sctp-b-ipv6-egress_src_end_port: "65535"\n  sctp-b-ipv6-egress_src_start_port: "0"\n  sctp-b-ipv6-ingress-dst_end_port: "65535"\n  sctp-b-ipv6-ingress-dst_start_port: "0"\n  sctp-b-ipv6-ingress-src_end_port: 65535\n  sctp-b-ipv6-ingress-src_start_port: 0\n  sctp-b-ipv6-ingress_action: "pass"\n  sctp-b-ipv6-ingress_dst_addresses: "local"\n  sctp-b-ipv6-ingress_ethertype: "IPv4"\n  sctp-b-ipv6-ingress_rule_application: "any"\n  sctp-b-ipv6-ingress_rule_protocol: "any"\n  sctp-b-ipv6-ingress_src_subnet_prefix: "0.0.0.0"\n  sctp-b-ipv6-ingress_src_subnet_prefix_len: "0"\n  sctp-b-name: "epc-sctp-b-ipv4v6-sec-group"\n  sctp-b-src_subnet_prefix_v6: "::"\n  sctp_rule_protocol: "132"\n  vlc_st_availability_zone: "True"\n  vlc_st_interface_type_gtp: "other0"\n  vlc_st_interface_type_int1: "other1"\n  vlc_st_interface_type_int2: "other2"\n  vlc_st_interface_type_oam: "management"\n  vlc_st_interface_type_sctp_a: "left"\n  vlc_st_interface_type_sctp_b: "right"\n  vlc_st_service_mode: "in-network-nat"\n  vlc_st_service_type: "firewall"\n  vlc_st_version: "2"\n  vlc_st_virtualization_type: "virtual-machine"\n  availability_zone_0: \n  availability_zone_1: \n  availability_zone_2: \n  availability_zone_3: \n  fsb_name_0: \n  fsb_name_1: \n  fsb_oam_ip_0: \n  fsb_oam_ip_1: \n  fsb_volume_id_0: \n  fsb_volume_id_1: \n  gtp_net_fqdn: \n  gtp_net_name: \n  ncb_name_0: \n  ncb_name_1: \n  oam_net_fqdn: \n  oam_net_name: \n  sctp_a_net_fqdn: \n  sctp_a_net_name: \n  sctp_b_net_fqdn: \n  sctp_b_net_name: \n  vf_module_id: \n  vlc_gtp_route_prefixes: \n  vlc_oam_route_prefixes: \n  vlc_sctp_a_route_prefixes: \n  vlc_sctp_b_route_prefixes: \n  vnf_id: \n  vnf_name: \n', 'MGJjYzM2ZWY1ODBjYzc1MzBiMGQxZmI4N2MyZmFkY2E=', '2018-05-13 12:12:09');
 
 INSERT INTO `heat_environment` (`ARTIFACT_UUID`, `NAME`, `VERSION`, `DESCRIPTION`, `BODY`, `ARTIFACT_CHECKSUM`, `CREATION_TIMESTAMP`) VALUES ('3375f64b-4709-4802-8713-7a164763f9cd', 'base_vDB_11032016_volume.env', '1', 'Auto-generated HEAT Environment deployment artifact', '#', 'NGE2YTZjM2YzZDkyNWEzNTljMjQwYzkyNTIyMDU3ZDQ=', '2017-01-26 16:01:40');
index 3357fec..cfb65da 100644 (file)
@@ -933,6 +933,7 @@ CREATE TABLE `vf_module` (
   `MODEL_NAME` varchar(200) NOT NULL,
   `DESCRIPTION` varchar(1200) DEFAULT NULL,
   `IS_BASE` tinyint(1) NOT NULL,
+  `ORCH_TEMPLATE_ARTIFACT_TYPE` varchar(20) DEFAULT 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,
index d57b305..a07c0a4 100644 (file)
@@ -75,8 +75,68 @@ import org.onap.so.asdc.installer.VfModuleStructure;
 import org.onap.so.asdc.installer.VfResourceStructure;
 import org.onap.so.asdc.installer.bpmn.WorkflowResource;
 import org.onap.so.asdc.util.YamlEditor;
-import org.onap.so.db.catalog.beans.*;
-import org.onap.so.db.catalog.data.repository.*;
+import org.onap.so.db.catalog.beans.AllottedResource;
+import org.onap.so.db.catalog.beans.AllottedResourceCustomization;
+import org.onap.so.db.catalog.beans.CollectionNetworkResourceCustomization;
+import org.onap.so.db.catalog.beans.CollectionResource;
+import org.onap.so.db.catalog.beans.CollectionResourceInstanceGroupCustomization;
+import org.onap.so.db.catalog.beans.ConfigurationResource;
+import org.onap.so.db.catalog.beans.ConfigurationResourceCustomization;
+import org.onap.so.db.catalog.beans.CvnfcConfigurationCustomization;
+import org.onap.so.db.catalog.beans.CvnfcCustomization;
+import org.onap.so.db.catalog.beans.HeatEnvironment;
+import org.onap.so.db.catalog.beans.HeatFiles;
+import org.onap.so.db.catalog.beans.HeatTemplate;
+import org.onap.so.db.catalog.beans.HeatTemplateParam;
+import org.onap.so.db.catalog.beans.InstanceGroup;
+import org.onap.so.db.catalog.beans.InstanceGroupType;
+import org.onap.so.db.catalog.beans.NetworkCollectionResourceCustomization;
+import org.onap.so.db.catalog.beans.NetworkInstanceGroup;
+import org.onap.so.db.catalog.beans.NetworkResource;
+import org.onap.so.db.catalog.beans.NetworkResourceCustomization;
+import org.onap.so.db.catalog.beans.OrchTemplateArtifactType;
+import org.onap.so.db.catalog.beans.OrchTemplateArtifactType;
+import org.onap.so.db.catalog.beans.PnfResource;
+import org.onap.so.db.catalog.beans.PnfResourceCustomization;
+import org.onap.so.db.catalog.beans.Service;
+import org.onap.so.db.catalog.beans.ServiceArtifact;
+import org.onap.so.db.catalog.beans.ServiceInfo;
+import org.onap.so.db.catalog.beans.ServiceProxyResourceCustomization;
+import org.onap.so.db.catalog.beans.SubType;
+import org.onap.so.db.catalog.beans.TempNetworkHeatTemplateLookup;
+import org.onap.so.db.catalog.beans.ToscaCsar;
+import org.onap.so.db.catalog.beans.VFCInstanceGroup;
+import org.onap.so.db.catalog.beans.VfModule;
+import org.onap.so.db.catalog.beans.VfModuleCustomization;
+import org.onap.so.db.catalog.beans.VnfResource;
+import org.onap.so.db.catalog.beans.VnfResourceCustomization;
+import org.onap.so.db.catalog.beans.VnfcCustomization;
+import org.onap.so.db.catalog.beans.VnfcInstanceGroupCustomization;
+import org.onap.so.db.catalog.data.repository.AllottedResourceCustomizationRepository;
+import org.onap.so.db.catalog.data.repository.AllottedResourceRepository;
+import org.onap.so.db.catalog.data.repository.CollectionResourceCustomizationRepository;
+import org.onap.so.db.catalog.data.repository.CollectionResourceRepository;
+import org.onap.so.db.catalog.data.repository.ConfigurationResourceCustomizationRepository;
+import org.onap.so.db.catalog.data.repository.ConfigurationResourceRepository;
+import org.onap.so.db.catalog.data.repository.CvnfcCustomizationRepository;
+import org.onap.so.db.catalog.data.repository.ExternalServiceToInternalServiceRepository;
+import org.onap.so.db.catalog.data.repository.HeatEnvironmentRepository;
+import org.onap.so.db.catalog.data.repository.HeatFilesRepository;
+import org.onap.so.db.catalog.data.repository.HeatTemplateRepository;
+import org.onap.so.db.catalog.data.repository.InstanceGroupRepository;
+import org.onap.so.db.catalog.data.repository.NetworkResourceCustomizationRepository;
+import org.onap.so.db.catalog.data.repository.NetworkResourceRepository;
+import org.onap.so.db.catalog.data.repository.PnfCustomizationRepository;
+import org.onap.so.db.catalog.data.repository.PnfResourceRepository;
+import org.onap.so.db.catalog.data.repository.ServiceProxyResourceCustomizationRepository;
+import org.onap.so.db.catalog.data.repository.ServiceRepository;
+import org.onap.so.db.catalog.data.repository.TempNetworkHeatTemplateRepository;
+import org.onap.so.db.catalog.data.repository.ToscaCsarRepository;
+import org.onap.so.db.catalog.data.repository.VFModuleCustomizationRepository;
+import org.onap.so.db.catalog.data.repository.VFModuleRepository;
+import org.onap.so.db.catalog.data.repository.VnfResourceRepository;
+import org.onap.so.db.catalog.data.repository.VnfcCustomizationRepository;
+import org.onap.so.db.catalog.data.repository.VnfcInstanceGroupCustomizationRepository;
 import org.onap.so.db.request.beans.WatchdogComponentDistributionStatus;
 import org.onap.so.db.request.beans.WatchdogDistributionStatus;
 import org.onap.so.db.request.beans.WatchdogServiceModVerIdLookup;
@@ -2457,30 +2517,46 @@ public class ToscaResourceInstaller {
     protected void checkVfModuleArtifactType(VfModule vfModule, VfModuleCustomization vfModuleCustomization,
             List<HeatFiles> heatFilesList, VfModuleArtifact vfModuleArtifact, List<HeatTemplate> nestedHeatTemplates,
             HeatTemplate parentHeatTemplate, VfResourceStructure vfResourceStructure) {
-        if (vfModuleArtifact.getArtifactInfo().getArtifactType().equals(ASDCConfiguration.HEAT)) {
-            vfModuleArtifact.incrementDeployedInDB();
-            vfModule.setModuleHeatTemplate(vfModuleArtifact.getHeatTemplate());
-        } else if (vfModuleArtifact.getArtifactInfo().getArtifactType().equals(ASDCConfiguration.HEAT_VOL)) {
-            vfModule.setVolumeHeatTemplate(vfModuleArtifact.getHeatTemplate());
-            VfModuleArtifact volVfModuleArtifact =
-                    this.getHeatEnvArtifactFromGeneratedArtifact(vfResourceStructure, vfModuleArtifact);
-            vfModuleCustomization.setVolumeHeatEnv(volVfModuleArtifact.getHeatEnvironment());
-            vfModuleArtifact.incrementDeployedInDB();
-        } else if (vfModuleArtifact.getArtifactInfo().getArtifactType().equals(ASDCConfiguration.HEAT_ENV)) {
-            if (vfModuleArtifact.getHeatEnvironment() != null) {
-                if (vfModuleArtifact.getHeatEnvironment().getName().contains("volume")) {
-                    vfModuleCustomization.setVolumeHeatEnv(vfModuleArtifact.getHeatEnvironment());
-                } else {
-                    vfModuleCustomization.setHeatEnvironment(vfModuleArtifact.getHeatEnvironment());
+
+        switch (vfModuleArtifact.getArtifactInfo().getArtifactType()) {
+            case ASDCConfiguration.HEAT:
+                vfModuleArtifact.incrementDeployedInDB();
+                vfModule.setModuleHeatTemplate(vfModuleArtifact.getHeatTemplate());
+                vfModule.setOrchTemplateArtifactType(OrchTemplateArtifactType.HEAT);
+                break;
+            case ASDCConfiguration.HEAT_VOL:
+                vfModule.setVolumeHeatTemplate(vfModuleArtifact.getHeatTemplate());
+                VfModuleArtifact volVfModuleArtifact =
+                        this.getHeatEnvArtifactFromGeneratedArtifact(vfResourceStructure, vfModuleArtifact);
+                vfModuleCustomization.setVolumeHeatEnv(volVfModuleArtifact.getHeatEnvironment());
+                vfModuleArtifact.incrementDeployedInDB();
+                vfModule.setOrchTemplateArtifactType(OrchTemplateArtifactType.HEAT);
+                break;
+            case ASDCConfiguration.HEAT_ENV:
+                if (vfModuleArtifact.getHeatEnvironment() != null) {
+                    if (vfModuleArtifact.getHeatEnvironment().getName().contains("volume")) {
+                        vfModuleCustomization.setVolumeHeatEnv(vfModuleArtifact.getHeatEnvironment());
+                    } else {
+                        vfModuleCustomization.setHeatEnvironment(vfModuleArtifact.getHeatEnvironment());
+                    }
                 }
-            }
-            vfModuleArtifact.incrementDeployedInDB();
-        } else if (vfModuleArtifact.getArtifactInfo().getArtifactType().equals(ASDCConfiguration.HEAT_ARTIFACT)) {
-            heatFilesList.add(vfModuleArtifact.getHeatFiles());
-            vfModuleArtifact.incrementDeployedInDB();
-        } else if (vfModuleArtifact.getArtifactInfo().getArtifactType().equals(ASDCConfiguration.HEAT_NESTED)) {
-            nestedHeatTemplates.add(vfModuleArtifact.getHeatTemplate());
-            vfModuleArtifact.incrementDeployedInDB();
+                vfModuleArtifact.incrementDeployedInDB();
+                vfModule.setOrchTemplateArtifactType(OrchTemplateArtifactType.HEAT);
+                break;
+            case ASDCConfiguration.HEAT_ARTIFACT:
+                heatFilesList.add(vfModuleArtifact.getHeatFiles());
+                vfModuleArtifact.incrementDeployedInDB();
+                vfModule.setOrchTemplateArtifactType(OrchTemplateArtifactType.HEAT);
+                break;
+            case ASDCConfiguration.HEAT_NESTED:
+                nestedHeatTemplates.add(vfModuleArtifact.getHeatTemplate());
+                vfModuleArtifact.incrementDeployedInDB();
+                vfModule.setOrchTemplateArtifactType(OrchTemplateArtifactType.HEAT);
+                break;
+            case ASDCConfiguration.HELM:
+                vfModuleArtifact.incrementDeployedInDB();
+                vfModule.setOrchTemplateArtifactType(OrchTemplateArtifactType.HELM);
+                break;
         }
     }
 
index f94f74d..9e743b7 100644 (file)
@@ -936,6 +936,7 @@ CREATE TABLE `vf_module` (
   `MODEL_NAME` varchar(200) NOT NULL,
   `DESCRIPTION` varchar(1200) DEFAULT NULL,
   `IS_BASE` tinyint(1) NOT NULL,
+  `ORCH_TEMPLATE_ARTIFACT_TYPE` varchar(20) DEFAULT 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,
index fd8c273..b84311f 100644 (file)
@@ -933,6 +933,7 @@ CREATE TABLE `vf_module` (
   `MODEL_NAME` varchar(200) NOT NULL,
   `DESCRIPTION` varchar(1200) DEFAULT NULL,
   `IS_BASE` tinyint(1) NOT NULL,
+  `ORCH_TEMPLATE_ARTIFACT_TYPE` varchar(20) DEFAULT 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,
diff --git a/mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/OrchTemplateArtifactType.java b/mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/OrchTemplateArtifactType.java
new file mode 100644 (file)
index 0000000..0481a09
--- /dev/null
@@ -0,0 +1,27 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2021 NOKIA Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Modifications Copyright (c) 2019 Samsung
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.so.db.catalog.beans;
+
+public enum OrchTemplateArtifactType {
+    HEAT, HELM;
+}
index a972dbc..a3a51e6 100644 (file)
@@ -27,6 +27,8 @@ import java.util.List;
 import javax.persistence.CascadeType;
 import javax.persistence.Column;
 import javax.persistence.Entity;
+import javax.persistence.EnumType;
+import javax.persistence.Enumerated;
 import javax.persistence.FetchType;
 import javax.persistence.Id;
 import javax.persistence.JoinColumn;
@@ -73,6 +75,10 @@ public class VfModule implements Serializable {
     @Column(name = "IS_BASE")
     private Boolean isBase;
 
+    @Enumerated(EnumType.STRING)
+    @Column(name = "ORCH_TEMPLATE_ARTIFACT_TYPE")
+    private OrchTemplateArtifactType orchTemplateArtifactType;
+
     @OneToOne(cascade = CascadeType.ALL)
     @JoinColumn(name = "VOL_HEAT_TEMPLATE_ARTIFACT_UUID")
     private HeatTemplate volumeHeatTemplate;
@@ -103,6 +109,7 @@ public class VfModule implements Serializable {
         return new ToStringBuilder(this).append("modelUUID", modelUUID).append("modelInvariantUUID", modelInvariantUUID)
                 .append("modelName", modelName).append("modelVersion", modelVersion).append("description", description)
                 .append("isBase", isBase).append("volumeHeatTemplate", volumeHeatTemplate)
+                .append("orchTemplateArtifactType", orchTemplateArtifactType)
                 .append("moduleHeatTemplate", moduleHeatTemplate).append("created", created)
                 .append("heatFiles", heatFiles).append("vfModuleCustomization", vfModuleCustomization)
                 .append("vnfResources", vnfResources).toString();
@@ -163,6 +170,14 @@ public class VfModule implements Serializable {
         this.isBase = isBase;
     }
 
+    public void setOrchTemplateArtifactType(OrchTemplateArtifactType orchTemplateArtifactType) {
+        this.orchTemplateArtifactType = orchTemplateArtifactType;
+    }
+
+    public OrchTemplateArtifactType getOrchTemplateArtifactType() {
+        return orchTemplateArtifactType;
+    }
+
     @LinkedResource
     public List<HeatFiles> getHeatFiles() {
         if (heatFiles == null)
index 0913aef..71e709e 100644 (file)
@@ -1,3 +1,6 @@
+-- noinspection SqlNoDataSourceInspectionForFile
+
+-- noinspection SqlDialectInspectionForFile
 
 insert into heat_files(artifact_uuid, name, version, description, body, artifact_checksum, creation_timestamp) values
 ('00535bdd-0878-4478-b95a-c575c742bfb0', 'nimbus-ethernet-gw', '1', 'created from csar', 'DEVICE=$dev\nBOOTPROTO=none\nNM_CONTROLLED=no\nIPADDR=$ip\nNETMASK=$netmask\nGATEWAY=$gateway\n', 'MANUAL RECORD', '2017-01-21 23:56:43');
@@ -48,10 +51,10 @@ insert into vnf_resource_customization(model_customization_uuid, model_instance_
 ('68dc9a92-214c-11e7-93ae-92361f002671', 'vSAMP10a 1', '0', '0', '0', 'vSAMP', 'vSAMP', 'vSAMP', 'vSAMP', '2017-05-26 15:08:24', 'ff2ae348-214a-11e7-93ae-92361f002671', null,'5df8b6de-2083-11e7-93ae-92361f002671');
 
 
-insert into vf_module(model_uuid, model_invariant_uuid, model_version, model_name, description, is_base, heat_template_artifact_uuid, vol_heat_template_artifact_uuid, creation_timestamp, vnf_resource_model_uuid) values
+insert into vf_module(model_uuid, model_invariant_uuid, model_version, model_name, description, is_base, orch_template_artifact_type, heat_template_artifact_uuid, vol_heat_template_artifact_uuid, creation_timestamp, vnf_resource_model_uuid) values
 
-('20c4431c-246d-11e7-93ae-92361f002671', '78ca26d0-246d-11e7-93ae-92361f002671', '2', 'vSAMP10aDEV::base::module-0', 'vSAMP10a DEV Base', '1', 'ff874603-4222-11e7-9252-005056850d2e', null, '2016-09-14 18:19:56', 'ff2ae348-214a-11e7-93ae-92361f002671'),
-('066de97e-253e-11e7-93ae-92361f002671', '64efd51a-2544-11e7-93ae-92361f002671', '2', 'vSAMP10aDEV::PCM::module-1', 'vSAMP10a DEV PCM', '0', 'ff87482f-4222-11e7-9252-005056850d2e', null, '2016-09-14 18:19:56', 'ff2ae348-214a-11e7-93ae-92361f002671');
+('20c4431c-246d-11e7-93ae-92361f002671', '78ca26d0-246d-11e7-93ae-92361f002671', '2', 'vSAMP10aDEV::base::module-0', 'vSAMP10a DEV Base', '1', 'HEAT','ff874603-4222-11e7-9252-005056850d2e', null, '2016-09-14 18:19:56', 'ff2ae348-214a-11e7-93ae-92361f002671'),
+('066de97e-253e-11e7-93ae-92361f002671', '64efd51a-2544-11e7-93ae-92361f002671', '2', 'vSAMP10aDEV::PCM::module-1', 'vSAMP10a DEV PCM', '0', 'HEAT','ff87482f-4222-11e7-9252-005056850d2e', null, '2016-09-14 18:19:56', 'ff2ae348-214a-11e7-93ae-92361f002671');
 
 
 insert into vf_module_customization(model_customization_uuid, label, initial_count, min_instances, max_instances, availability_zone_count, heat_environment_artifact_uuid, vol_environment_artifact_uuid, creation_timestamp, vf_module_model_uuid) values
@@ -109,13 +112,13 @@ INSERT INTO vnfc_instance_group_customization (`ID`, `INSTANCE_GROUP_MODEL_UUID`
 
 
 
-insert into vf_module(model_uuid, model_invariant_uuid, model_version, model_name, description, is_base, heat_template_artifact_uuid, vol_heat_template_artifact_uuid, creation_timestamp, vnf_resource_model_uuid) values
+insert into vf_module(model_uuid, model_invariant_uuid, model_version, model_name, description, is_base, orch_template_artifact_type,  heat_template_artifact_uuid, vol_heat_template_artifact_uuid, creation_timestamp, vnf_resource_model_uuid) values
 
-('20c4431c-246d-11e7-93ae-92361f002672', '78ca26d0-246d-11e7-93ae-92361f002671', '2', 'vSAMP10aDEV::base::module-0', 'vSAMP10a DEV Base', '1', 'ff874603-4222-11e7-9252-005056850d2e', null, '2016-09-14 18:19:56', 'ff2ae348-214a-11e7-93ae-92361f002671'),
-('066de97e-253e-11e7-93ae-92361f002672', '64efd51a-2544-11e7-93ae-92361f002671', '2', 'vSAMP10aDEV::PCM::module-1', 'vSAMP10a DEV PCM', '0', 'ff87482f-4222-11e7-9252-005056850d2e', null, '2016-09-14 18:19:56', 'ff2ae348-214a-11e7-93ae-92361f002671'),
-('066de97e-253e-11e7-93ae-92361f002673', '64efd51a-2544-11e7-93ae-92361f002671', '3', 'vSAMP10aDEV::PCM::module-1', 'vSAMP10a DEV PCM', '0', 'ff87482f-4222-11e7-9252-005056850d2e', null, '2016-09-14 18:19:54', 'ff2ae348-214a-11e7-93ae-92361f002671'),
-('066de97e-253e-11e7-93ae-92361f002674', '64efd51a-2544-11e7-93ae-92361f002671', '3.1', 'vSAMP10aDEV::PCM::module-1', 'vSAMP10a DEV PCM', '0', 'ff87482f-4222-11e7-9252-005056850d2e', null, '2016-09-14 18:19:56', 'ff2ae348-214a-11e7-93ae-92361f002671'),
-('066de97e-253e-11e7-93ae-92361f002675', '64efd51a-2544-11e7-93ae-92361f002671', '3.1.1', 'vSAMP10aDEV::PCM::module-1', 'vSAMP10a DEV PCM', '0', 'ff87482f-4222-11e7-9252-005056850d2e', null, '2016-09-14 18:19:56', 'ff2ae348-214a-11e7-93ae-92361f002671');
+('20c4431c-246d-11e7-93ae-92361f002672', '78ca26d0-246d-11e7-93ae-92361f002671', '2', 'vSAMP10aDEV::base::module-0', 'vSAMP10a DEV Base', '1', 'HEAT','ff874603-4222-11e7-9252-005056850d2e', null, '2016-09-14 18:19:56', 'ff2ae348-214a-11e7-93ae-92361f002671'),
+('066de97e-253e-11e7-93ae-92361f002672', '64efd51a-2544-11e7-93ae-92361f002671', '2', 'vSAMP10aDEV::PCM::module-1', 'vSAMP10a DEV PCM', '0', 'HEAT','ff87482f-4222-11e7-9252-005056850d2e', null, '2016-09-14 18:19:56', 'ff2ae348-214a-11e7-93ae-92361f002671'),
+('066de97e-253e-11e7-93ae-92361f002673', '64efd51a-2544-11e7-93ae-92361f002671', '3', 'vSAMP10aDEV::PCM::module-1', 'vSAMP10a DEV PCM', '0', 'HEAT','ff87482f-4222-11e7-9252-005056850d2e', null, '2016-09-14 18:19:54', 'ff2ae348-214a-11e7-93ae-92361f002671'),
+('066de97e-253e-11e7-93ae-92361f002674', '64efd51a-2544-11e7-93ae-92361f002671', '3.1', 'vSAMP10aDEV::PCM::module-1', 'vSAMP10a DEV PCM', '0', 'HEAT', 'ff87482f-4222-11e7-9252-005056850d2e', null, '2016-09-14 18:19:56', 'ff2ae348-214a-11e7-93ae-92361f002671'),
+('066de97e-253e-11e7-93ae-92361f002675', '64efd51a-2544-11e7-93ae-92361f002671', '3.1.1', 'vSAMP10aDEV::PCM::module-1', 'vSAMP10a DEV PCM', '0', 'HEAT','ff87482f-4222-11e7-9252-005056850d2e', null, '2016-09-14 18:19:56', 'ff2ae348-214a-11e7-93ae-92361f002671');
 
 
 
index 68f272c..912fe07 100644 (file)
@@ -935,6 +935,7 @@ CREATE TABLE `vf_module` (
   `MODEL_NAME` varchar(200) NOT NULL,
   `DESCRIPTION` varchar(1200) DEFAULT NULL,
   `IS_BASE` tinyint(1) NOT NULL,
+  `ORCH_TEMPLATE_ARTIFACT_TYPE` varchar(20) DEFAULT 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,