summaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/recursive
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/recursive')
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/recursive/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml330
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/recursive/expectedoutputfiles/MainServiceTemplate.yaml240
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/recursive/expectedoutputfiles/nested-pcm_v0.1ServiceTemplate.yaml291
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/recursive/expectedoutputfiles/nested-pcm_v0.1_2ServiceTemplate.yaml205
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/recursive/inputs/MANIFEST.json26
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/recursive/inputs/hot-nimbus-pcm_v0.4.env14
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/recursive/inputs/hot-nimbus-pcm_v0.4.yaml82
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/recursive/inputs/hot-nimbus-pcm_v0.4_2.yaml79
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/recursive/inputs/nested-pcm_v0.1.yaml138
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/recursive/inputs/nested-pcm_v0.1_2.yaml110
10 files changed, 1515 insertions, 0 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/recursive/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/recursive/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml
new file mode 100644
index 0000000000..2dee4a9971
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/recursive/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml
@@ -0,0 +1,330 @@
+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.nested-pcm_v0.1_2:
+ derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+ properties:
+ pcm_flavor_name:
+ type: string
+ description: flavor name of PCRF CM instance
+ availabilityzone_name:
+ type: string
+ description: availabilityzone name
+ pcm_image_name:
+ type: string
+ description: PCRF CM image name
+ pcm_vol:
+ type: string
+ description: CPS Cluman Cinder Volume
+ security_group_name:
+ type: string
+ description: the name of security group
+ cps_net_ip:
+ type: string
+ description: CPS network ip
+ pcm_server_name:
+ type: string
+ description: PCRF CM server name
+ cps_net_name:
+ type: string
+ description: CPS network name
+ cps_net_mask:
+ type: string
+ description: CPS network mask
+ oam_net_ip:
+ type: string
+ oam_net_name:
+ type: string
+ description: OAM network name
+ attributes:
+ server_pcm_id:
+ type: string
+ description: the pcm nova service id
+ requirements:
+ - link_pcm_port_1:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - local_storage_server_pcm:
+ capability: tosca.capabilities.Attachment
+ node: tosca.nodes.BlockStorage
+ relationship: tosca.relationships.AttachesTo
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - link_pcm_port_0:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ capabilities:
+ endpoint_server_pcm:
+ type: tosca.capabilities.Endpoint.Admin
+ occurrences:
+ - 1
+ - UNBOUNDED
+ link_network:
+ type: tosca.capabilities.network.Linkable
+ occurrences:
+ - 1
+ - UNBOUNDED
+ os_server_pcm:
+ type: tosca.capabilities.OperatingSystem
+ occurrences:
+ - 1
+ - UNBOUNDED
+ host_server_pcm:
+ type: tosca.capabilities.Container
+ valid_source_types:
+ - tosca.nodes.SoftwareComponent
+ occurrences:
+ - 1
+ - UNBOUNDED
+ scalable_server_pcm:
+ type: tosca.capabilities.Scalable
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_network:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ binding_server_pcm:
+ type: tosca.capabilities.network.Bindable
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_pcm_port_0:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_pcm_port_1:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ org.openecomp.resource.abstract.nodes.heat.nested-pcm_v0.1:
+ derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+ properties:
+ availabilityzone_name:
+ type: string
+ description: availabilityzone name
+ oam_net_gw:
+ type: string
+ description: CPS network gateway
+ pcm_image_name:
+ type: string
+ description: PCRF CM image name
+ cps_net_ips:
+ type: string
+ description: CPS network ip
+ security_group_name:
+ type: string
+ description: the name of security group
+ cps_net_ip:
+ type: string
+ description: CPS network ip
+ pcm_volumes:
+ type: string
+ description: CPS Cluman Cinder Volume
+ pcm_flavor_name:
+ type: string
+ description: flavor name of PCRF CM instance
+ pcm_vol:
+ type: string
+ description: CPS Cluman Cinder Volume
+ pcm_server_name:
+ type: string
+ description: PCRF CM server name
+ cps_net_name:
+ type: string
+ description: CPS network name
+ cps_net_mask:
+ type: string
+ description: CPS network mask
+ oam_net_ip:
+ type: string
+ description: OAM network ip
+ oam_net_mask:
+ type: string
+ description: CPS network mask
+ oam_net_name:
+ type: string
+ description: OAM network name
+ attributes:
+ server_pcm_id:
+ type: string
+ description: the pcm nova service id
+ requirements:
+ - link_pcm_port_1:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - local_storage_server_pcm:
+ capability: tosca.capabilities.Attachment
+ node: tosca.nodes.BlockStorage
+ relationship: tosca.relationships.AttachesTo
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - link_pcm_port_1_server_pcm_005:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - local_storage_server_pcm_server_pcm_005:
+ capability: tosca.capabilities.Attachment
+ node: tosca.nodes.BlockStorage
+ relationship: tosca.relationships.AttachesTo
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - link_pcm_port_0_server_pcm_005:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_pcm_port_0:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ capabilities:
+ endpoint_server_pcm:
+ type: tosca.capabilities.Endpoint.Admin
+ occurrences:
+ - 1
+ - UNBOUNDED
+ host_server_pcm:
+ type: tosca.capabilities.Container
+ valid_source_types:
+ - tosca.nodes.SoftwareComponent
+ occurrences:
+ - 1
+ - UNBOUNDED
+ host_server_pcm_server_pcm_005:
+ type: tosca.capabilities.Container
+ valid_source_types:
+ - tosca.nodes.SoftwareComponent
+ occurrences:
+ - 1
+ - UNBOUNDED
+ os_server_pcm_server_pcm_005:
+ type: tosca.capabilities.OperatingSystem
+ occurrences:
+ - 1
+ - UNBOUNDED
+ scalable_server_pcm_server_pcm_005:
+ type: tosca.capabilities.Scalable
+ occurrences:
+ - 1
+ - UNBOUNDED
+ binding_server_pcm_server_pcm_005:
+ type: tosca.capabilities.network.Bindable
+ occurrences:
+ - 1
+ - UNBOUNDED
+ endpoint_server_pcm_server_pcm_005:
+ type: tosca.capabilities.Endpoint.Admin
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_network_server_pcm_005:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_network:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ binding_server_pcm:
+ type: tosca.capabilities.network.Bindable
+ occurrences:
+ - 1
+ - UNBOUNDED
+ link_network:
+ type: tosca.capabilities.network.Linkable
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_pcm_port_0_server_pcm_005:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ os_server_pcm:
+ type: tosca.capabilities.OperatingSystem
+ occurrences:
+ - 1
+ - UNBOUNDED
+ link_network_server_pcm_005:
+ type: tosca.capabilities.network.Linkable
+ occurrences:
+ - 1
+ - UNBOUNDED
+ scalable_server_pcm:
+ type: tosca.capabilities.Scalable
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_pcm_port_0:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_pcm_port_1:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_pcm_port_1_server_pcm_005:
+ type: tosca.capabilities.Attachment
+ 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/recursive/expectedoutputfiles/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/recursive/expectedoutputfiles/MainServiceTemplate.yaml
new file mode 100644
index 0000000000..a0063b174e
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/recursive/expectedoutputfiles/MainServiceTemplate.yaml
@@ -0,0 +1,240 @@
+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
+topology_template:
+ inputs:
+ oam_net_ips:
+ label: OAM network ips
+ hidden: false
+ immutable: false
+ type: list
+ description: OAM network ips
+ entry_schema:
+ type: string
+ availabilityzone_name:
+ label: availabilityzone name
+ hidden: false
+ immutable: false
+ type: string
+ description: availabilityzone name
+ oam_net_gw:
+ label: CPS network gateway
+ hidden: false
+ immutable: false
+ type: string
+ description: CPS network gateway
+ pcm_server_names:
+ label: PCRF CM server names
+ hidden: false
+ immutable: false
+ type: list
+ description: name of the PCRF CM instance
+ entry_schema:
+ type: string
+ pcm_image_name:
+ label: PCRF CM image name
+ hidden: false
+ immutable: false
+ type: string
+ description: PCRF CM image name
+ cps_net_ips:
+ label: CPS network ips
+ hidden: false
+ immutable: false
+ type: list
+ description: CPS network ips
+ entry_schema:
+ type: string
+ security_group_name:
+ label: security group name
+ hidden: false
+ immutable: false
+ type: string
+ description: the name of security group
+ pcm_volumes:
+ label: CPS Cluman Cinder Volume
+ hidden: false
+ immutable: false
+ type: list
+ description: CPS Cluman Cinder Volume
+ entry_schema:
+ type: string
+ pcm_flavor_name:
+ label: PCRF CM flavor name
+ hidden: false
+ immutable: false
+ type: string
+ description: flavor name of PCRF CM instance
+ cps_net_name:
+ label: CPS network name
+ hidden: false
+ immutable: false
+ type: string
+ description: CPS network name
+ cps_net_mask:
+ label: CPS network mask
+ hidden: false
+ immutable: false
+ type: string
+ description: CPS network mask
+ oam_net_mask:
+ label: CPS network mask
+ hidden: false
+ immutable: false
+ type: string
+ description: CPS network mask
+ oam_net_name:
+ label: OAM network name
+ hidden: false
+ immutable: false
+ type: string
+ description: OAM network name
+ node_templates:
+ server_pcm_002:
+ type: org.openecomp.resource.abstract.nodes.heat.nested-pcm_v0.1
+ directives:
+ - substitutable
+ properties:
+ pcm_flavor_name:
+ get_input: pcm_flavor_name
+ service_template_filter:
+ substitute_service_template: nested-pcm_v0.1ServiceTemplate.yaml
+ availabilityzone_name:
+ get_input: availabilityzone_name
+ pcm_image_name:
+ get_input: pcm_image_name
+ pcm_vol:
+ get_input:
+ - pcm_volumes
+ - 0
+ security_group_name:
+ get_input: security_group_name
+ pcm_server_name:
+ get_input:
+ - pcm_server_names
+ - 0
+ server_pcm_001:
+ type: org.openecomp.resource.abstract.nodes.heat.nested-pcm_v0.1
+ directives:
+ - substitutable
+ properties:
+ service_template_filter:
+ substitute_service_template: nested-pcm_v0.1ServiceTemplate.yaml
+ availabilityzone_name:
+ get_input: availabilityzone_name
+ oam_net_gw:
+ get_input: oam_net_gw
+ pcm_vol:
+ get_input:
+ - pcm_volumes
+ - 0
+ security_group_name:
+ get_input: security_group_name
+ cps_net_ip:
+ get_input:
+ - cps_net_ips
+ - 0
+ cps_net_name:
+ get_input: cps_net_name
+ cps_net_mask:
+ get_input: cps_net_mask
+ oam_net_ip:
+ get_input:
+ - oam_net_ips
+ - 0
+ oam_net_mask:
+ get_input: oam_net_mask
+ oam_net_name:
+ get_input: oam_net_name
+ server_pcm_004:
+ type: org.openecomp.resource.abstract.nodes.heat.nested-pcm_v0.1_2
+ directives:
+ - substitutable
+ properties:
+ service_template_filter:
+ substitute_service_template: nested-pcm_v0.1_2ServiceTemplate.yaml
+ availabilityzone_name:
+ get_input: availabilityzone_name
+ pcm_vol:
+ get_input:
+ - pcm_volumes
+ - 0
+ security_group_name:
+ get_input: security_group_name
+ cps_net_ip:
+ get_input:
+ - cps_net_ips
+ - 0
+ cps_net_name:
+ get_input: cps_net_name
+ cps_net_mask:
+ get_input: cps_net_mask
+ server_pcm_003:
+ type: org.openecomp.resource.abstract.nodes.heat.nested-pcm_v0.1
+ directives:
+ - substitutable
+ properties:
+ service_template_filter:
+ substitute_service_template: nested-pcm_v0.1ServiceTemplate.yaml
+ availabilityzone_name:
+ get_input: availabilityzone_name
+ pcm_vol:
+ get_input:
+ - pcm_volumes
+ - 0
+ security_group_name:
+ get_input: security_group_name
+ cps_net_ip:
+ get_input:
+ - cps_net_ips
+ - 0
+ cps_net_name:
+ get_input: cps_net_name
+ cps_net_mask:
+ get_input: cps_net_mask
+ groups:
+ hot-nimbus-pcm_v0.4_2:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/hot-nimbus-pcm_v0.4_2.yaml
+ description: heat template that creates PCRF Cluman stack
+ members:
+ - server_pcm_004
+ - server_pcm_003
+ hot-nimbus-pcm_v0.4:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/hot-nimbus-pcm_v0.4.yaml
+ description: heat template that creates PCRF Cluman stack
+ members:
+ - server_pcm_002
+ - server_pcm_001 \ 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/recursive/expectedoutputfiles/nested-pcm_v0.1ServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/recursive/expectedoutputfiles/nested-pcm_v0.1ServiceTemplate.yaml
new file mode 100644
index 0000000000..39fb736465
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/recursive/expectedoutputfiles/nested-pcm_v0.1ServiceTemplate.yaml
@@ -0,0 +1,291 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: nested-pcm_v0.1
+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.pcm_server:
+ derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+ inputs:
+ availabilityzone_name:
+ label: availabilityzone name
+ hidden: false
+ immutable: false
+ type: string
+ description: availabilityzone name
+ oam_net_gw:
+ label: CPS network gateway
+ hidden: false
+ immutable: false
+ type: string
+ description: CPS network gateway
+ pcm_image_name:
+ label: image name
+ hidden: false
+ immutable: false
+ type: string
+ description: PCRF CM image name
+ cps_net_ips:
+ label: CPS network ip
+ hidden: false
+ immutable: false
+ type: string
+ description: CPS network ip
+ security_group_name:
+ label: security group name
+ hidden: false
+ immutable: false
+ type: string
+ description: the name of security group
+ cps_net_ip:
+ label: CPS network ip
+ hidden: false
+ immutable: false
+ type: string
+ description: CPS network ip
+ pcm_volumes:
+ label: CPS Cluman Cinder Volume
+ hidden: false
+ immutable: false
+ type: string
+ description: CPS Cluman Cinder Volume
+ pcm_flavor_name:
+ label: PCRF CM flavor name
+ hidden: false
+ immutable: false
+ type: string
+ description: flavor name of PCRF CM instance
+ pcm_vol:
+ label: CPS Cluman Cinder Volume
+ hidden: false
+ immutable: false
+ type: string
+ description: CPS Cluman Cinder Volume
+ pcm_server_name:
+ label: PCRF CM server name
+ hidden: false
+ immutable: false
+ type: string
+ description: PCRF CM server name
+ cps_net_name:
+ label: CPS network name
+ hidden: false
+ immutable: false
+ type: string
+ description: CPS network name
+ cps_net_mask:
+ label: CPS network mask
+ hidden: false
+ immutable: false
+ type: string
+ description: CPS network mask
+ oam_net_ip:
+ label: OAM network ip
+ hidden: false
+ immutable: false
+ type: string
+ description: OAM network ip
+ oam_net_mask:
+ label: CPS network mask
+ hidden: false
+ immutable: false
+ type: string
+ description: CPS network mask
+ oam_net_name:
+ label: OAM network name
+ hidden: false
+ immutable: false
+ type: string
+ description: OAM network name
+ node_templates:
+ pcm_port_1:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ security_groups:
+ - get_input: security_group_name
+ fixed_ips:
+ - ip_address:
+ get_input: oam_net_ip
+ network:
+ get_input: oam_net_name
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: server_pcm
+ relationship: tosca.relationships.network.BindsTo
+ server_pcm:
+ type: org.openecomp.resource.vfc.nodes.heat.pcm_server
+ properties:
+ flavor:
+ get_input: pcm_flavor_name
+ availability_zone:
+ get_input: availabilityzone_name
+ image:
+ get_input: pcm_image_name
+ config_drive: 'True'
+ user_data_format: RAW
+ name:
+ get_input: pcm_server_name
+ server_pcm_005:
+ type: org.openecomp.resource.abstract.nodes.heat.nested-pcm_v0.1_2
+ directives:
+ - substitutable
+ properties:
+ service_template_filter:
+ substitute_service_template: nested-pcm_v0.1_2ServiceTemplate.yaml
+ availabilityzone_name:
+ get_input: availabilityzone_name
+ pcm_vol:
+ get_input:
+ - pcm_volumes
+ - 0
+ security_group_name:
+ get_input: security_group_name
+ cps_net_ip:
+ get_input:
+ - cps_net_ips
+ - 0
+ cps_net_name:
+ get_input: cps_net_name
+ cps_net_mask:
+ get_input: cps_net_mask
+ pcm_port_0:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ security_groups:
+ - get_input: security_group_name
+ fixed_ips:
+ - ip_address:
+ get_input: cps_net_ip
+ network:
+ get_input: cps_net_name
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: server_pcm
+ relationship: tosca.relationships.network.BindsTo
+ network:
+ type: org.openecomp.resource.vl.nodes.heat.network.contrail.VirtualNetwork
+ properties:
+ network_name:
+ get_input: cps_net_name
+ groups:
+ nested-pcm_v0.1:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/nested-pcm_v0.1.yaml
+ description: heat template that creates PCRF Cluman stack
+ members:
+ - pcm_port_1
+ - server_pcm
+ - server_pcm_005
+ - pcm_port_0
+ - network
+ outputs:
+ server_pcm_id:
+ description: the pcm nova service id
+ value: server_pcm
+ substitution_mappings:
+ node_type: org.openecomp.resource.abstract.nodes.heat.nested-pcm_v0.1
+ capabilities:
+ endpoint_server_pcm:
+ - server_pcm
+ - endpoint
+ host_server_pcm:
+ - server_pcm
+ - host
+ host_server_pcm_server_pcm_005:
+ - server_pcm_005
+ - host_server_pcm
+ os_server_pcm_server_pcm_005:
+ - server_pcm_005
+ - os_server_pcm
+ scalable_server_pcm_server_pcm_005:
+ - server_pcm_005
+ - scalable_server_pcm
+ binding_server_pcm_server_pcm_005:
+ - server_pcm_005
+ - binding_server_pcm
+ endpoint_server_pcm_server_pcm_005:
+ - server_pcm_005
+ - endpoint_server_pcm
+ attachment_network_server_pcm_005:
+ - server_pcm_005
+ - attachment_network
+ attachment_network:
+ - network
+ - attachment
+ binding_server_pcm:
+ - server_pcm
+ - binding
+ link_network:
+ - network
+ - link
+ attachment_pcm_port_0_server_pcm_005:
+ - server_pcm_005
+ - attachment_pcm_port_0
+ os_server_pcm:
+ - server_pcm
+ - os
+ link_network_server_pcm_005:
+ - server_pcm_005
+ - link_network
+ scalable_server_pcm:
+ - server_pcm
+ - scalable
+ attachment_pcm_port_0:
+ - pcm_port_0
+ - attachment
+ attachment_pcm_port_1:
+ - pcm_port_1
+ - attachment
+ attachment_pcm_port_1_server_pcm_005:
+ - server_pcm_005
+ - attachment_pcm_port_1
+ requirements:
+ link_pcm_port_0:
+ - pcm_port_0
+ - link
+ link_pcm_port_1:
+ - pcm_port_1
+ - link
+ link_pcm_port_1_server_pcm_005:
+ - server_pcm_005
+ - link_pcm_port_1
+ link_pcm_port_0_server_pcm_005:
+ - server_pcm_005
+ - link_pcm_port_0
+ local_storage_server_pcm:
+ - server_pcm
+ - local_storage
+ local_storage_server_pcm_server_pcm_005:
+ - server_pcm_005
+ - local_storage_server_pcm \ 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/recursive/expectedoutputfiles/nested-pcm_v0.1_2ServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/recursive/expectedoutputfiles/nested-pcm_v0.1_2ServiceTemplate.yaml
new file mode 100644
index 0000000000..a80a5811b1
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/recursive/expectedoutputfiles/nested-pcm_v0.1_2ServiceTemplate.yaml
@@ -0,0 +1,205 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: nested-pcm_v0.1_2
+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.pcm_server:
+ derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+ inputs:
+ pcm_flavor_name:
+ label: PCRF CM flavor name
+ hidden: false
+ immutable: false
+ type: string
+ description: flavor name of PCRF CM instance
+ availabilityzone_name:
+ label: availabilityzone name
+ hidden: false
+ immutable: false
+ type: string
+ description: availabilityzone name
+ pcm_image_name:
+ label: image name
+ hidden: false
+ immutable: false
+ type: string
+ description: PCRF CM image name
+ pcm_vol:
+ label: CPS Cluman Cinder Volume
+ hidden: false
+ immutable: false
+ type: string
+ description: CPS Cluman Cinder Volume
+ security_group_name:
+ label: security group name
+ hidden: false
+ immutable: false
+ type: string
+ description: the name of security group
+ cps_net_ip:
+ label: CPS network ip
+ hidden: false
+ immutable: false
+ type: string
+ description: CPS network ip
+ pcm_server_name:
+ label: PCRF CM server name
+ hidden: false
+ immutable: false
+ type: string
+ description: PCRF CM server name
+ cps_net_name:
+ label: CPS network name
+ hidden: false
+ immutable: false
+ type: string
+ description: CPS network name
+ cps_net_mask:
+ label: CPS network mask
+ hidden: false
+ immutable: false
+ type: string
+ description: CPS network mask
+ oam_net_ip:
+ hidden: false
+ immutable: false
+ type: string
+ oam_net_name:
+ label: OAM network name
+ hidden: false
+ immutable: false
+ type: string
+ description: OAM network name
+ node_templates:
+ pcm_port_1:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ security_groups:
+ - get_input: security_group_name
+ fixed_ips:
+ - ip_address:
+ get_input: oam_net_ip
+ network:
+ get_input: oam_net_name
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: server_pcm
+ relationship: tosca.relationships.network.BindsTo
+ server_pcm:
+ type: org.openecomp.resource.vfc.nodes.heat.pcm_server
+ properties:
+ flavor:
+ get_input: pcm_flavor_name
+ availability_zone:
+ get_input: availabilityzone_name
+ image:
+ get_input: pcm_image_name
+ config_drive: 'True'
+ user_data_format: RAW
+ name:
+ get_input: pcm_server_name
+ pcm_port_0:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ security_groups:
+ - get_input: security_group_name
+ fixed_ips:
+ - ip_address:
+ get_input: cps_net_ip
+ network:
+ get_input: cps_net_name
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: server_pcm
+ relationship: tosca.relationships.network.BindsTo
+ network:
+ type: org.openecomp.resource.vl.nodes.heat.network.contrail.VirtualNetwork
+ properties:
+ network_name:
+ get_input: cps_net_name
+ groups:
+ nested-pcm_v0.1_2:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/nested-pcm_v0.1_2.yaml
+ description: heat template that creates PCRF Cluman stack
+ members:
+ - pcm_port_1
+ - server_pcm
+ - pcm_port_0
+ - network
+ outputs:
+ server_pcm_id:
+ description: the pcm nova service id
+ value: server_pcm
+ substitution_mappings:
+ node_type: org.openecomp.resource.abstract.nodes.heat.nested-pcm_v0.1_2
+ capabilities:
+ endpoint_server_pcm:
+ - server_pcm
+ - endpoint
+ link_network:
+ - network
+ - link
+ os_server_pcm:
+ - server_pcm
+ - os
+ host_server_pcm:
+ - server_pcm
+ - host
+ scalable_server_pcm:
+ - server_pcm
+ - scalable
+ attachment_network:
+ - network
+ - attachment
+ binding_server_pcm:
+ - server_pcm
+ - binding
+ attachment_pcm_port_0:
+ - pcm_port_0
+ - attachment
+ attachment_pcm_port_1:
+ - pcm_port_1
+ - attachment
+ requirements:
+ link_pcm_port_0:
+ - pcm_port_0
+ - link
+ link_pcm_port_1:
+ - pcm_port_1
+ - link
+ local_storage_server_pcm:
+ - server_pcm
+ - local_storage \ 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/recursive/inputs/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/recursive/inputs/MANIFEST.json
new file mode 100644
index 0000000000..b4a1b43a1e
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/recursive/inputs/MANIFEST.json
@@ -0,0 +1,26 @@
+{
+ "name": "vEP_JSA_Net",
+ "description": "Version 2.0 02-09-2016 (Authors: John Doe, user PROD)",
+ "version": "2013-05-23",
+ "data": [
+ {
+ "file": "hot-nimbus-pcm_v0.4.yaml",
+ "type": "HEAT",
+ "data": [
+ {
+ "file": "hot-nimbus-pcm_v0.4.env",
+ "type": "HEAT_ENV"
+ }
+ ]
+ },{
+ "file": "nested-pcm_v0.1.yaml",
+ "type": "HEAT"
+ },{
+ "file": "hot-nimbus-pcm_v0.4_2.yaml",
+ "type": "HEAT"
+ },{
+ "file": "nested-pcm_v0.1_2.yaml",
+ "type": "HEAT"
+ }
+ ]
+} \ 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/recursive/inputs/hot-nimbus-pcm_v0.4.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/recursive/inputs/hot-nimbus-pcm_v0.4.env
new file mode 100644
index 0000000000..78cc03e2ea
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/recursive/inputs/hot-nimbus-pcm_v0.4.env
@@ -0,0 +1,14 @@
+parameters:
+ pcm_server_names: ZRDM1PCRF01PCM001
+ pcm_image_name: rhel2
+ pcm_flavor_name: cps
+ availabilityzone_name: nova
+ cps_net_name: int_pcrf_net_0
+ cps_net_ips: 172.26.16.113
+ cps_net_mask: 255.255.255.0
+ oam_net_name: oam_protected_net_0
+ oam_net_ips: 107.239.64.121
+ oam_net_gw: 107.239.64.1
+ oam_net_mask: 255.255.255.0
+ pcm_volumes: 249cb355-8fdf-4382-9c3c-a2ebe767d45b
+ security_group_name: nimbus_security_group
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/recursive/inputs/hot-nimbus-pcm_v0.4.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/recursive/inputs/hot-nimbus-pcm_v0.4.yaml
new file mode 100644
index 0000000000..f7d050790f
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/recursive/inputs/hot-nimbus-pcm_v0.4.yaml
@@ -0,0 +1,82 @@
+heat_template_version: 2013-05-23
+
+description: heat template that creates PCRF Cluman stack
+
+parameters:
+ pcm_server_names:
+ type: comma_delimited_list
+ label: PCRF CM server names
+ description: name of the PCRF CM instance
+ pcm_image_name:
+ type: string
+ label: PCRF CM image name
+ description: PCRF CM image name
+ pcm_flavor_name:
+ type: string
+ label: PCRF CM flavor name
+ description: flavor name of PCRF CM instance
+ availabilityzone_name:
+ type: string
+ label: availabilityzone name
+ description: availabilityzone name
+ cps_net_name:
+ type: string
+ label: CPS network name
+ description: CPS network name
+ cps_net_ips:
+ type: comma_delimited_list
+ label: CPS network ips
+ description: CPS network ips
+ cps_net_mask:
+ type: string
+ label: CPS network mask
+ description: CPS network mask
+ oam_net_name:
+ type: string
+ label: OAM network name
+ description: OAM network name
+ oam_net_ips:
+ type: comma_delimited_list
+ label: OAM network ips
+ description: OAM network ips
+ oam_net_gw:
+ type: string
+ label: CPS network gateway
+ description: CPS network gateway
+ oam_net_mask:
+ type: string
+ label: CPS network mask
+ description: CPS network mask
+ pcm_volumes:
+ type: comma_delimited_list
+ label: CPS Cluman Cinder Volume
+ description: CPS Cluman Cinder Volume
+ security_group_name:
+ type: string
+ label: security group name
+ description: the name of security group
+
+resources:
+ server_pcm_001:
+ type: nested-pcm_v0.1.yaml
+ properties:
+ availabilityzone_name: { get_param: availabilityzone_name }
+ security_group_name: { get_param: security_group_name }
+ pcm_vol: { get_param: [pcm_volumes, 0] }
+ cps_net_name: { get_param: cps_net_name }
+ cps_net_ip: { get_param: [cps_net_ips, 0] }
+ cps_net_mask: { get_param: cps_net_mask }
+ oam_net_name: { get_param: oam_net_name }
+ oam_net_ip: { get_param: [oam_net_ips, 0] }
+ oam_net_mask: { get_param: oam_net_mask }
+ oam_net_gw: { get_param: oam_net_gw }
+
+ server_pcm_002:
+ type: nested-pcm_v0.1.yaml
+ properties:
+ pcm_server_name: { get_param: [pcm_server_names, 0] }
+ pcm_image_name: { get_param: pcm_image_name }
+ pcm_flavor_name: { get_param: pcm_flavor_name }
+ availabilityzone_name: { get_param: availabilityzone_name }
+ security_group_name: { get_param: security_group_name }
+ pcm_vol: { get_param: [pcm_volumes, 0] }
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/recursive/inputs/hot-nimbus-pcm_v0.4_2.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/recursive/inputs/hot-nimbus-pcm_v0.4_2.yaml
new file mode 100644
index 0000000000..b59df84764
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/recursive/inputs/hot-nimbus-pcm_v0.4_2.yaml
@@ -0,0 +1,79 @@
+heat_template_version: 2013-05-23
+
+description: heat template that creates PCRF Cluman stack
+
+parameters:
+ pcm_server_names:
+ type: comma_delimited_list
+ label: PCRF CM server names
+ description: name of the PCRF CM instance
+ pcm_image_name:
+ type: string
+ label: PCRF CM image name
+ description: PCRF CM image name
+ pcm_flavor_name:
+ type: string
+ label: PCRF CM flavor name
+ description: flavor name of PCRF CM instance
+ availabilityzone_name:
+ type: string
+ label: availabilityzone name
+ description: availabilityzone name
+ cps_net_name:
+ type: string
+ label: CPS network name
+ description: CPS network name
+ cps_net_ips:
+ type: comma_delimited_list
+ label: CPS network ips
+ description: CPS network ips
+ cps_net_mask:
+ type: string
+ label: CPS network mask
+ description: CPS network mask
+ oam_net_name:
+ type: string
+ label: OAM network name
+ description: OAM network name
+ oam_net_ips:
+ type: comma_delimited_list
+ label: OAM network ips
+ description: OAM network ips
+ oam_net_gw:
+ type: string
+ label: CPS network gateway
+ description: CPS network gateway
+ oam_net_mask:
+ type: string
+ label: CPS network mask
+ description: CPS network mask
+ pcm_volumes:
+ type: comma_delimited_list
+ label: CPS Cluman Cinder Volume
+ description: CPS Cluman Cinder Volume
+ security_group_name:
+ type: string
+ label: security group name
+ description: the name of security group
+
+resources:
+ server_pcm_003:
+ type: nested-pcm_v0.1.yaml
+ properties:
+ availabilityzone_name: { get_param: availabilityzone_name }
+ security_group_name: { get_param: security_group_name }
+ pcm_vol: { get_param: [pcm_volumes, 0] }
+ cps_net_name: { get_param: cps_net_name }
+ cps_net_ip: { get_param: [cps_net_ips, 0] }
+ cps_net_mask: { get_param: cps_net_mask }
+
+ server_pcm_004:
+ type: nested-pcm_v0.1_2.yaml
+ properties:
+ availabilityzone_name: { get_param: availabilityzone_name }
+ security_group_name: { get_param: security_group_name }
+ pcm_vol: { get_param: [pcm_volumes, 0] }
+ cps_net_name: { get_param: cps_net_name }
+ cps_net_ip: { get_param: [cps_net_ips, 0] }
+ cps_net_mask: { get_param: cps_net_mask }
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/recursive/inputs/nested-pcm_v0.1.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/recursive/inputs/nested-pcm_v0.1.yaml
new file mode 100644
index 0000000000..66a03796fb
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/recursive/inputs/nested-pcm_v0.1.yaml
@@ -0,0 +1,138 @@
+heat_template_version: 2013-05-23
+
+description: heat template that creates PCRF Cluman stack
+
+parameters:
+ pcm_server_name:
+ type: string
+ label: PCRF CM server name
+ description: PCRF CM server name
+ pcm_image_name:
+ type: string
+ label: image name
+ description: PCRF CM image name
+ pcm_flavor_name:
+ type: string
+ label: PCRF CM flavor name
+ description: flavor name of PCRF CM instance
+ availabilityzone_name:
+ type: string
+ label: availabilityzone name
+ description: availabilityzone name
+ cps_net_name:
+ type: string
+ label: CPS network name
+ description: CPS network name
+ cps_net_ip:
+ type: string
+ label: CPS network ip
+ description: CPS network ip
+ cps_net_ips:
+ type: string
+ label: CPS network ip
+ description: CPS network ip
+ cps_net_mask:
+ type: string
+ label: CPS network mask
+ description: CPS network mask
+ oam_net_name:
+ type: string
+ label: OAM network name
+ description: OAM network name
+ oam_net_ip:
+ type: string
+ label: OAM network ip
+ description: OAM network ip
+ oam_net_gw:
+ type: string
+ label: CPS network gateway
+ description: CPS network gateway
+ oam_net_mask:
+ type: string
+ label: CPS network mask
+ description: CPS network mask
+ pcm_vol:
+ type: string
+ label: CPS Cluman Cinder Volume
+ description: CPS Cluman Cinder Volume
+ pcm_volumes:
+ type: string
+ label: CPS Cluman Cinder Volume
+ description: CPS Cluman Cinder Volume
+ security_group_name:
+ type: string
+ label: security group name
+ description: the name of security group
+
+resources:
+ server_pcm_005:
+ type: nested-pcm_v0.1_2.yaml
+ properties:
+ availabilityzone_name: { get_param: availabilityzone_name }
+ security_group_name: { get_param: security_group_name }
+ pcm_vol: { get_param: [pcm_volumes, 0] }
+ cps_net_name: { get_param: cps_net_name }
+ cps_net_ip: { get_param: [cps_net_ips, 0] }
+ cps_net_mask: { get_param: cps_net_mask }
+ server_init:
+ type: OS::Heat::MultipartMime
+ properties:
+ parts:
+ - config: { get_resource: network}
+ - config: { get_resource: script_init}
+
+ script_init:
+ type: OS::Heat::MultipartMime
+ properties:
+ parts:
+ - config: { get_resource: network}
+
+ network:
+ type: OS::Contrail::VirtualNetwork
+ properties:
+ name: { get_param: cps_net_name}
+
+ server_pcm:
+ type: OS::Nova::Server
+ properties:
+ config_drive: "True"
+ name: { get_param: pcm_server_name }
+ image: { get_param: pcm_image_name }
+ flavor: { get_param: pcm_flavor_name }
+ availability_zone: { get_param: availabilityzone_name }
+ networks:
+ - port: { get_resource: pcm_port_0}
+ - port: { get_resource: pcm_port_1}
+ block_device_mapping:
+ - device_name: vdb
+ volume_id: { get_param: pcm_vol}
+ user_data_format: RAW
+ user_data:
+ get_resource: server_init
+
+ pcm_port_0:
+ type: OS::Neutron::Port
+ properties:
+ network: { get_param: cps_net_name }
+ fixed_ips:
+ - ip_address: { get_param: cps_net_ip }
+ security_groups: [{ get_param: security_group_name }]
+
+ pcm_port_1:
+ type: OS::Neutron::Port
+ properties:
+ network: { get_param: oam_net_name }
+ fixed_ips:
+ - ip_address: { get_param: oam_net_ip }
+ security_groups: [{ get_param: security_group_name }]
+
+ #pcm_vol_attachment:
+ # type: OS::Cinder::VolumeAttachment
+ # properties:
+ # volume_id: { get_param: pcm_vol }
+ # mountpoint: /dev/vdb
+ # instance_uuid: { get_resource: server_pcm }
+outputs:
+ server_pcm_id:
+ description: the pcm nova service id
+ value: { get_resource: server_pcm } \ 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/recursive/inputs/nested-pcm_v0.1_2.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/recursive/inputs/nested-pcm_v0.1_2.yaml
new file mode 100644
index 0000000000..11be0dd63b
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/recursive/inputs/nested-pcm_v0.1_2.yaml
@@ -0,0 +1,110 @@
+heat_template_version: 2013-05-23
+
+description: heat template that creates PCRF Cluman stack
+
+parameters:
+ pcm_server_name:
+ type: string
+ label: PCRF CM server name
+ description: PCRF CM server name
+ pcm_image_name:
+ type: string
+ label: image name
+ description: PCRF CM image name
+ pcm_flavor_name:
+ type: string
+ label: PCRF CM flavor name
+ description: flavor name of PCRF CM instance
+ availabilityzone_name:
+ type: string
+ label: availabilityzone name
+ description: availabilityzone name
+ cps_net_name:
+ type: string
+ label: CPS network name
+ description: CPS network name
+ cps_net_ip:
+ type: string
+ label: CPS network ip
+ description: CPS network ip
+ cps_net_mask:
+ type: string
+ label: CPS network mask
+ description: CPS network mask
+ pcm_vol:
+ type: string
+ label: CPS Cluman Cinder Volume
+ description: CPS Cluman Cinder Volume
+ security_group_name:
+ type: string
+ label: security group name
+ description: the name of security group
+ oam_net_name:
+ type: string
+ label: OAM network name
+ description: OAM network name
+ oam_net_ip:
+ type: string
+resources:
+ server_init:
+ type: OS::Heat::MultipartMime
+ properties:
+ parts:
+ - config: { get_resource: network}
+ - config: { get_resource: script_init}
+
+ script_init:
+ type: OS::Heat::MultipartMime
+ properties:
+ parts:
+ - config: { get_resource: network}
+
+ network:
+ type: OS::Contrail::VirtualNetwork
+ properties:
+ name: { get_param: cps_net_name}
+
+ server_pcm:
+ type: OS::Nova::Server
+ properties:
+ config_drive: "True"
+ name: { get_param: pcm_server_name }
+ image: { get_param: pcm_image_name }
+ flavor: { get_param: pcm_flavor_name }
+ availability_zone: { get_param: availabilityzone_name }
+ networks:
+ - port: { get_resource: pcm_port_0}
+ - port: { get_resource: pcm_port_1}
+ block_device_mapping:
+ - device_name: vdb
+ volume_id: { get_param: pcm_vol}
+ user_data_format: RAW
+ user_data:
+ get_resource: server_init
+
+ pcm_port_0:
+ type: OS::Neutron::Port
+ properties:
+ network: { get_param: cps_net_name }
+ fixed_ips:
+ - ip_address: { get_param: cps_net_ip }
+ security_groups: [{ get_param: security_group_name }]
+
+ pcm_port_1:
+ type: OS::Neutron::Port
+ properties:
+ network: { get_param: oam_net_name }
+ fixed_ips:
+ - ip_address: { get_param: oam_net_ip }
+ security_groups: [{ get_param: security_group_name }]
+
+ #pcm_vol_attachment:
+ # type: OS::Cinder::VolumeAttachment
+ # properties:
+ # volume_id: { get_param: pcm_vol }
+ # mountpoint: /dev/vdb
+ # instance_uuid: { get_resource: server_pcm }
+outputs:
+ server_pcm_id:
+ description: the pcm nova service id
+ value: { get_resource: server_pcm } \ No newline at end of file