aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/resourceGroupIndexVar
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/resourceGroupIndexVar')
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/resourceGroupIndexVar/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml161
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/resourceGroupIndexVar/expectedoutputfiles/MainServiceTemplate.yaml569
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/resourceGroupIndexVar/expectedoutputfiles/mvs.nested.heatServiceTemplate.yaml254
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/resourceGroupIndexVar/inputs/MANIFEST.json19
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/resourceGroupIndexVar/inputs/mvs.nested.heat.yaml129
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/resourceGroupIndexVar/inputs/mvs.vfmodule.heat.yaml228
6 files changed, 1360 insertions, 0 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/resourceGroupIndexVar/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/resourceGroupIndexVar/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml
new file mode 100644
index 0000000000..15b5e3b3a8
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/resourceGroupIndexVar/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml
@@ -0,0 +1,161 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: GlobalSubstitutionTypes
+imports:
+ ContrailComputeGlobalTypes:
+ file: ContrailComputeGlobalTypesServiceTemplate.yaml
+ CinderVolumeGlobalTypes:
+ file: CinderVolumeGlobalTypesServiceTemplate.yaml
+ ContrailVirtualNetworkGlobalType:
+ file: ContrailVirtualNetworkGlobalTypeServiceTemplate.yaml
+ AbstractSubstituteGlobalTypes:
+ file: AbstractSubstituteGlobalTypesServiceTemplate.yaml
+ ContrailPortGlobalTypes:
+ file: ContrailPortGlobalTypesServiceTemplate.yaml
+ NeutronPortGlobalTypes:
+ file: NeutronPortGlobalTypesServiceTemplate.yaml
+ NeutronNetGlobalTypes:
+ file: NeutronNetGlobalTypesServiceTemplate.yaml
+ CommonGlobalTypes:
+ file: CommonGlobalTypesServiceTemplate.yaml
+ ContrailAbstractSubstituteGlobalTypes:
+ file: ContrailAbstractSubstituteGlobalTypesServiceTemplate.yaml
+ ContrailNetworkRuleGlobalType:
+ file: ContrailNetworkRuleGlobalTypeServiceTemplate.yaml
+ NeutronSecurityRulesGlobalTypes:
+ file: NeutronSecurityRulesGlobalTypesServiceTemplate.yaml
+ NovaServerGlobalTypes:
+ file: NovaServerGlobalTypesServiceTemplate.yaml
+ ContrailV2VirtualMachineInterfaceGlobalType:
+ file: ContrailV2VirtualMachineInterfaceGlobalTypeServiceTemplate.yaml
+node_types:
+ org.openecomp.resource.abstract.nodes.heat.mvs.nested.heat:
+ derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+ properties:
+ vf_module_id:
+ type: string
+ description: Unique ID for this VF_MODULE instance
+ vf_name:
+ type: string
+ description: The VF Name; defaults to VMVM for the virtual MVM VNF.
+ constraints:
+ - pattern: '[a-zA-Z0-9]+'
+ - max_length: 4
+ - min_length: 4
+ cloud_zone_id:
+ type: string
+ description: The cloud zone for this VF instance
+ vf_instance_num:
+ type: string
+ description: The number for this VF instance
+ constraints:
+ - pattern: '[0-9]+'
+ - max_length: 2
+ - min_length: 2
+ virtual_mgmt_ip_0:
+ type: string
+ description: Virtual management network ip address
+ indx:
+ type: float
+ description: Index of the current instance
+ mvs_mgmt_ip_0:
+ type: list
+ description: List of Management network IP addresses for IPv4
+ entry_schema:
+ type: string
+ flavor:
+ type: string
+ description: Server flavor
+ constraints: [
+ ]
+ key_name:
+ type: string
+ description: SSH key name
+ constraints: [
+ ]
+ vnf_id:
+ type: string
+ description: Unique ID for this VF instance
+ availability_zone_0:
+ type: list
+ description: List of Availability Zone IDs or Names
+ entry_schema:
+ type: string
+ mgmt_net_id:
+ type: string
+ description: Neutron UUID for the Management network
+ constraints: [
+ ]
+ vm_instance_num:
+ type: list
+ description: VM instance number list must be a list of three-digit numeric value
+ entry_schema:
+ type: string
+ bootimage:
+ type: string
+ description: Master bootimage volume id
+ sec_groups:
+ type: list
+ description: Security groups
+ entry_schema:
+ type: string
+ vf_component:
+ type: string
+ description: The component that this VF instance is running
+ constraints:
+ - pattern: '[a-zA-Z0-9]+'
+ - max_length: 3
+ - min_length: 3
+ attributes:
+ vnfci_id_2:
+ type: string
+ vnfci_id_1:
+ type: string
+ requirements:
+ - local_storage_vnfci:
+ capability: tosca.capabilities.Attachment
+ node: tosca.nodes.BlockStorage
+ relationship: tosca.relationships.AttachesTo
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - link_mgmt_port:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ capabilities:
+ os_vnfci:
+ type: tosca.capabilities.OperatingSystem
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_mgmt_port:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ endpoint_vnfci:
+ type: tosca.capabilities.Endpoint.Admin
+ occurrences:
+ - 1
+ - UNBOUNDED
+ host_vnfci:
+ type: tosca.capabilities.Container
+ valid_source_types:
+ - tosca.nodes.SoftwareComponent
+ occurrences:
+ - 1
+ - UNBOUNDED
+ binding_vnfci:
+ type: tosca.capabilities.network.Bindable
+ occurrences:
+ - 1
+ - UNBOUNDED
+ scalable_vnfci:
+ type: tosca.capabilities.Scalable
+ occurrences:
+ - 1
+ - UNBOUNDED \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/resourceGroupIndexVar/expectedoutputfiles/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/resourceGroupIndexVar/expectedoutputfiles/MainServiceTemplate.yaml
new file mode 100644
index 0000000000..b07fa5b70b
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/resourceGroupIndexVar/expectedoutputfiles/MainServiceTemplate.yaml
@@ -0,0 +1,569 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: Main
+imports:
+ ContrailComputeGlobalTypes:
+ file: ContrailComputeGlobalTypesServiceTemplate.yaml
+ CinderVolumeGlobalTypes:
+ file: CinderVolumeGlobalTypesServiceTemplate.yaml
+ ContrailVirtualNetworkGlobalType:
+ file: ContrailVirtualNetworkGlobalTypeServiceTemplate.yaml
+ AbstractSubstituteGlobalTypes:
+ file: AbstractSubstituteGlobalTypesServiceTemplate.yaml
+ ContrailPortGlobalTypes:
+ file: ContrailPortGlobalTypesServiceTemplate.yaml
+ GlobalSubstitutionTypes:
+ file: GlobalSubstitutionTypesServiceTemplate.yaml
+ NeutronPortGlobalTypes:
+ file: NeutronPortGlobalTypesServiceTemplate.yaml
+ NeutronNetGlobalTypes:
+ file: NeutronNetGlobalTypesServiceTemplate.yaml
+ CommonGlobalTypes:
+ file: CommonGlobalTypesServiceTemplate.yaml
+ ContrailAbstractSubstituteGlobalTypes:
+ file: ContrailAbstractSubstituteGlobalTypesServiceTemplate.yaml
+ ContrailNetworkRuleGlobalType:
+ file: ContrailNetworkRuleGlobalTypeServiceTemplate.yaml
+ NeutronSecurityRulesGlobalTypes:
+ file: NeutronSecurityRulesGlobalTypesServiceTemplate.yaml
+ NovaServerGlobalTypes:
+ file: NovaServerGlobalTypesServiceTemplate.yaml
+ ContrailV2VirtualMachineInterfaceGlobalType:
+ file: ContrailV2VirtualMachineInterfaceGlobalTypeServiceTemplate.yaml
+node_types:
+ org.openecomp.resource.vfc.nodes.heat.compute:
+ derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+ inputs:
+ vf_module_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique ID for this VF_MODULE instance
+ vf_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: The VF Name; defaults to VMVM for the virtual MVM VNF.
+ constraints:
+ - pattern: '[a-zA-Z0-9]+'
+ - max_length: 4
+ - min_length: 4
+ type_name:
+ hidden: false
+ immutable: false
+ type: string
+ cloud_zone_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: The cloud zone for this VF instance
+ vf_instance_num:
+ hidden: false
+ immutable: false
+ type: string
+ description: The number for this VF instance
+ constraints:
+ - pattern: '[0-9]+'
+ - max_length: 2
+ - min_length: 2
+ virtual_mgmt_ip_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: Virtual management network ip address
+ mvs_mgmt_ip_0:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of Management network IP addresses for IPv4
+ entry_schema:
+ type: string
+ compute_image_name:
+ hidden: false
+ immutable: false
+ type: string
+ flavor:
+ hidden: false
+ immutable: false
+ type: string
+ description: Server flavor
+ constraints: [
+ ]
+ key_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: SSH key name
+ constraints: [
+ ]
+ vnf_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique ID for this VF instance
+ availability_zone_0:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of Availability Zone IDs or Names
+ entry_schema:
+ type: string
+ mgmt_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Neutron UUID for the Management network
+ constraints: [
+ ]
+ vm_instance_num:
+ hidden: false
+ immutable: false
+ type: list
+ description: VM instance number list must be a list of three-digit numeric value
+ entry_schema:
+ type: string
+ bootimage:
+ hidden: false
+ immutable: false
+ type: string
+ description: Master bootimage volume id
+ sec_groups:
+ hidden: false
+ immutable: false
+ type: list
+ description: Security groups
+ entry_schema:
+ type: string
+ vf_component:
+ hidden: false
+ immutable: false
+ type: string
+ description: The component that this VF instance is running
+ constraints:
+ - pattern: '[a-zA-Z0-9]+'
+ - max_length: 3
+ - min_length: 3
+ num_instances:
+ hidden: false
+ immutable: false
+ type: float
+ description: number of instance of the VF_module
+ node_templates:
+ mvs_modules_custIndexVar2:
+ type: org.openecomp.resource.abstract.nodes.heat.mvs.nested.heat
+ directives:
+ - substitutable
+ properties:
+ vf_module_id:
+ - get_input: vf_module_id
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ - concat:
+ - fff
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ vf_name:
+ concat:
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ - vf_name
+ cloud_zone_id:
+ concat:
+ - cloud_zone_id_
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ vf_instance_num:
+ concat:
+ - vf_instance_num_
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ - _bbbb
+ virtual_mgmt_ip_0:
+ get_input: virtual_mgmt_ip_0
+ indx:
+ get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ mvs_mgmt_ip_0: mvs_mgmt_ip_0
+ flavor:
+ a: a
+ b: b
+ e:
+ get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ w:
+ concat:
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ - _pp
+ key_name:
+ - a
+ - b
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ - concat:
+ - p
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ service_template_filter:
+ substitute_service_template: mvs.nested.heatServiceTemplate.yaml
+ count: 2
+ mandatory: true
+ vnf_id: null
+ availability_zone_0:
+ get_input: availability_zone_0
+ mgmt_net_id:
+ get_input: mgmt_net_id
+ vm_instance_num:
+ concat:
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ - _vm_instance_num_
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ - _hhh_
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ - _pppp
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ bootimage:
+ get_input: bootimage
+ sec_groups:
+ get_input: sec_groups
+ vf_component:
+ get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ mvs_modules_custIndexVar1:
+ type: org.openecomp.resource.abstract.nodes.heat.mvs.nested.heat
+ directives:
+ - substitutable
+ properties:
+ vf_module_id:
+ - get_input: vf_module_id
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ - concat:
+ - fff
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ vf_name:
+ concat:
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ - vf_name
+ cloud_zone_id:
+ concat:
+ - cloud_zone_id_
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ vf_instance_num:
+ concat:
+ - vf_instance_num_
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ - _bbbb
+ virtual_mgmt_ip_0:
+ get_input: virtual_mgmt_ip_0
+ indx:
+ get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ mvs_mgmt_ip_0: mvs_mgmt_ip_0
+ flavor:
+ a: a
+ b: b
+ e:
+ get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ w:
+ concat:
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ - _pp
+ key_name:
+ - a
+ - b
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ - concat:
+ - p
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ service_template_filter:
+ substitute_service_template: mvs.nested.heatServiceTemplate.yaml
+ count: 2
+ mandatory: true
+ vnf_id: null
+ availability_zone_0:
+ get_input: availability_zone_0
+ mgmt_net_id:
+ get_input: mgmt_net_id
+ vm_instance_num:
+ concat:
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ - _vm_instance_num_
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ - _hhh_
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ - _pppp
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ bootimage:
+ get_input: bootimage
+ sec_groups:
+ get_input: sec_groups
+ vf_component:
+ get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ mvs_modules_defaultIndexVar:
+ type: org.openecomp.resource.abstract.nodes.heat.mvs.nested.heat
+ directives:
+ - substitutable
+ properties:
+ vf_module_id:
+ - get_input: vf_module_id
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ - concat:
+ - fff
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ vf_name:
+ concat:
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ - vf_name
+ cloud_zone_id:
+ concat:
+ - cloud_zone_id_
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ vf_instance_num:
+ concat:
+ - vf_instance_num_
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ - _bbbb
+ virtual_mgmt_ip_0:
+ get_input: virtual_mgmt_ip_0
+ indx:
+ get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ mvs_mgmt_ip_0: mvs_mgmt_ip_0
+ flavor:
+ a: a
+ b:
+ aa:
+ - sss
+ - concat:
+ - dddd
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ - ppp
+ - sd
+ ppp:
+ concat:
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ - _pppp___
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ eeee: eeeeeee
+ e:
+ get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ w:
+ concat:
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ - _pp
+ key_name:
+ - a
+ - b
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ - concat:
+ - p
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ service_template_filter:
+ substitute_service_template: mvs.nested.heatServiceTemplate.yaml
+ count: 3
+ mandatory: true
+ vnf_id: null
+ availability_zone_0:
+ get_input: availability_zone_0
+ mgmt_net_id:
+ get_input: mgmt_net_id
+ vm_instance_num:
+ concat:
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ - _vm_instance_num_
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ - _hhh_
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ - _pppp
+ - get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ bootimage:
+ get_input: bootimage
+ sec_groups:
+ get_input: sec_groups
+ vf_component:
+ get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ server_compute_get_attr_test:
+ type: org.openecomp.resource.vfc.nodes.heat.compute
+ properties:
+ flavor: compute_flavor_name
+ image:
+ get_input: compute_image_name
+ config_drive:
+ get_attribute:
+ - mvs_modules_defaultIndexVar
+ - vnfci_id_1
+ - vnfci_id_2
+ user_data_format:
+ get_attribute:
+ - mvs_modules_defaultIndexVar
+ - vnfci_id_1
+ - 1
+ name: compute_name
+ groups:
+ mvs.vfmodule.heat:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/mvs.vfmodule.heat.yaml
+ description: |
+ Metaswitch MVS (Metaview Server)
+ members:
+ - mvs_modules_custIndexVar2
+ - mvs_modules_custIndexVar1
+ - mvs_modules_defaultIndexVar
+ - server_compute_get_attr_test \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/resourceGroupIndexVar/expectedoutputfiles/mvs.nested.heatServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/resourceGroupIndexVar/expectedoutputfiles/mvs.nested.heatServiceTemplate.yaml
new file mode 100644
index 0000000000..11369f9b68
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/resourceGroupIndexVar/expectedoutputfiles/mvs.nested.heatServiceTemplate.yaml
@@ -0,0 +1,254 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: mvs.nested.heat
+imports:
+ ContrailComputeGlobalTypes:
+ file: ContrailComputeGlobalTypesServiceTemplate.yaml
+ CinderVolumeGlobalTypes:
+ file: CinderVolumeGlobalTypesServiceTemplate.yaml
+ ContrailVirtualNetworkGlobalType:
+ file: ContrailVirtualNetworkGlobalTypeServiceTemplate.yaml
+ AbstractSubstituteGlobalTypes:
+ file: AbstractSubstituteGlobalTypesServiceTemplate.yaml
+ ContrailPortGlobalTypes:
+ file: ContrailPortGlobalTypesServiceTemplate.yaml
+ GlobalSubstitutionTypes:
+ file: GlobalSubstitutionTypesServiceTemplate.yaml
+ NeutronPortGlobalTypes:
+ file: NeutronPortGlobalTypesServiceTemplate.yaml
+ NeutronNetGlobalTypes:
+ file: NeutronNetGlobalTypesServiceTemplate.yaml
+ CommonGlobalTypes:
+ file: CommonGlobalTypesServiceTemplate.yaml
+ ContrailAbstractSubstituteGlobalTypes:
+ file: ContrailAbstractSubstituteGlobalTypesServiceTemplate.yaml
+ ContrailNetworkRuleGlobalType:
+ file: ContrailNetworkRuleGlobalTypeServiceTemplate.yaml
+ NeutronSecurityRulesGlobalTypes:
+ file: NeutronSecurityRulesGlobalTypesServiceTemplate.yaml
+ NovaServerGlobalTypes:
+ file: NovaServerGlobalTypesServiceTemplate.yaml
+ ContrailV2VirtualMachineInterfaceGlobalType:
+ file: ContrailV2VirtualMachineInterfaceGlobalTypeServiceTemplate.yaml
+node_types:
+ org.openecomp.resource.vfc.nodes.heat.vnfci:
+ derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+ inputs:
+ vf_module_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique ID for this VF_MODULE instance
+ vf_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: The VF Name; defaults to VMVM for the virtual MVM VNF.
+ constraints:
+ - pattern: '[a-zA-Z0-9]+'
+ - max_length: 4
+ - min_length: 4
+ cloud_zone_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: The cloud zone for this VF instance
+ vf_instance_num:
+ hidden: false
+ immutable: false
+ type: string
+ description: The number for this VF instance
+ constraints:
+ - pattern: '[0-9]+'
+ - max_length: 2
+ - min_length: 2
+ virtual_mgmt_ip_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: Virtual management network ip address
+ indx:
+ hidden: false
+ immutable: false
+ type: float
+ description: Index of the current instance
+ mvs_mgmt_ip_0:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of Management network IP addresses for IPv4
+ entry_schema:
+ type: string
+ flavor:
+ hidden: false
+ immutable: false
+ type: string
+ description: Server flavor
+ constraints: [
+ ]
+ key_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: SSH key name
+ constraints: [
+ ]
+ vnf_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique ID for this VF instance
+ availability_zone_0:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of Availability Zone IDs or Names
+ entry_schema:
+ type: string
+ mgmt_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Neutron UUID for the Management network
+ constraints: [
+ ]
+ vm_instance_num:
+ hidden: false
+ immutable: false
+ type: list
+ description: VM instance number list must be a list of three-digit numeric value
+ entry_schema:
+ type: string
+ bootimage:
+ hidden: false
+ immutable: false
+ type: string
+ description: Master bootimage volume id
+ sec_groups:
+ hidden: false
+ immutable: false
+ type: list
+ description: Security groups
+ entry_schema:
+ type: string
+ vf_component:
+ hidden: false
+ immutable: false
+ type: string
+ description: The component that this VF instance is running
+ constraints:
+ - pattern: '[a-zA-Z0-9]+'
+ - max_length: 3
+ - min_length: 3
+ node_templates:
+ vnfci:
+ type: org.openecomp.resource.vfc.nodes.heat.vnfci
+ properties:
+ flavor:
+ get_input: flavor
+ key_name:
+ get_input: key_name
+ availability_zone:
+ Fn::Select:
+ - get_input: indx
+ - get_input:
+ - availability_zone_0
+ name:
+ str_replace:
+ template: Z$CLOUD_ZONE_ID$VF_NAME$VF_INSTANCE_NUM$VF_COMPONENT$VM_INSTANCE_NUM
+ params:
+ $VF_NAME:
+ get_input: vf_name
+ $CLOUD_ZONE_ID:
+ get_input: cloud_zone_id
+ $VM_INSTANCE_NUM:
+ Fn::Select:
+ - get_input: indx
+ - get_input:
+ - vm_instance_num
+ $VF_COMPONENT:
+ get_input: vf_component
+ $VF_INSTANCE_NUM:
+ get_input: vf_instance_num
+ mgmt_port:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ security_groups:
+ - get_input: sec_groups
+ fixed_ips:
+ - ip_address:
+ Fn::Select:
+ - get_input: indx
+ - get_input:
+ - get_input: mvs_mgmt_ip_0
+ allowed_address_pairs:
+ - ip_address:
+ get_input: virtual_mgmt_ip_0
+ name:
+ str_replace:
+ template: Z$CLOUD_ZONE_ID$VF_NAME$VF_INSTANCE_NUM$VF_COMPONENT$VM_INSTANCE_NUM-mgmt-port
+ params:
+ $VF_NAME:
+ get_input: vf_name
+ $CLOUD_ZONE_ID:
+ get_input: cloud_zone_id
+ $VM_INSTANCE_NUM:
+ Fn::Select:
+ - get_input: indx
+ - get_input:
+ - vm_instance_num
+ $VF_COMPONENT:
+ get_input: vf_component
+ $VF_INSTANCE_NUM:
+ get_input: vf_instance_num
+ network:
+ get_input: mgmt_net_id
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: vnfci
+ relationship: tosca.relationships.network.BindsTo
+ groups:
+ mvs.nested.heat:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/mvs.nested.heat.yaml
+ description: |
+ Metaswitch MVS (Metaview Server)
+ members:
+ - vnfci
+ - mgmt_port
+ outputs:
+ vnfci_id_2:
+ value: vnfci
+ vnfci_id_1:
+ value: vnfci
+ substitution_mappings:
+ node_type: org.openecomp.resource.abstract.nodes.heat.mvs.nested.heat
+ capabilities:
+ os_vnfci:
+ - vnfci
+ - os
+ attachment_mgmt_port:
+ - mgmt_port
+ - attachment
+ endpoint_vnfci:
+ - vnfci
+ - endpoint
+ host_vnfci:
+ - vnfci
+ - host
+ binding_vnfci:
+ - vnfci
+ - binding
+ scalable_vnfci:
+ - vnfci
+ - scalable
+ requirements:
+ local_storage_vnfci:
+ - vnfci
+ - local_storage
+ link_mgmt_port:
+ - mgmt_port
+ - link \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/resourceGroupIndexVar/inputs/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/resourceGroupIndexVar/inputs/MANIFEST.json
new file mode 100644
index 0000000000..c7729c8653
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/resourceGroupIndexVar/inputs/MANIFEST.json
@@ -0,0 +1,19 @@
+{
+ "name": "mvs.vfmodule.heat.yaml",
+ "description": "Metaswitch MVS (Metaview Server)",
+ "version": "2013-05-23",
+ "data": [
+ {
+ "file": "mvs.vfmodule.heat.yaml",
+ "type": "HEAT",
+ "data": [
+ ]
+ },
+ {
+ "file": "mvs.nested.heat.yaml",
+ "type": "HEAT",
+ "data": [
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/resourceGroupIndexVar/inputs/mvs.nested.heat.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/resourceGroupIndexVar/inputs/mvs.nested.heat.yaml
new file mode 100644
index 0000000000..01adb51d71
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/resourceGroupIndexVar/inputs/mvs.nested.heat.yaml
@@ -0,0 +1,129 @@
+heat_template_version: 2013-05-23
+
+description: >
+ Metaswitch MVS (Metaview Server)
+
+parameters:
+ cloud_zone_id:
+ type: string
+ description: The cloud zone for this VF instance
+ vf_name:
+ type: string
+ description: The VF Name; defaults to VMVM for the virtual MVM VNF.
+ constraints:
+ - allowed_pattern: "[a-zA-Z0-9]+"
+ - length: { min: 4, max: 4 }
+ description: Each VF will have a 4-character alphanumeric identifier
+ vf_instance_num:
+ type: string
+ description: The number for this VF instance
+ constraints:
+ - allowed_pattern: "[0-9]+"
+ - length: { min: 2, max: 2 }
+ description: VF instance number must be a two-digit numeric value
+ vf_component:
+ type: string
+ description: The component that this VF instance is running
+ constraints:
+ - allowed_pattern: "[a-zA-Z0-9]+"
+ - length: { min: 3, max: 3 }
+ description: Each VF component will have a 3-character alphanumeric identifier
+ vm_instance_num:
+ type: comma_delimited_list
+ description: VM instance number list must be a list of three-digit numeric value
+ vnf_id:
+ type: string
+ description: Unique ID for this VF instance
+ vf_module_id:
+ type: string
+ description: Unique ID for this VF_MODULE instance
+ bootimage:
+ type: string
+ description: Master bootimage volume id
+ flavor:
+ type: string
+ description: Server flavor
+ constraints:
+ - custom_constraint: nova.flavor
+ key_name:
+ type: string
+ description: SSH key name
+ constraints:
+ - custom_constraint: nova.keypair
+
+ availability_zone_0:
+ type: comma_delimited_list
+ description: List of Availability Zone IDs or Names
+
+ sec_groups:
+ type: comma_delimited_list
+ description: Security groups
+ mgmt_net_id:
+ type: string
+ description: Neutron UUID for the Management network
+ constraints:
+ - custom_constraint: neutron.network
+ virtual_mgmt_ip_0:
+ type: string
+ description: Virtual management network ip address
+
+ mvs_mgmt_ip_0:
+ type: comma_delimited_list
+ description: List of Management network IP addresses for IPv4
+
+ indx:
+ type: number
+ description: Index of the current instance
+
+resources:
+ mgmt_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: Z$CLOUD_ZONE_ID$VF_NAME$VF_INSTANCE_NUM$VF_COMPONENT$VM_INSTANCE_NUM-mgmt-port
+ params:
+ $CLOUD_ZONE_ID: { get_param: cloud_zone_id }
+ $VF_NAME: { get_param: vf_name }
+ $VF_INSTANCE_NUM: { get_param: vf_instance_num }
+ $VF_COMPONENT: { get_param: vf_component }
+ $VM_INSTANCE_NUM: { "Fn::Select" : [ { get_param: indx }, { get_param: [vm_instance_num] } ] }
+ network_id: { get_param: mgmt_net_id }
+ security_groups: [{ get_param: sec_groups }]
+
+ fixed_ips:
+ - ip_address: { "Fn::Select" : [ { get_param: indx }, { get_param: [{ get_param: mvs_mgmt_ip_0 }] } ] }
+
+ allowed_address_pairs:
+ - ip_address: { get_param: virtual_mgmt_ip_0 }
+
+
+
+ vnfci:
+ type: OS::Nova::Server
+ properties:
+ name:
+ str_replace:
+ template: Z$CLOUD_ZONE_ID$VF_NAME$VF_INSTANCE_NUM$VF_COMPONENT$VM_INSTANCE_NUM
+ params:
+ $CLOUD_ZONE_ID: { get_param: cloud_zone_id }
+ $VF_NAME: { get_param: vf_name }
+ $VF_INSTANCE_NUM: { get_param: vf_instance_num }
+ $VF_COMPONENT: { get_param: vf_component }
+ $VM_INSTANCE_NUM: { "Fn::Select" : [ { get_param: indx }, { get_param: [vm_instance_num] } ] }
+ flavor: { get_param: flavor }
+ key_name: { get_param: key_name }
+ networks:
+ - port: { get_resource: mgmt_port }
+
+ availability_zone: { "Fn::Select" : [ { get_param: indx }, { get_param: [availability_zone_0] } ] }
+
+ metadata:
+ vnf_id: { get_param: vnf_id }
+ vf_module_id: { get_param: vf_module_id }
+
+outputs:
+ vnfci_id_1:
+ value: { get_resource: vnfci }
+ vnfci_id_2:
+ value: { get_resource: vnfci } \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/resourceGroupIndexVar/inputs/mvs.vfmodule.heat.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/resourceGroupIndexVar/inputs/mvs.vfmodule.heat.yaml
new file mode 100644
index 0000000000..6b42078b21
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/resourceGroupIndexVar/inputs/mvs.vfmodule.heat.yaml
@@ -0,0 +1,228 @@
+heat_template_version: 2013-05-23
+
+description: >
+ Metaswitch MVS (Metaview Server)
+
+parameters:
+ cloud_zone_id:
+ type: string
+ description: The cloud zone for this VF instance
+ vf_name:
+ type: string
+ description: The VF Name; defaults to VMVM for the virtual MVM VNF.
+ constraints:
+ - allowed_pattern: "[a-zA-Z0-9]+"
+ - length: { min: 4, max: 4 }
+ description: Each VF will have a 4-character alphanumeric identifier
+ vf_instance_num:
+ type: string
+ description: The number for this VF instance
+ constraints:
+ - allowed_pattern: "[0-9]+"
+ - length: { min: 2, max: 2 }
+ description: VF instance number must be a two-digit numeric value
+ vf_component:
+ type: string
+ description: The component that this VF instance is running
+ constraints:
+ - allowed_pattern: "[a-zA-Z0-9]+"
+ - length: { min: 3, max: 3 }
+ description: Each VF component will have a 3-character alphanumeric identifier
+ vm_instance_num:
+ type: comma_delimited_list
+ description: VM instance number list must be a list of three-digit numeric value
+ vnf_id:
+ type: string
+ description: Unique ID for this VF instance
+ vf_module_id:
+ type: string
+ description: Unique ID for this VF_MODULE instance
+ bootimage:
+ type: string
+ description: Master bootimage volume id
+ flavor:
+ type: string
+ description: Server flavor
+ constraints:
+ - custom_constraint: nova.flavor
+ key_name:
+ type: string
+ description: SSH key name
+ constraints:
+ - custom_constraint: nova.keypair
+ type_name:
+ type: string
+ availability_zone_0:
+ type: comma_delimited_list
+ description: List of Availability Zone IDs or Names
+
+ sec_groups:
+ type: comma_delimited_list
+ description: Security groups
+ mgmt_net_id:
+ type: string
+ description: Neutron UUID for the Management network
+ constraints:
+ - custom_constraint: neutron.network
+ virtual_mgmt_ip_0:
+ type: string
+ description: Virtual management network ip address
+
+ mvs_mgmt_ip_0:
+ type: comma_delimited_list
+ description: List of Management network IP addresses for IPv4
+
+ num_instances:
+ type: number
+ description: number of instance of the VF_module
+
+ compute_image_name:
+ type: string
+
+resources:
+ mvs_modules_defaultIndexVar:
+ type: OS::Heat::ResourceGroup
+ properties:
+ count: 3
+ resource_def:
+ type: mvs.nested.heat.yaml
+ properties:
+ cloud_zone_id: cloud_zone_id_%index%
+ vf_name: "%index%vf_name"
+ vf_instance_num: "vf_instance_num_%index%_bbbb"
+ vf_component: "%index%"
+ vm_instance_num: "%index%_vm_instance_num_%index%_hhh_%index%%index%%index%_pppp%index%"
+ vnf_id:
+ vf_module_id: [{ get_param: vf_module_id }, "%index%", fff%index% ]
+ bootimage: { get_param: bootimage }
+ flavor:
+ a: a
+ b:
+ aa: [sss,dddd%index%ppp, sd]
+ ppp: "%index%_pppp___%index%"
+ eeee: eeeeeee
+ e: "%index%"
+ w: "%index%_pp"
+ key_name: [a,b,"%index%",p%index%]
+ availability_zone_0: { get_param: availability_zone_0 }
+ sec_groups: { get_param: sec_groups }
+ mgmt_net_id: { get_param: mgmt_net_id }
+ virtual_mgmt_ip_0: { get_param: virtual_mgmt_ip_0 }
+ mvs_mgmt_ip_0: mvs_mgmt_ip_0
+ indx: "%index%"
+
+ mvs_modules_custIndexVar1:
+ type: OS::Heat::ResourceGroup
+ properties:
+ count: 2
+ index_var: myIndex
+ resource_def:
+ type: mvs.nested.heat.yaml
+ properties:
+ cloud_zone_id: cloud_zone_id_myIndex
+ vf_name: "myIndexvf_name"
+ vf_instance_num: "vf_instance_num_myIndex_bbbb"
+ vf_component: "myIndex"
+ vm_instance_num: "myIndex_vm_instance_num_myIndex_hhh_myIndexmyIndexmyIndex_ppppmyIndex"
+ vnf_id:
+ vf_module_id: [{ get_param: vf_module_id }, "myIndex", fffmyIndex ]
+ bootimage: { get_param: bootimage }
+ flavor:
+ a: a
+ b: b
+ e: myIndex
+ w: myIndex_pp
+ key_name: [a,b,myIndex,pmyIndex]
+ availability_zone_0: { get_param: availability_zone_0 }
+ sec_groups: { get_param: sec_groups }
+ mgmt_net_id: { get_param: mgmt_net_id }
+ virtual_mgmt_ip_0: { get_param: virtual_mgmt_ip_0 }
+ mvs_mgmt_ip_0: mvs_mgmt_ip_0
+ indx: "myIndex"
+
+ mvs_modules_custIndexVar2:
+ type: OS::Heat::ResourceGroup
+ properties:
+ count: 2
+ index_var: "%myIndex%"
+ resource_def:
+ type: mvs.nested.heat.yaml
+ properties:
+ cloud_zone_id: cloud_zone_id_%myIndex%
+ vf_name: "%myIndex%vf_name"
+ vf_instance_num: "vf_instance_num_%myIndex%_bbbb"
+ vf_component: "%myIndex%"
+ vm_instance_num: "%myIndex%_vm_instance_num_%myIndex%_hhh_%myIndex%%myIndex%%myIndex%_pppp%myIndex%"
+ vnf_id:
+ vf_module_id: [{ get_param: vf_module_id }, "%myIndex%", fff%myIndex% ]
+ bootimage: { get_param: bootimage }
+ flavor:
+ a: a
+ b: b
+ e: "%myIndex%"
+ w: "%myIndex%_pp"
+ key_name: [a,b,"%myIndex%",p%myIndex%]
+ availability_zone_0: { get_param: availability_zone_0 }
+ sec_groups: { get_param: sec_groups }
+ mgmt_net_id: { get_param: mgmt_net_id }
+ virtual_mgmt_ip_0: { get_param: virtual_mgmt_ip_0 }
+ mvs_mgmt_ip_0: mvs_mgmt_ip_0
+ indx: "%myIndex%"
+
+ not_supported_resourceGroup1:
+ type: OS::Heat::ResourceGroup
+ properties:
+ count: 3
+ resource_def:
+ type: OS::Heat::ResourceGroup
+ properties:
+ cloud_zone_id: { get_param: cloud_zone_id }
+ vf_name: { get_param: vf_name }
+ vf_instance_num: { get_param: vf_instance_num }
+ vf_component: { get_param: vf_component }
+ vm_instance_num: { get_param: vm_instance_num }
+ vnf_id: { get_param: vnf_id }
+ vf_module_id: { get_param: vf_module_id }
+ bootimage: { get_param: bootimage }
+ flavor: { get_param: flavor }
+ key_name: { get_param: key_name }
+ availability_zone_0: { get_param: availability_zone_0 }
+ sec_groups: { get_param: sec_groups }
+ mgmt_net_id: { get_param: mgmt_net_id }
+ virtual_mgmt_ip_0: { get_param: virtual_mgmt_ip_0 }
+ mvs_mgmt_ip_0: { get_param: mvs_mgmt_ip_0 }
+ indx: "%index%"
+
+ not_supported_resourceGroup2:
+ type: OS::Heat::ResourceGroup
+ properties:
+ count: 3
+ resource_def:
+ type: { get_param: type_name }
+ properties:
+ cloud_zone_id: { get_param: cloud_zone_id }
+ vf_name: { get_param: vf_name }
+ vf_instance_num: { get_param: vf_instance_num }
+ vf_component: { get_param: vf_component }
+ vm_instance_num: { get_param: vm_instance_num }
+ vnf_id: { get_param: vnf_id }
+ vf_module_id: { get_param: vf_module_id }
+ bootimage: { get_param: bootimage }
+ flavor: { get_param: flavor }
+ key_name: { get_param: key_name }
+ availability_zone_0: { get_param: availability_zone_0 }
+ sec_groups: { get_param: sec_groups }
+ mgmt_net_id: { get_param: mgmt_net_id }
+ virtual_mgmt_ip_0: { get_param: virtual_mgmt_ip_0 }
+ mvs_mgmt_ip_0: { get_param: mvs_mgmt_ip_0 }
+ indx: "%index%"
+
+ server_compute_get_attr_test:
+ type: OS::Nova::Server
+ properties:
+ config_drive: {get_attr: [mvs_modules_defaultIndexVar]}
+ name: compute_name
+ image: { get_param: compute_image_name }
+ flavor: compute_flavor_name
+ user_data_format: { get_attr: [mvs_modules_defaultIndexVar , resource.1.vnfci_id_1] }
+ user_data: { get_attr: [mvs_modules_defaultIndexVar, resource.vnfci_id_2]}