summaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance')
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/diffServiceTemplate/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml83
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/diffServiceTemplate/expectedoutputfiles/MainServiceTemplate.yaml401
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/diffServiceTemplate/expectedoutputfiles/service_instance_1ServiceTemplate.yaml407
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/diffServiceTemplate/expectedoutputfiles/service_instance_2ServiceTemplate.yaml319
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/diffServiceTemplate/inputfiles/MANIFEST.json12
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/diffServiceTemplate/inputfiles/OCS-fw.yml213
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/oneServiceInstance/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml64
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/oneServiceInstance/expectedoutputfiles/MainServiceTemplate.yaml300
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/oneServiceInstance/expectedoutputfiles/service_instanceServiceTemplate.yaml411
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/oneServiceInstance/inputfiles/MANIFEST.json17
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/oneServiceInstance/inputfiles/lcp1_mss.oam-fw_si.yaml153
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/oneServiceInstance/inputfiles/lcp1_mss.oam-fw_si_with_comments.env26
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sameServiceTemplate/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml64
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sameServiceTemplate/expectedoutputfiles/MainServiceTemplate.yaml441
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sameServiceTemplate/expectedoutputfiles/service_instance_1ServiceTemplate.yaml407
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sameServiceTemplate/expectedoutputfiles/service_instance_2ServiceTemplate.yaml407
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sameServiceTemplate/inputfiles/MANIFEST.json12
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sameServiceTemplate/inputfiles/OCS-fw.yml213
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkMulti/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml71
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkMulti/expectedoutputfiles/MainServiceTemplate.yaml407
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkMulti/expectedoutputfiles/service_instanceServiceTemplate.yaml451
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkMulti/inputfiles/MANIFEST.json17
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkMulti/inputfiles/OCS-fw.yml173
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkMulti/inputfiles/network_base.yml47
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkNested/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml154
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkNested/expectedoutputfiles/MainServiceTemplate.yaml90
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkNested/expectedoutputfiles/OCS-fwServiceTemplate.yaml294
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkNested/expectedoutputfiles/service_instanceServiceTemplate.yaml275
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkNested/inputfiles/MANIFEST.json16
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkNested/inputfiles/OCS-fw.yml163
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkNested/inputfiles/main.yml30
31 files changed, 6138 insertions, 0 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/diffServiceTemplate/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/diffServiceTemplate/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml
new file mode 100644
index 0000000000..d5a177bddb
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/diffServiceTemplate/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml
@@ -0,0 +1,83 @@
+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.vfc.nodes.heat.compute_service_template_1:
+ derived_from: org.openecomp.resource.vfc.nodes.heat.contrail.Compute
+ org.openecomp.resource.abstract.nodes.heat.service_template_2:
+ derived_from: org.openecomp.resource.abstract.nodes.contrail.AbstractSubstitute
+ requirements:
+ - link_port_0:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_port_1:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ org.openecomp.resource.abstract.nodes.heat.service_template_1:
+ derived_from: org.openecomp.resource.abstract.nodes.contrail.AbstractSubstitute
+ requirements:
+ - link_port_0:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_port_1:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_port_2:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_port_3:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ org.openecomp.resource.vfc.nodes.heat.st:
+ derived_from: org.openecomp.resource.vfc.nodes.heat.contrail.Compute \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/diffServiceTemplate/expectedoutputfiles/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/diffServiceTemplate/expectedoutputfiles/MainServiceTemplate.yaml
new file mode 100644
index 0000000000..a96c947d9d
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/diffServiceTemplate/expectedoutputfiles/MainServiceTemplate.yaml
@@ -0,0 +1,401 @@
+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:
+ service_policy_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Policy Name
+ st_static_routes_list:
+ hidden: false
+ immutable: false
+ type: string
+ description: List of static routes enabled-disabled
+ st_type:
+ hidden: false
+ immutable: false
+ type: string
+ description: service type
+ st_service_interface_type_list:
+ hidden: false
+ immutable: false
+ type: string
+ description: List of interface types
+ st_mode:
+ hidden: false
+ immutable: false
+ type: string
+ description: service mode
+ Cricket_OCS_protected_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Name of Cricket OCS network
+ oam_mgmt_net_0_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Name of OAM network
+ start_dst_ports:
+ hidden: false
+ immutable: false
+ type: float
+ description: Start of dst port
+ st_flavor:
+ hidden: false
+ immutable: false
+ type: string
+ description: Flavor
+ availability_zone_1:
+ hidden: false
+ immutable: false
+ type: string
+ description: availability zone
+ service_instance_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service instance name
+ st_scaling:
+ hidden: false
+ immutable: false
+ type: string
+ description: Indicates whether service scaling is enabled
+ max_num_fw_instances:
+ hidden: false
+ immutable: false
+ type: float
+ description: maximum number of firewall instances for scaling
+ start_src_ports:
+ hidden: false
+ immutable: false
+ type: float
+ description: Start of src port
+ service_policy_direction:
+ hidden: false
+ immutable: false
+ type: string
+ description: Direction of Policy
+ st_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Name of service template
+ count:
+ hidden: false
+ immutable: false
+ HSL_direct_net_gateway:
+ hidden: false
+ immutable: false
+ type: string
+ description: HSL (Logging) network gateway address
+ st_image:
+ hidden: false
+ immutable: false
+ type: string
+ description: Name of the image
+ st_shared_ip_list:
+ hidden: false
+ immutable: false
+ type: string
+ description: List of shared ip enabled-disabled
+ prefix_0:
+ hidden: false
+ immutable: false
+ type: string
+ Cricket_OCS_direct_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Name of Cricket OCS network
+ oam_mgmt_net_1_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Name of OAM network
+ prefix_1:
+ hidden: false
+ immutable: false
+ type: string
+ end_src_ports:
+ hidden: false
+ immutable: false
+ type: float
+ description: End of src port
+ prefix_2:
+ hidden: false
+ immutable: false
+ type: string
+ end_dst_ports:
+ hidden: false
+ immutable: false
+ type: float
+ description: End of dst port
+ st_image_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Name of the image
+ HSL_direct_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Name of HSL (Logging) network
+ HSL_direct_net_cidr:
+ hidden: false
+ immutable: false
+ type: string
+ description: HSL (Logging) network address (CIDR notation)
+ node_templates:
+ service_instance_1:
+ type: org.openecomp.resource.abstract.nodes.heat.service_template_1
+ directives:
+ - substitutable
+ properties:
+ flavor:
+ get_input: st_flavor
+ availability_zone:
+ get_input: availability_zone_1
+ image_name:
+ get_input: st_image
+ service_template_filter:
+ substitute_service_template: service_instance_1ServiceTemplate.yaml
+ count:
+ get_input: max_num_fw_instances
+ scaling_enabled: false
+ mandatory: false
+ service_type:
+ get_input: st_type
+ static_routes_list:
+ - token:
+ - get_input: st_static_routes_list
+ - ','
+ - 0
+ - token:
+ - get_input: st_static_routes_list
+ - ','
+ - 1
+ - token:
+ - get_input: st_static_routes_list
+ - ','
+ - 2
+ - token:
+ - get_input: st_static_routes_list
+ - ','
+ - 3
+ service_template_name:
+ get_input: st_name
+ service_interface_type_list:
+ - token:
+ - management,left,right,other
+ - ','
+ - 0
+ - token:
+ - management,left,right,other
+ - ','
+ - 1
+ - token:
+ - management,left,right,other
+ - ','
+ - 2
+ - token:
+ - management,left,right,other
+ - ','
+ - 3
+ interface_list:
+ - virtual_network:
+ get_input: oam_mgmt_net_0_id
+ - virtual_network:
+ get_input: Cricket_OCS_direct_net_id
+ - virtual_network: hsl_direct_net
+ - static_routes:
+ - prefix:
+ get_input: prefix_0
+ - prefix:
+ get_input: prefix_1
+ - prefix:
+ get_input: prefix_2
+ virtual_network:
+ get_input: oam_mgmt_net_1_id
+ service_instance_name:
+ get_input: service_instance_name
+ service_mode:
+ get_input: st_mode
+ shared_ip_list:
+ - token:
+ - get_input: st_shared_ip_list
+ - ','
+ - 0
+ - token:
+ - get_input: st_shared_ip_list
+ - ','
+ - 1
+ - token:
+ - get_input: st_shared_ip_list
+ - ','
+ - 2
+ - token:
+ - get_input: st_shared_ip_list
+ - ','
+ - 3
+ requirements:
+ - link_port_2:
+ capability: tosca.capabilities.network.Linkable
+ node: hsl_direct_net
+ relationship: tosca.relationships.network.LinksTo
+ - dependency:
+ capability: tosca.capabilities.Node
+ node: hsl_direct_net
+ relationship: tosca.relationships.DependsOn
+ service_instance_2:
+ type: org.openecomp.resource.abstract.nodes.heat.service_template_2
+ directives:
+ - substitutable
+ properties:
+ flavor:
+ get_input: st_flavor
+ availability_zone:
+ get_input: availability_zone_1
+ image_name:
+ get_input: st_image_name
+ service_template_filter:
+ substitute_service_template: service_instance_2ServiceTemplate.yaml
+ count: 9
+ mandatory: true
+ service_type:
+ get_input: st_type
+ static_routes_list:
+ - token:
+ - get_input: st_static_routes_list
+ - ','
+ - 0
+ - token:
+ - get_input: st_static_routes_list
+ - ','
+ - 1
+ service_template_name:
+ get_input: st_name
+ service_interface_type_list:
+ - token:
+ - get_input: st_service_interface_type_list
+ - ','
+ - 0
+ - token:
+ - get_input: st_service_interface_type_list
+ - ','
+ - 1
+ interface_list:
+ - virtual_network:
+ get_input: oam_mgmt_net_0_id
+ - virtual_network:
+ get_input: Cricket_OCS_direct_net_id
+ service_instance_name:
+ get_input: service_instance_name
+ service_mode:
+ get_input: st_mode
+ shared_ip_list:
+ - token:
+ - get_input: st_shared_ip_list
+ - ','
+ - 0
+ - token:
+ - get_input: st_shared_ip_list
+ - ','
+ - 1
+ requirements:
+ - dependency:
+ capability: tosca.capabilities.Node
+ node: hsl_direct_net
+ relationship: tosca.relationships.DependsOn
+ hsl_direct_net:
+ type: org.openecomp.resource.vl.nodes.heat.network.contrail.VirtualNetwork
+ properties:
+ network_name:
+ get_input: HSL_direct_net_id
+ subnets:
+ hsl_ip_subnet:
+ cidr:
+ get_input: HSL_direct_net_cidr
+ gateway_ip:
+ get_input: HSL_direct_net_gateway
+ service_policy:
+ type: org.openecomp.resource.vfc.rules.nodes.heat.network.contrail.NetworkRules
+ properties:
+ entries:
+ policy_rule:
+ - src_ports:
+ - start_port:
+ get_input: start_src_ports
+ end_port:
+ get_input: end_src_ports
+ protocol: any
+ metadata:
+ get_attribute:
+ - service_instance_2
+ - service_instance_name
+ action_list:
+ apply_service:
+ - service_instance_1
+ dst_addresses:
+ - virtual_network:
+ get_input: Cricket_OCS_direct_net_id
+ dst_ports:
+ - start_port:
+ get_input: start_dst_ports
+ end_port:
+ get_input: end_dst_ports
+ src_addresses:
+ - virtual_network:
+ get_input: Cricket_OCS_protected_net_id
+ direction:
+ get_input: service_policy_direction
+ name:
+ get_input: service_policy_name
+ requirements:
+ - dependency:
+ capability: tosca.capabilities.Node
+ node: service_instance_1
+ relationship: tosca.relationships.DependsOn
+ groups:
+ OCS-fw:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/OCS-fw.yml
+ description: |
+ Based on the following reference for the HOT-DMZ-FW template: Version 3.5 8-10-2015 (Authors: Art Mishurov,am254u & Johhny Chen, jc3066) - HOT-DMZ-FW template that creates two DMZ networks (direct and protected) with a scaled out firewall service between the two.
+ members:
+ - service_instance_1
+ - service_instance_2
+ - hsl_direct_net
+ - service_policy \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/diffServiceTemplate/expectedoutputfiles/service_instance_1ServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/diffServiceTemplate/expectedoutputfiles/service_instance_1ServiceTemplate.yaml
new file mode 100644
index 0000000000..d84d6c6889
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/diffServiceTemplate/expectedoutputfiles/service_instance_1ServiceTemplate.yaml
@@ -0,0 +1,407 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: service_instance_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
+topology_template:
+ inputs:
+ availability_zone:
+ hidden: false
+ immutable: false
+ type: string
+ description: Availability zone to create servers in
+ required: false
+ status: SUPPORTED
+ static_routes_list:
+ hidden: false
+ immutable: false
+ type: list
+ description: Static routes enabled
+ required: false
+ status: SUPPORTED
+ entry_schema:
+ type: boolean
+ availability_zone_enable:
+ hidden: false
+ immutable: false
+ type: boolean
+ description: Indicates availability zone is enabled
+ required: false
+ default: false
+ status: SUPPORTED
+ service_template_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service template name
+ required: false
+ status: SUPPORTED
+ ordered_interfaces:
+ hidden: false
+ immutable: false
+ type: boolean
+ description: Indicates if service interface are ordered
+ required: false
+ default: false
+ status: SUPPORTED
+ flavor:
+ hidden: false
+ immutable: false
+ type: string
+ description: flavor
+ required: false
+ status: SUPPORTED
+ image_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Image name
+ required: true
+ status: SUPPORTED
+ service_type:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service type
+ required: true
+ status: SUPPORTED
+ constraints:
+ - valid_values:
+ - firewall
+ - analyzer
+ - source-nat
+ - loadbalancer
+ service_interface_type_list:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of interface types
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ constraints:
+ - valid_values:
+ - management
+ - left
+ - right
+ - other
+ service_instance_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service instance name
+ required: true
+ status: SUPPORTED
+ interface_list:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of interfaces
+ required: false
+ status: SUPPORTED
+ entry_schema:
+ type: org.openecomp.datatypes.heat.network.contrail.InterfaceData
+ service_mode:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service mode
+ required: true
+ status: SUPPORTED
+ constraints:
+ - valid_values:
+ - transparent
+ - in-network
+ - in-network-nat
+ shared_ip_list:
+ hidden: false
+ immutable: false
+ type: list
+ description: Shared ips enabled
+ required: false
+ status: SUPPORTED
+ entry_schema:
+ type: boolean
+ node_templates:
+ service_instance_1:
+ type: org.openecomp.resource.vfc.nodes.heat.compute_service_template_1
+ properties:
+ flavor:
+ get_input: flavor
+ image_name:
+ get_input: image_name
+ availability_zone:
+ get_input: availability_zone
+ service_type:
+ get_input: service_type
+ availability_zone_enable:
+ get_input: availability_zone_enable
+ service_template_name:
+ get_input: service_template_name
+ service_instance_name:
+ get_input: service_instance_name
+ service_mode:
+ get_input: service_mode
+ port_0:
+ type: org.openecomp.resource.cp.nodes.heat.network.contrail.Port
+ properties:
+ static_routes:
+ get_input:
+ - interface_list
+ - 0
+ - static_routes
+ virtual_network:
+ get_input:
+ - interface_list
+ - 0
+ - virtual_network
+ static_route:
+ get_input:
+ - static_routes_list
+ - 0
+ allowed_address_pairs:
+ get_input:
+ - interface_list
+ - 0
+ - allowed_address_pairs
+ shared_ip:
+ get_input:
+ - shared_ip_list
+ - 0
+ ip_address:
+ get_input:
+ - interface_list
+ - 0
+ - ip_address
+ interface_type:
+ get_input:
+ - service_interface_type_list
+ - 0
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: service_instance_1
+ relationship: tosca.relationships.network.BindsTo
+ port_1:
+ type: org.openecomp.resource.cp.nodes.heat.network.contrail.Port
+ properties:
+ static_routes:
+ get_input:
+ - interface_list
+ - 1
+ - static_routes
+ virtual_network:
+ get_input:
+ - interface_list
+ - 1
+ - virtual_network
+ static_route:
+ get_input:
+ - static_routes_list
+ - 1
+ allowed_address_pairs:
+ get_input:
+ - interface_list
+ - 1
+ - allowed_address_pairs
+ shared_ip:
+ get_input:
+ - shared_ip_list
+ - 1
+ ip_address:
+ get_input:
+ - interface_list
+ - 1
+ - ip_address
+ interface_type:
+ get_input:
+ - service_interface_type_list
+ - 1
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: service_instance_1
+ relationship: tosca.relationships.network.BindsTo
+ port_2:
+ type: org.openecomp.resource.cp.nodes.heat.network.contrail.Port
+ properties:
+ static_routes:
+ get_input:
+ - interface_list
+ - 2
+ - static_routes
+ virtual_network:
+ get_input:
+ - interface_list
+ - 2
+ - virtual_network
+ static_route:
+ get_input:
+ - static_routes_list
+ - 2
+ allowed_address_pairs:
+ get_input:
+ - interface_list
+ - 2
+ - allowed_address_pairs
+ shared_ip:
+ get_input:
+ - shared_ip_list
+ - 2
+ ip_address:
+ get_input:
+ - interface_list
+ - 2
+ - ip_address
+ interface_type:
+ get_input:
+ - service_interface_type_list
+ - 2
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: service_instance_1
+ relationship: tosca.relationships.network.BindsTo
+ port_3:
+ type: org.openecomp.resource.cp.nodes.heat.network.contrail.Port
+ properties:
+ static_routes:
+ get_input:
+ - interface_list
+ - 3
+ - static_routes
+ virtual_network:
+ get_input:
+ - interface_list
+ - 3
+ - virtual_network
+ static_route:
+ get_input:
+ - static_routes_list
+ - 3
+ allowed_address_pairs:
+ get_input:
+ - interface_list
+ - 3
+ - allowed_address_pairs
+ shared_ip:
+ get_input:
+ - shared_ip_list
+ - 3
+ ip_address:
+ get_input:
+ - interface_list
+ - 3
+ - ip_address
+ interface_type:
+ get_input:
+ - service_interface_type_list
+ - 3
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: service_instance_1
+ relationship: tosca.relationships.network.BindsTo
+ groups:
+ service_instance_1:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/OCS-fw.yml
+ members:
+ - service_instance_1
+ - port_0
+ - port_1
+ - port_2
+ - port_3
+ outputs:
+ tenant_id:
+ description: Tenant id of the Service Instance
+ value:
+ get_attribute:
+ - service_instance_1
+ - tenant_id
+ fq_name:
+ description: The FQ name of the service instance
+ value:
+ get_attribute:
+ - service_instance_1
+ - fq_name
+ service_template_name:
+ description: Service Template of the Service Instance
+ value:
+ get_attribute:
+ - service_instance_1
+ - service_template_name
+ show:
+ description: All attributes
+ value:
+ get_attribute:
+ - service_instance_1
+ - show
+ active_vms:
+ description: Number of service VMs active for this Service Instance
+ value:
+ get_attribute:
+ - service_instance_1
+ - active_vms
+ service_instance_name:
+ description: The name of the service instance
+ value:
+ get_attribute:
+ - service_instance_1
+ - service_instance_name
+ virtual_machines:
+ description: Service VMs for the Service Instance
+ value:
+ get_attribute:
+ - service_instance_1
+ - virtual_machines
+ status:
+ description: Status of the service instance
+ value:
+ get_attribute:
+ - service_instance_1
+ - status
+ substitution_mappings:
+ node_type: org.openecomp.resource.abstract.nodes.heat.service_template_1
+ requirements:
+ link_port_0:
+ - port_0
+ - link
+ link_port_1:
+ - port_1
+ - link
+ link_port_2:
+ - port_2
+ - link
+ link_port_3:
+ - port_3
+ - 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/services/heattotosca/contrail2serviceinstance/diffServiceTemplate/expectedoutputfiles/service_instance_2ServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/diffServiceTemplate/expectedoutputfiles/service_instance_2ServiceTemplate.yaml
new file mode 100644
index 0000000000..3a2de0696f
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/diffServiceTemplate/expectedoutputfiles/service_instance_2ServiceTemplate.yaml
@@ -0,0 +1,319 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: service_instance_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
+topology_template:
+ inputs:
+ availability_zone:
+ hidden: false
+ immutable: false
+ type: string
+ description: Availability zone to create servers in
+ required: false
+ status: SUPPORTED
+ static_routes_list:
+ hidden: false
+ immutable: false
+ type: list
+ description: Static routes enabled
+ required: false
+ status: SUPPORTED
+ entry_schema:
+ type: boolean
+ availability_zone_enable:
+ hidden: false
+ immutable: false
+ type: boolean
+ description: Indicates availability zone is enabled
+ required: false
+ default: false
+ status: SUPPORTED
+ service_template_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service template name
+ required: false
+ status: SUPPORTED
+ ordered_interfaces:
+ hidden: false
+ immutable: false
+ type: boolean
+ description: Indicates if service interface are ordered
+ required: false
+ default: false
+ status: SUPPORTED
+ flavor:
+ hidden: false
+ immutable: false
+ type: string
+ description: flavor
+ required: false
+ status: SUPPORTED
+ image_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Image name
+ required: true
+ status: SUPPORTED
+ service_type:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service type
+ required: true
+ status: SUPPORTED
+ constraints:
+ - valid_values:
+ - firewall
+ - analyzer
+ - source-nat
+ - loadbalancer
+ service_interface_type_list:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of interface types
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ constraints:
+ - valid_values:
+ - management
+ - left
+ - right
+ - other
+ service_instance_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service instance name
+ required: true
+ status: SUPPORTED
+ interface_list:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of interfaces
+ required: false
+ status: SUPPORTED
+ entry_schema:
+ type: org.openecomp.datatypes.heat.network.contrail.InterfaceData
+ service_mode:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service mode
+ required: true
+ status: SUPPORTED
+ constraints:
+ - valid_values:
+ - transparent
+ - in-network
+ - in-network-nat
+ shared_ip_list:
+ hidden: false
+ immutable: false
+ type: list
+ description: Shared ips enabled
+ required: false
+ status: SUPPORTED
+ entry_schema:
+ type: boolean
+ node_templates:
+ service_instance_2:
+ type: org.openecomp.resource.vfc.nodes.heat.st
+ properties:
+ flavor:
+ get_input: flavor
+ image_name:
+ get_input: image_name
+ availability_zone:
+ get_input: availability_zone
+ service_type:
+ get_input: service_type
+ availability_zone_enable:
+ get_input: availability_zone_enable
+ service_template_name:
+ get_input: service_template_name
+ service_instance_name:
+ get_input: service_instance_name
+ service_mode:
+ get_input: service_mode
+ port_0:
+ type: org.openecomp.resource.cp.nodes.heat.network.contrail.Port
+ properties:
+ static_routes:
+ get_input:
+ - interface_list
+ - 0
+ - static_routes
+ virtual_network:
+ get_input:
+ - interface_list
+ - 0
+ - virtual_network
+ static_route:
+ get_input:
+ - static_routes_list
+ - 0
+ allowed_address_pairs:
+ get_input:
+ - interface_list
+ - 0
+ - allowed_address_pairs
+ shared_ip:
+ get_input:
+ - shared_ip_list
+ - 0
+ ip_address:
+ get_input:
+ - interface_list
+ - 0
+ - ip_address
+ interface_type:
+ get_input:
+ - service_interface_type_list
+ - 0
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: service_instance_2
+ relationship: tosca.relationships.network.BindsTo
+ port_1:
+ type: org.openecomp.resource.cp.nodes.heat.network.contrail.Port
+ properties:
+ static_routes:
+ get_input:
+ - interface_list
+ - 1
+ - static_routes
+ virtual_network:
+ get_input:
+ - interface_list
+ - 1
+ - virtual_network
+ static_route:
+ get_input:
+ - static_routes_list
+ - 1
+ allowed_address_pairs:
+ get_input:
+ - interface_list
+ - 1
+ - allowed_address_pairs
+ shared_ip:
+ get_input:
+ - shared_ip_list
+ - 1
+ ip_address:
+ get_input:
+ - interface_list
+ - 1
+ - ip_address
+ interface_type:
+ get_input:
+ - service_interface_type_list
+ - 1
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: service_instance_2
+ relationship: tosca.relationships.network.BindsTo
+ groups:
+ service_instance_2:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/OCS-fw.yml
+ members:
+ - service_instance_2
+ - port_0
+ - port_1
+ outputs:
+ tenant_id:
+ description: Tenant id of the Service Instance
+ value:
+ get_attribute:
+ - service_instance_2
+ - tenant_id
+ fq_name:
+ description: The FQ name of the service instance
+ value:
+ get_attribute:
+ - service_instance_2
+ - fq_name
+ service_template_name:
+ description: Service Template of the Service Instance
+ value:
+ get_attribute:
+ - service_instance_2
+ - service_template_name
+ show:
+ description: All attributes
+ value:
+ get_attribute:
+ - service_instance_2
+ - show
+ active_vms:
+ description: Number of service VMs active for this Service Instance
+ value:
+ get_attribute:
+ - service_instance_2
+ - active_vms
+ service_instance_name:
+ description: The name of the service instance
+ value:
+ get_attribute:
+ - service_instance_2
+ - service_instance_name
+ virtual_machines:
+ description: Service VMs for the Service Instance
+ value:
+ get_attribute:
+ - service_instance_2
+ - virtual_machines
+ status:
+ description: Status of the service instance
+ value:
+ get_attribute:
+ - service_instance_2
+ - status
+ substitution_mappings:
+ node_type: org.openecomp.resource.abstract.nodes.heat.service_template_2
+ requirements:
+ link_port_0:
+ - port_0
+ - link
+ link_port_1:
+ - port_1
+ - 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/services/heattotosca/contrail2serviceinstance/diffServiceTemplate/inputfiles/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/diffServiceTemplate/inputfiles/MANIFEST.json
new file mode 100644
index 0000000000..a26430ba72
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/diffServiceTemplate/inputfiles/MANIFEST.json
@@ -0,0 +1,12 @@
+{
+ "name": "vMME_Small",
+ "description": "HOT template to create 2 cinder volume attachment",
+ "version": "2013-05-23",
+ "data": [
+ {
+ "file": "OCS-fw.yml",
+ "type": "HEAT",
+ "isBase": "false"
+ }
+ ]
+}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/diffServiceTemplate/inputfiles/OCS-fw.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/diffServiceTemplate/inputfiles/OCS-fw.yml
new file mode 100644
index 0000000000..725ba49459
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/diffServiceTemplate/inputfiles/OCS-fw.yml
@@ -0,0 +1,213 @@
+heat_template_version: 2013-05-23
+
+description: >
+ Based on the following reference for the HOT-DMZ-FW template:
+ Version 3.5 8-10-2015 (Authors: Art Mishurov,am254u & Johhny Chen, jc3066) - HOT-DMZ-FW template that creates two DMZ networks (direct and protected) with a scaled out firewall service between the two.
+
+parameters:
+ HSL_direct_net_id:
+ type: string
+ description: Name of HSL (Logging) network
+ prefix_0:
+ type: string
+ prefix_1:
+ type: string
+ prefix_2:
+ type: string
+ HSL_direct_net_cidr:
+ type: string
+ description: HSL (Logging) network address (CIDR notation)
+ HSL_direct_net_gateway:
+ type: string
+ description: HSL (Logging) network gateway address
+ oam_mgmt_net_0_id:
+ type: string
+ description: Name of OAM network
+ oam_mgmt_net_1_id:
+ type: string
+ description: Name of OAM network
+ Cricket_OCS_direct_net_id:
+ type: string
+ description: Name of Cricket OCS network
+ Cricket_OCS_protected_net_id:
+ type: string
+ description: Name of Cricket OCS network
+ service_instance_name:
+ type: string
+ description: Service instance name
+ service_policy_name:
+ type: string
+ description: Policy Name
+ service_policy_direction:
+ type: string
+ description: Direction of Policy
+ start_src_ports:
+ type: number
+ description: Start of src port
+ end_src_ports:
+ type: number
+ description: End of src port
+ start_dst_ports:
+ type: number
+ description: Start of dst port
+ end_dst_ports:
+ type: number
+ description: End of dst port
+ st_name:
+ type: string
+ description: Name of service template
+ st_mode:
+ type: string
+ description: service mode
+ st_type:
+ type: string
+ description: service type
+ st_image:
+ type: string
+ description: Name of the image
+ st_image_name:
+ type: string
+ description: Name of the image
+ st_flavor:
+ type: string
+ description: Flavor
+ st_service_interface_type_list:
+ type: string
+ description: List of interface types
+ st_shared_ip_list:
+ type: string
+ description: List of shared ip enabled-disabled
+ st_static_routes_list:
+ type: string
+ description: List of static routes enabled-disabled
+ st_scaling:
+ type: string
+ description: Indicates whether service scaling is enabled
+ max_num_fw_instances:
+ type: number
+ description: maximum number of firewall instances for scaling
+ availability_zone_1:
+ type: string
+ description: availability zone
+ count:
+ type: integer
+
+resources:
+
+ hsl_direct_net:
+ type: OS::Contrail::VirtualNetwork
+ properties:
+ name: { get_param: HSL_direct_net_id }
+# external: True
+
+ hsl_ip_subnet:
+ type: OS::Neutron::Subnet
+ properties:
+ network_id: { get_resource: hsl_direct_net }
+ cidr: { get_param: HSL_direct_net_cidr }
+ gateway_ip: { get_param: HSL_direct_net_gateway }
+
+ service_template_1:
+ type: OS::Contrail::ServiceTemplate
+ properties:
+ name: { get_param: st_name }
+ service_mode: { get_param: st_mode }
+ service_type: { get_param: st_type }
+ image_name: { get_param: st_image }
+ flavor: { get_param: st_flavor }
+ service_interface_type_list: { "Fn::Split" : [ ",", "management,left,right,other" ] }
+ shared_ip_list: { "Fn::Split" : [ ",", Ref: st_shared_ip_list ] }
+ static_routes_list: { "Fn::Split" : [ ",", Ref: st_static_routes_list ] }
+ service_scaling: n
+
+ service_instance_1:
+ type: OS::Contrail::ServiceInstance
+ depends_on: [ hsl_ip_subnet]
+ properties:
+ name: { get_param: service_instance_name }
+ availability_zone: { get_param: availability_zone_1 }
+ service_template: { get_resource: service_template_1 }
+ scale_out:
+ max_instances: {get_param: max_num_fw_instances}
+ interface_list: [
+ {
+ virtual_network: { get_param: oam_mgmt_net_0_id }
+ },
+ {
+ virtual_network: { get_param: Cricket_OCS_direct_net_id }
+ },
+ {
+ virtual_network: { get_resource: hsl_direct_net }
+ },
+ {
+ virtual_network: {get_param: oam_mgmt_net_1_id},
+ static_routes: [
+ { "prefix": {get_param: prefix_0} },
+ { "prefix": {get_param: prefix_1} },
+ { "prefix": {get_param: prefix_2} },
+ ],
+ }
+ ]
+
+ service_template_2:
+ type: OS::Contrail::ServiceTemplate
+ properties:
+ name: { get_param: st_name }
+ service_mode: { get_param: st_mode }
+ service_type: { get_param: st_type }
+ image_name: { get_param: st_image_name }
+ flavor: { get_param: st_flavor }
+ service_interface_type_list: { "Fn::Split" : [ ",", Ref: st_service_interface_type_list ] }
+ shared_ip_list: { "Fn::Split" : [ ",", Ref: st_shared_ip_list ] }
+ static_routes_list: { "Fn::Split" : [ ",", Ref: st_static_routes_list ] }
+
+ service_instance_2:
+ type: OS::Contrail::ServiceInstance
+ depends_on: [ hsl_ip_subnet]
+ properties:
+ name: { get_param: service_instance_name }
+ availability_zone: { get_param: availability_zone_1 }
+ service_template: { get_resource: service_template_2 }
+ scale_out:
+ max_instances: 9
+ interface_list: [
+ {
+ virtual_network: { get_param: oam_mgmt_net_0_id }
+ },
+ {
+ virtual_network: { get_param: Cricket_OCS_direct_net_id }
+ }
+ ]
+
+ service_policy:
+ type: OS::Contrail::NetworkPolicy
+ depends_on: [ service_instance_1 ]
+ properties:
+ name: { get_param: service_policy_name }
+ entries:
+ policy_rule: [
+ {
+ "direction": { get_param: service_policy_direction },
+ "protocol": "any",
+ "src_ports": [{"start_port": {get_param: start_src_ports}, "end_port": {get_param: end_src_ports}}],
+ "dst_ports": [{"start_port": {get_param: start_dst_ports}, "end_port": {get_param: end_dst_ports}}],
+ "dst_addresses": [{ "virtual_network": { get_param: Cricket_OCS_direct_net_id }}],
+ "action_list": { "apply_service": [{ get_resource: service_instance_1 }]},
+ "src_addresses": [{ "virtual_network": { get_param: Cricket_OCS_protected_net_id }}],
+ "metadata": {get_attr: [service_instance_2, name]}
+ },
+ ]
+
+ service_policy_attach_direct_net:
+ type: OS::Contrail::AttachPolicy
+ depends_on: [ service_policy ]
+ properties:
+ network: { get_param: Cricket_OCS_direct_net_id }
+ policy: { get_attr: [service_policy, fq_name] }
+
+ service_policy_attach_protected_net:
+ type: OS::Contrail::AttachPolicy
+ depends_on: [ service_policy ]
+ properties:
+ network: { get_param: Cricket_OCS_protected_net_id }
+ policy: { get_attr: [service_policy, fq_name] } \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/oneServiceInstance/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/oneServiceInstance/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml
new file mode 100644
index 0000000000..b00d3d8bc0
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/oneServiceInstance/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml
@@ -0,0 +1,64 @@
+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.service_template:
+ derived_from: org.openecomp.resource.abstract.nodes.contrail.AbstractSubstitute
+ requirements:
+ - link_port_0:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_port_1:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_port_2:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_port_3:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ org.openecomp.resource.vfc.nodes.heat.compute_service_template:
+ derived_from: org.openecomp.resource.vfc.nodes.heat.contrail.Compute \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/oneServiceInstance/expectedoutputfiles/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/oneServiceInstance/expectedoutputfiles/MainServiceTemplate.yaml
new file mode 100644
index 0000000000..016e4d3f70
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/oneServiceInstance/expectedoutputfiles/MainServiceTemplate.yaml
@@ -0,0 +1,300 @@
+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:
+ protected_net:
+ hidden: false
+ immutable: false
+ type: string
+ service_policy_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Policy Name
+ default: MNS-25180-L-02Shared_policy_direct_fw_protected_oam_1
+ oam_direct_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Name of private network to be created
+ st_static_routes_list:
+ hidden: false
+ immutable: false
+ type: string
+ description: List of static routes enabled-disabled
+ default: True,True,True,True
+ st_type:
+ hidden: false
+ immutable: false
+ type: string
+ description: service type
+ default: firewall
+ st_service_interface_type_list:
+ hidden: false
+ immutable: false
+ type: string
+ description: List of interface types
+ default: management,left,right,other
+ oam_protected_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Name of private network to be created
+ st_mode:
+ hidden: false
+ immutable: false
+ type: string
+ description: service mode
+ default: in-network-nat
+ static_prefix_3_1:
+ hidden: false
+ immutable: false
+ type: string
+ description: prefix for static route
+ default: 107.239.80.0/21
+ oam_hsl_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Name of private network to be created
+ start_dst_ports:
+ hidden: false
+ immutable: false
+ type: float
+ description: Start of dst port
+ default: -1
+ st_flavor:
+ hidden: false
+ immutable: false
+ type: string
+ description: Flavor
+ default: lc.medium
+ st_scaling:
+ hidden: false
+ immutable: false
+ type: string
+ description: Indicates whether service scaling is enabled
+ default: 'True'
+ service_instance_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: service instance name
+ max_num_fw_instances:
+ hidden: false
+ immutable: false
+ type: float
+ description: maximum number of firewall instances for scaling
+ default: 8
+ start_src_ports:
+ hidden: false
+ immutable: false
+ type: float
+ description: Start of src port
+ default: -1
+ availability_zone:
+ hidden: false
+ immutable: false
+ type: string
+ description: availability zone in form of Zone:Host
+ service_policy_direction:
+ hidden: false
+ immutable: false
+ type: string
+ description: Direction of Policy
+ default: <>
+ st_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: service template name or ID
+ default: MNS-25180-L-02Shared_oam_fw_template_1
+ st_availability_zone_enable_flag:
+ hidden: false
+ immutable: false
+ type: string
+ description: service template availablity_zone feature enable flag
+ default: 'True'
+ st_image:
+ hidden: false
+ immutable: false
+ type: string
+ description: Name of the image
+ default: NIMBUS_SRX_151X49-D303
+ st_shared_ip_list:
+ hidden: false
+ immutable: false
+ type: string
+ description: List of shared ip enabled-disabled
+ default: False,True,False,False
+ oam_mgmt_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Name of private network to be created
+ end_src_ports:
+ hidden: false
+ immutable: false
+ type: float
+ description: End of src port
+ default: -1
+ end_dst_ports:
+ hidden: false
+ immutable: false
+ type: float
+ description: End of dst port
+ default: -1
+ node_templates:
+ service_instance:
+ type: org.openecomp.resource.abstract.nodes.heat.service_template
+ directives:
+ - substitutable
+ properties:
+ availability_zone:
+ get_input: availability_zone
+ static_routes_list:
+ - token:
+ - false;false;false;false
+ - ;
+ - 0
+ - token:
+ - false;false;false;false
+ - ;
+ - 1
+ - token:
+ - false;false;false;false
+ - ;
+ - 2
+ - token:
+ - false;false;false;false
+ - ;
+ - 3
+ availability_zone_enable:
+ get_input: st_availability_zone_enable_flag
+ service_template_name:
+ get_input: st_name
+ ordered_interfaces: true
+ flavor:
+ get_input: st_flavor
+ image_name:
+ get_input: st_image
+ service_template_filter:
+ substitute_service_template: service_instanceServiceTemplate.yaml
+ count: 5
+ scaling_enabled:
+ get_input: st_scaling
+ mandatory: true
+ service_type:
+ get_input: st_type
+ service_interface_type_list:
+ - token:
+ - get_input: st_service_interface_type_list
+ - ','
+ - 0
+ - token:
+ - get_input: st_service_interface_type_list
+ - ','
+ - 1
+ - token:
+ - get_input: st_service_interface_type_list
+ - ','
+ - 2
+ - token:
+ - get_input: st_service_interface_type_list
+ - ','
+ - 3
+ interface_list:
+ - virtual_network:
+ get_input: oam_mgmt_net_id
+ - virtual_network:
+ get_input: oam_protected_net_id
+ - static_routes:
+ - prefix:
+ get_input: static_prefix_3_1
+ virtual_network:
+ get_input: oam_direct_net_id
+ - virtual_network:
+ get_input: oam_hsl_net_id
+ service_instance_name:
+ get_input: service_instance_name
+ service_mode:
+ get_input: st_mode
+ shared_ip_list:
+ - true
+ - true
+ - false
+ - false
+ service_policy:
+ type: org.openecomp.resource.vfc.rules.nodes.heat.network.contrail.NetworkRules
+ properties:
+ entries:
+ policy_rule:
+ - src_ports:
+ - start_port:
+ get_input: start_src_ports
+ end_port:
+ get_input: end_src_ports
+ protocol: any
+ action_list:
+ apply_service:
+ - service_instance
+ dst_addresses:
+ - virtual_network:
+ get_input: oam_direct_net_id
+ dst_ports:
+ - start_port:
+ get_input: start_dst_ports
+ end_port:
+ get_input: end_dst_ports
+ src_addresses:
+ - virtual_network:
+ get_input: protected_net
+ direction:
+ get_input: service_policy_direction
+ name:
+ get_input: service_policy_name
+ requirements:
+ - dependency:
+ capability: tosca.capabilities.Node
+ node: service_instance
+ relationship: tosca.relationships.DependsOn
+ groups:
+ lcp1_mss.oam-fw_si:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/lcp1_mss.oam-fw_si.yaml
+ description: |
+ Version 2.0 10-14-2015 (Authors: Art Mishurov,am254u & Johhny Chen, jc3066) - HOT-OAM-FW-SI template that creates two OAM networks (direct and protected) with a scaled out firewall service between the two.
+ members:
+ - service_instance
+ - service_policy \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/oneServiceInstance/expectedoutputfiles/service_instanceServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/oneServiceInstance/expectedoutputfiles/service_instanceServiceTemplate.yaml
new file mode 100644
index 0000000000..e9f2511604
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/oneServiceInstance/expectedoutputfiles/service_instanceServiceTemplate.yaml
@@ -0,0 +1,411 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: service_instance
+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:
+ availability_zone:
+ hidden: false
+ immutable: false
+ type: string
+ description: Availability zone to create servers in
+ required: false
+ status: SUPPORTED
+ static_routes_list:
+ hidden: false
+ immutable: false
+ type: list
+ description: Static routes enabled
+ required: false
+ status: SUPPORTED
+ entry_schema:
+ type: boolean
+ availability_zone_enable:
+ hidden: false
+ immutable: false
+ type: boolean
+ description: Indicates availability zone is enabled
+ required: false
+ default: false
+ status: SUPPORTED
+ service_template_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service template name
+ required: false
+ status: SUPPORTED
+ ordered_interfaces:
+ hidden: false
+ immutable: false
+ type: boolean
+ description: Indicates if service interface are ordered
+ required: false
+ default: false
+ status: SUPPORTED
+ flavor:
+ hidden: false
+ immutable: false
+ type: string
+ description: flavor
+ required: false
+ status: SUPPORTED
+ image_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Image name
+ required: true
+ status: SUPPORTED
+ service_type:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service type
+ required: true
+ status: SUPPORTED
+ constraints:
+ - valid_values:
+ - firewall
+ - analyzer
+ - source-nat
+ - loadbalancer
+ service_interface_type_list:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of interface types
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ constraints:
+ - valid_values:
+ - management
+ - left
+ - right
+ - other
+ service_instance_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service instance name
+ required: true
+ status: SUPPORTED
+ interface_list:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of interfaces
+ required: false
+ status: SUPPORTED
+ entry_schema:
+ type: org.openecomp.datatypes.heat.network.contrail.InterfaceData
+ service_mode:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service mode
+ required: true
+ status: SUPPORTED
+ constraints:
+ - valid_values:
+ - transparent
+ - in-network
+ - in-network-nat
+ shared_ip_list:
+ hidden: false
+ immutable: false
+ type: list
+ description: Shared ips enabled
+ required: false
+ status: SUPPORTED
+ entry_schema:
+ type: boolean
+ node_templates:
+ port_0:
+ type: org.openecomp.resource.cp.nodes.heat.network.contrail.Port
+ properties:
+ static_routes:
+ get_input:
+ - interface_list
+ - 0
+ - static_routes
+ virtual_network:
+ get_input:
+ - interface_list
+ - 0
+ - virtual_network
+ static_route:
+ get_input:
+ - static_routes_list
+ - 0
+ allowed_address_pairs:
+ get_input:
+ - interface_list
+ - 0
+ - allowed_address_pairs
+ shared_ip:
+ get_input:
+ - shared_ip_list
+ - 0
+ ip_address:
+ get_input:
+ - interface_list
+ - 0
+ - ip_address
+ interface_type:
+ get_input:
+ - service_interface_type_list
+ - 0
+ order: 0
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: service_instance
+ relationship: tosca.relationships.network.BindsTo
+ port_1:
+ type: org.openecomp.resource.cp.nodes.heat.network.contrail.Port
+ properties:
+ static_routes:
+ get_input:
+ - interface_list
+ - 1
+ - static_routes
+ virtual_network:
+ get_input:
+ - interface_list
+ - 1
+ - virtual_network
+ static_route:
+ get_input:
+ - static_routes_list
+ - 1
+ allowed_address_pairs:
+ get_input:
+ - interface_list
+ - 1
+ - allowed_address_pairs
+ shared_ip:
+ get_input:
+ - shared_ip_list
+ - 1
+ ip_address:
+ get_input:
+ - interface_list
+ - 1
+ - ip_address
+ interface_type:
+ get_input:
+ - service_interface_type_list
+ - 1
+ order: 1
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: service_instance
+ relationship: tosca.relationships.network.BindsTo
+ port_2:
+ type: org.openecomp.resource.cp.nodes.heat.network.contrail.Port
+ properties:
+ static_routes:
+ get_input:
+ - interface_list
+ - 2
+ - static_routes
+ virtual_network:
+ get_input:
+ - interface_list
+ - 2
+ - virtual_network
+ static_route:
+ get_input:
+ - static_routes_list
+ - 2
+ allowed_address_pairs:
+ get_input:
+ - interface_list
+ - 2
+ - allowed_address_pairs
+ shared_ip:
+ get_input:
+ - shared_ip_list
+ - 2
+ ip_address:
+ get_input:
+ - interface_list
+ - 2
+ - ip_address
+ interface_type:
+ get_input:
+ - service_interface_type_list
+ - 2
+ order: 2
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: service_instance
+ relationship: tosca.relationships.network.BindsTo
+ port_3:
+ type: org.openecomp.resource.cp.nodes.heat.network.contrail.Port
+ properties:
+ static_routes:
+ get_input:
+ - interface_list
+ - 3
+ - static_routes
+ virtual_network:
+ get_input:
+ - interface_list
+ - 3
+ - virtual_network
+ static_route:
+ get_input:
+ - static_routes_list
+ - 3
+ allowed_address_pairs:
+ get_input:
+ - interface_list
+ - 3
+ - allowed_address_pairs
+ shared_ip:
+ get_input:
+ - shared_ip_list
+ - 3
+ ip_address:
+ get_input:
+ - interface_list
+ - 3
+ - ip_address
+ interface_type:
+ get_input:
+ - service_interface_type_list
+ - 3
+ order: 3
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: service_instance
+ relationship: tosca.relationships.network.BindsTo
+ service_instance:
+ type: org.openecomp.resource.vfc.nodes.heat.compute_service_template
+ properties:
+ flavor:
+ get_input: flavor
+ image_name:
+ get_input: image_name
+ availability_zone:
+ get_input: availability_zone
+ service_type:
+ get_input: service_type
+ availability_zone_enable:
+ get_input: availability_zone_enable
+ service_template_name:
+ get_input: service_template_name
+ service_instance_name:
+ get_input: service_instance_name
+ service_mode:
+ get_input: service_mode
+ groups:
+ service_instance:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/lcp1_mss.oam-fw_si.yaml
+ members:
+ - service_instance
+ - port_0
+ - port_1
+ - port_2
+ - port_3
+ outputs:
+ tenant_id:
+ description: Tenant id of the Service Instance
+ value:
+ get_attribute:
+ - service_instance
+ - tenant_id
+ fq_name:
+ description: The FQ name of the service instance
+ value:
+ get_attribute:
+ - service_instance
+ - fq_name
+ service_template_name:
+ description: Service Template of the Service Instance
+ value:
+ get_attribute:
+ - service_instance
+ - service_template_name
+ show:
+ description: All attributes
+ value:
+ get_attribute:
+ - service_instance
+ - show
+ active_vms:
+ description: Number of service VMs active for this Service Instance
+ value:
+ get_attribute:
+ - service_instance
+ - active_vms
+ service_instance_name:
+ description: The name of the service instance
+ value:
+ get_attribute:
+ - service_instance
+ - service_instance_name
+ virtual_machines:
+ description: Service VMs for the Service Instance
+ value:
+ get_attribute:
+ - service_instance
+ - virtual_machines
+ status:
+ description: Status of the service instance
+ value:
+ get_attribute:
+ - service_instance
+ - status
+ substitution_mappings:
+ node_type: org.openecomp.resource.abstract.nodes.heat.service_template
+ requirements:
+ link_port_0:
+ - port_0
+ - link
+ link_port_1:
+ - port_1
+ - link
+ link_port_2:
+ - port_2
+ - link
+ link_port_3:
+ - port_3
+ - 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/services/heattotosca/contrail2serviceinstance/oneServiceInstance/inputfiles/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/oneServiceInstance/inputfiles/MANIFEST.json
new file mode 100644
index 0000000000..63989f282b
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/oneServiceInstance/inputfiles/MANIFEST.json
@@ -0,0 +1,17 @@
+{
+ "name": "vLCP",
+ "description": "",
+ "data": [
+ {
+ "file": "lcp1_mss.oam-fw_si.yaml",
+ "type": "HEAT",
+ "isBase": "false",
+ "data": [
+ {
+ "file": "lcp1_mss.oam-fw_si_with_comments.env",
+ "type": "HEAT_ENV"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/oneServiceInstance/inputfiles/lcp1_mss.oam-fw_si.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/oneServiceInstance/inputfiles/lcp1_mss.oam-fw_si.yaml
new file mode 100644
index 0000000000..33620a9b91
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/oneServiceInstance/inputfiles/lcp1_mss.oam-fw_si.yaml
@@ -0,0 +1,153 @@
+heat_template_version: 2013-05-23
+
+description: >
+ Version 2.0 10-14-2015 (Authors: Art Mishurov,am254u & Johhny Chen, jc3066) - HOT-OAM-FW-SI template that creates two OAM networks (direct and protected) with a scaled out firewall service between the two.
+
+parameters:
+ service_policy_name:
+ type: string
+ description: Policy Name
+ service_policy_direction:
+ type: string
+ description: Direction of Policy
+ start_src_ports:
+ type: number
+ description: Start of src port
+ end_src_ports:
+ type: number
+ description: End of src port
+ start_dst_ports:
+ type: number
+ description: Start of dst port
+ end_dst_ports:
+ type: number
+ description: End of dst port
+ oam_mgmt_net_id:
+ type: string
+ description: Name of private network to be created
+ oam_protected_net_id:
+ type: string
+ description: Name of private network to be created
+ oam_direct_net_id:
+ type: string
+ description: Name of private network to be created
+ oam_hsl_net_id:
+ type: string
+ description: Name of private network to be created
+ st_name:
+ type: string
+ description: service template name or ID
+ st_type:
+ type: string
+ description: service type
+ st_image:
+ type: string
+ description: Name of the image
+ st_flavor:
+ type: string
+ description: Flavor
+ st_service_interface_type_list:
+ type: string
+ description: List of interface types
+ st_shared_ip_list:
+ type: string
+ description: List of shared ip enabled-disabled
+ st_static_routes_list:
+ type: string
+ description: List of static routes enabled-disabled
+ st_scaling:
+ type: string
+ description: Indicates whether service scaling is enabled
+ st_mode:
+ type: string
+ description: service mode
+ st_availability_zone_enable_flag:
+ type: string
+ description: service template availablity_zone feature enable flag
+ max_num_fw_instances:
+ type: number
+ description: maximum number of firewall instances for scaling
+ service_instance_name:
+ type: string
+ description: service instance name
+ availability_zone:
+ type: string
+ description: availability zone in form of Zone:Host
+ static_prefix_3_1:
+ type: string
+ description: prefix for static route
+ protected_net:
+ type: string
+
+resources:
+ service_template:
+ type: OS::Contrail::ServiceTemplate
+ properties:
+ name: { get_param: st_name }
+ service_mode: { get_param: st_mode }
+ service_type: { get_param: st_type }
+ image_name: { get_param: st_image }
+ flavor: { get_param: st_flavor }
+ service_interface_type_list: { "Fn::Split" : [ ",", Ref: st_service_interface_type_list ] }
+ shared_ip_list: [ true, on, no, 0 ]
+ static_routes_list: { "Fn::Split" : [ ";", "n;false;false;false" ] }
+ service_scaling: { get_param: st_scaling }
+ availability_zone_enable: { get_param: st_availability_zone_enable_flag }
+ ordered_interfaces: true
+
+ service_instance:
+ type: OS::Contrail::ServiceInstance
+ properties:
+ name: { get_param: service_instance_name }
+ service_template: { get_resource: service_template }
+ availability_zone: { get_param: availability_zone }
+ scale_out:
+ max_instances: 5
+ interface_list: [
+ {
+ virtual_network: {get_param: oam_mgmt_net_id}
+ },
+ {
+ virtual_network: {get_param: oam_protected_net_id}
+ },
+ {
+ virtual_network: {get_param: oam_direct_net_id},
+ static_routes: [
+ { "prefix": {get_param: static_prefix_3_1} },
+ ],
+ },
+ {
+ virtual_network: {get_param: oam_hsl_net_id}
+ },
+ ]
+
+ service_policy:
+ type: OS::Contrail::NetworkPolicy
+ depends_on: [ service_instance ]
+ properties:
+ name: { get_param: service_policy_name }
+ entries:
+ policy_rule: [
+ {
+ "direction": { get_param: service_policy_direction },
+ "protocol": "any",
+ "src_ports": [{"start_port": {get_param: start_src_ports}, "end_port": {get_param: end_src_ports}}],
+ "dst_ports": [{"start_port": {get_param: start_dst_ports}, "end_port": {get_param: end_dst_ports}}],
+ "dst_addresses": [{ "virtual_network": {get_param: oam_direct_net_id}}],
+ "action_list": {"apply_service": [{get_resource: service_instance}]},
+ "src_addresses": [{ "virtual_network": {get_param: protected_net}}]
+ },
+ ]
+ service_policy_attach_direct_net:
+ type: OS::Contrail::AttachPolicy
+ depends_on: [ service_policy ]
+ properties:
+ network: { get_param: oam_direct_net_id }
+ policy: { get_attr: [service_policy, fq_name] }
+
+ service_policy_attach_protected_net:
+ type: OS::Contrail::AttachPolicy
+ depends_on: [ service_policy ]
+ properties:
+ network: { get_param: oam_protected_net_id }
+ policy: { get_attr: [service_policy, fq_name] }
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/oneServiceInstance/inputfiles/lcp1_mss.oam-fw_si_with_comments.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/oneServiceInstance/inputfiles/lcp1_mss.oam-fw_si_with_comments.env
new file mode 100644
index 0000000000..718c5dba17
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/oneServiceInstance/inputfiles/lcp1_mss.oam-fw_si_with_comments.env
@@ -0,0 +1,26 @@
+parameters:
+ #service_instance_name: ZRDM1FRWL02OAM
+ service_policy_name: MNS-25180-L-02Shared_policy_direct_fw_protected_oam_1
+ service_policy_direction: "<>"
+ start_src_ports: -1
+ end_src_ports: -1
+ start_dst_ports: -1
+ end_dst_ports: -1
+ st_name: MNS-25180-L-02Shared_oam_fw_template_1
+ st_mode: in-network-nat
+ st_type: firewall
+ st_image: NIMBUS_SRX_151X49-D303
+ st_flavor: lc.medium
+ st_service_interface_type_list: management,left,right,other
+ st_shared_ip_list: False,True,False,False
+ st_static_routes_list: True,True,True,True
+ st_scaling: "True"
+ st_availability_zone_enable_flag: "True"
+ #availability_zone: "nova"
+ max_num_fw_instances: 8
+ #oam_mgmt_net_id: 'default-domain:MNS-25180-L-02Shared_oam_mgmt_net_1'
+ #oam_protected_net_id: 'default-domain:MNS-25180-L-02Shared_oam_protected_net_1'
+ #oam_direct_net_id: 'default-domain:MNS-25180-L-02Shared_oam_direct_net_1'
+ #oam_hsl_net_id: 'default-domain:MNS-25180-L-02Shared_oam_hsl_net_1'
+ static_prefix_3_1: 107.239.80.0/21
+ \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sameServiceTemplate/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sameServiceTemplate/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml
new file mode 100644
index 0000000000..b00d3d8bc0
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sameServiceTemplate/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml
@@ -0,0 +1,64 @@
+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.service_template:
+ derived_from: org.openecomp.resource.abstract.nodes.contrail.AbstractSubstitute
+ requirements:
+ - link_port_0:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_port_1:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_port_2:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_port_3:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ org.openecomp.resource.vfc.nodes.heat.compute_service_template:
+ derived_from: org.openecomp.resource.vfc.nodes.heat.contrail.Compute \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sameServiceTemplate/expectedoutputfiles/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sameServiceTemplate/expectedoutputfiles/MainServiceTemplate.yaml
new file mode 100644
index 0000000000..942df0b120
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sameServiceTemplate/expectedoutputfiles/MainServiceTemplate.yaml
@@ -0,0 +1,441 @@
+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:
+ service_policy_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Policy Name
+ st_static_routes_list:
+ hidden: false
+ immutable: false
+ type: string
+ description: List of static routes enabled-disabled
+ st_type:
+ hidden: false
+ immutable: false
+ type: string
+ description: service type
+ st_service_interface_type_list:
+ hidden: false
+ immutable: false
+ type: string
+ description: List of interface types
+ st_mode:
+ hidden: false
+ immutable: false
+ type: string
+ description: service mode
+ Cricket_OCS_protected_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Name of Cricket OCS network
+ oam_mgmt_net_0_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Name of OAM network
+ start_dst_ports:
+ hidden: false
+ immutable: false
+ type: float
+ description: Start of dst port
+ st_flavor:
+ hidden: false
+ immutable: false
+ type: string
+ description: Flavor
+ availability_zone_1:
+ hidden: false
+ immutable: false
+ type: string
+ description: availability zone
+ service_instance_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service instance name
+ st_scaling:
+ hidden: false
+ immutable: false
+ type: string
+ description: Indicates whether service scaling is enabled
+ max_num_fw_instances:
+ hidden: false
+ immutable: false
+ type: float
+ description: maximum number of firewall instances for scaling
+ start_src_ports:
+ hidden: false
+ immutable: false
+ type: float
+ description: Start of src port
+ service_policy_direction:
+ hidden: false
+ immutable: false
+ type: string
+ description: Direction of Policy
+ st_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Name of service template
+ HSL_direct_net_gateway:
+ hidden: false
+ immutable: false
+ type: string
+ description: HSL (Logging) network gateway address
+ st_image:
+ hidden: false
+ immutable: false
+ type: string
+ description: Name of the image
+ st_shared_ip_list:
+ hidden: false
+ immutable: false
+ type: string
+ description: List of shared ip enabled-disabled
+ prefix_0:
+ hidden: false
+ immutable: false
+ type: string
+ Cricket_OCS_direct_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Name of Cricket OCS network
+ oam_mgmt_net_1_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Name of OAM network
+ prefix_1:
+ hidden: false
+ immutable: false
+ type: string
+ end_src_ports:
+ hidden: false
+ immutable: false
+ type: float
+ description: End of src port
+ prefix_2:
+ hidden: false
+ immutable: false
+ type: string
+ end_dst_ports:
+ hidden: false
+ immutable: false
+ type: float
+ description: End of dst port
+ st_image_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Name of the image
+ HSL_direct_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Name of HSL (Logging) network
+ HSL_direct_net_cidr:
+ hidden: false
+ immutable: false
+ type: string
+ description: HSL (Logging) network address (CIDR notation)
+ node_templates:
+ service_instance_1:
+ type: org.openecomp.resource.abstract.nodes.heat.service_template
+ directives:
+ - substitutable
+ properties:
+ flavor:
+ get_input: st_flavor
+ availability_zone:
+ get_input: availability_zone_1
+ image_name:
+ get_input: st_image
+ service_template_filter:
+ substitute_service_template: service_instance_1ServiceTemplate.yaml
+ count: 1
+ scaling_enabled:
+ get_input: st_scaling
+ mandatory: true
+ service_type:
+ get_input: st_type
+ static_routes_list:
+ - token:
+ - get_input: st_static_routes_list
+ - ','
+ - 0
+ - token:
+ - get_input: st_static_routes_list
+ - ','
+ - 1
+ - token:
+ - get_input: st_static_routes_list
+ - ','
+ - 2
+ - token:
+ - get_input: st_static_routes_list
+ - ','
+ - 3
+ service_template_name:
+ get_input: st_name
+ service_interface_type_list:
+ - token:
+ - management,left,right,other
+ - ','
+ - 0
+ - token:
+ - management,left,right,other
+ - ','
+ - 1
+ - token:
+ - management,left,right,other
+ - ','
+ - 2
+ - token:
+ - management,left,right,other
+ - ','
+ - 3
+ interface_list:
+ - virtual_network:
+ get_input: oam_mgmt_net_0_id
+ - virtual_network:
+ get_input: Cricket_OCS_direct_net_id
+ - virtual_network: hsl_direct_net1
+ - static_routes:
+ - prefix:
+ get_input: prefix_0
+ - prefix:
+ get_input: prefix_1
+ - prefix:
+ get_input: prefix_2
+ virtual_network:
+ get_input: oam_mgmt_net_1_id
+ service_instance_name:
+ get_input: service_instance_name
+ service_mode:
+ get_input: st_mode
+ shared_ip_list:
+ - token:
+ - get_input: st_shared_ip_list
+ - ','
+ - 0
+ - token:
+ - get_input: st_shared_ip_list
+ - ','
+ - 1
+ - token:
+ - get_input: st_shared_ip_list
+ - ','
+ - 2
+ - token:
+ - get_input: st_shared_ip_list
+ - ','
+ - 3
+ requirements:
+ - link_port_2:
+ capability: tosca.capabilities.network.Linkable
+ node: hsl_direct_net1
+ relationship: tosca.relationships.network.LinksTo
+ - dependency:
+ capability: tosca.capabilities.Node
+ node: hsl_direct_net1
+ relationship: tosca.relationships.DependsOn
+ service_instance_2:
+ type: org.openecomp.resource.abstract.nodes.heat.service_template
+ directives:
+ - substitutable
+ properties:
+ flavor:
+ get_input: st_flavor
+ availability_zone:
+ get_input: availability_zone_1
+ image_name:
+ get_input: st_image
+ service_template_filter:
+ substitute_service_template: service_instance_2ServiceTemplate.yaml
+ count:
+ get_input: max_num_fw_instances
+ scaling_enabled:
+ get_input: st_scaling
+ mandatory: false
+ service_type:
+ get_input: st_type
+ static_routes_list:
+ - token:
+ - get_input: st_static_routes_list
+ - ','
+ - 0
+ - token:
+ - get_input: st_static_routes_list
+ - ','
+ - 1
+ - token:
+ - get_input: st_static_routes_list
+ - ','
+ - 2
+ - token:
+ - get_input: st_static_routes_list
+ - ','
+ - 3
+ service_template_name:
+ get_input: st_name
+ service_interface_type_list:
+ - token:
+ - management,left,right,other
+ - ','
+ - 0
+ - token:
+ - management,left,right,other
+ - ','
+ - 1
+ - token:
+ - management,left,right,other
+ - ','
+ - 2
+ - token:
+ - management,left,right,other
+ - ','
+ - 3
+ interface_list:
+ - virtual_network:
+ get_input: oam_mgmt_net_0_id
+ - virtual_network:
+ get_input: Cricket_OCS_direct_net_id
+ - virtual_network: hsl_direct_net2
+ - static_routes:
+ - prefix:
+ get_input: prefix_0
+ - prefix:
+ get_input: prefix_1
+ - prefix:
+ get_input: prefix_2
+ virtual_network:
+ get_input: oam_mgmt_net_1_id
+ service_instance_name:
+ get_input: service_instance_name
+ service_mode:
+ get_input: st_mode
+ shared_ip_list:
+ - token:
+ - get_input: st_shared_ip_list
+ - ','
+ - 0
+ - token:
+ - get_input: st_shared_ip_list
+ - ','
+ - 1
+ - token:
+ - get_input: st_shared_ip_list
+ - ','
+ - 2
+ - token:
+ - get_input: st_shared_ip_list
+ - ','
+ - 3
+ requirements:
+ - link_port_2:
+ capability: tosca.capabilities.network.Linkable
+ node: hsl_direct_net2
+ relationship: tosca.relationships.network.LinksTo
+ - dependency:
+ capability: tosca.capabilities.Node
+ node: hsl_direct_net1
+ relationship: tosca.relationships.DependsOn
+ hsl_direct_net1:
+ type: org.openecomp.resource.vl.nodes.heat.network.contrail.VirtualNetwork
+ properties:
+ network_name:
+ get_input: HSL_direct_net_id
+ subnets:
+ hsl_ip_subnet:
+ cidr:
+ get_input: HSL_direct_net_cidr
+ gateway_ip:
+ get_input: HSL_direct_net_gateway
+ hsl_direct_net2:
+ type: org.openecomp.resource.vl.nodes.heat.network.contrail.VirtualNetwork
+ properties:
+ network_name:
+ get_input: HSL_direct_net_id
+ service_policy:
+ type: org.openecomp.resource.vfc.rules.nodes.heat.network.contrail.NetworkRules
+ properties:
+ entries:
+ policy_rule:
+ - src_ports:
+ - start_port:
+ get_input: start_src_ports
+ end_port:
+ get_input: end_src_ports
+ protocol: any
+ action_list:
+ apply_service:
+ - service_instance_1
+ dst_addresses:
+ - virtual_network:
+ get_input: Cricket_OCS_direct_net_id
+ dst_ports:
+ - start_port:
+ get_input: start_dst_ports
+ end_port:
+ get_input: end_dst_ports
+ src_addresses:
+ - virtual_network:
+ get_input: Cricket_OCS_protected_net_id
+ direction:
+ get_input: service_policy_direction
+ name:
+ get_input: service_policy_name
+ requirements:
+ - dependency:
+ capability: tosca.capabilities.Node
+ node: service_instance_1
+ relationship: tosca.relationships.DependsOn
+ groups:
+ OCS-fw:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/OCS-fw.yml
+ description: |
+ Based on the following reference for the HOT-DMZ-FW template: Version 3.5 8-10-2015 (Authors: Art Mishurov,am254u & Johhny Chen, jc3066) - HOT-DMZ-FW template that creates two DMZ networks (direct and protected) with a scaled out firewall service between the two.
+ members:
+ - service_instance_1
+ - service_instance_2
+ - hsl_direct_net1
+ - hsl_direct_net2
+ - service_policy \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sameServiceTemplate/expectedoutputfiles/service_instance_1ServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sameServiceTemplate/expectedoutputfiles/service_instance_1ServiceTemplate.yaml
new file mode 100644
index 0000000000..4b53e28b6f
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sameServiceTemplate/expectedoutputfiles/service_instance_1ServiceTemplate.yaml
@@ -0,0 +1,407 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: service_instance_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
+topology_template:
+ inputs:
+ availability_zone:
+ hidden: false
+ immutable: false
+ type: string
+ description: Availability zone to create servers in
+ required: false
+ status: SUPPORTED
+ static_routes_list:
+ hidden: false
+ immutable: false
+ type: list
+ description: Static routes enabled
+ required: false
+ status: SUPPORTED
+ entry_schema:
+ type: boolean
+ availability_zone_enable:
+ hidden: false
+ immutable: false
+ type: boolean
+ description: Indicates availability zone is enabled
+ required: false
+ default: false
+ status: SUPPORTED
+ service_template_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service template name
+ required: false
+ status: SUPPORTED
+ ordered_interfaces:
+ hidden: false
+ immutable: false
+ type: boolean
+ description: Indicates if service interface are ordered
+ required: false
+ default: false
+ status: SUPPORTED
+ flavor:
+ hidden: false
+ immutable: false
+ type: string
+ description: flavor
+ required: false
+ status: SUPPORTED
+ image_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Image name
+ required: true
+ status: SUPPORTED
+ service_type:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service type
+ required: true
+ status: SUPPORTED
+ constraints:
+ - valid_values:
+ - firewall
+ - analyzer
+ - source-nat
+ - loadbalancer
+ service_interface_type_list:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of interface types
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ constraints:
+ - valid_values:
+ - management
+ - left
+ - right
+ - other
+ service_instance_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service instance name
+ required: true
+ status: SUPPORTED
+ interface_list:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of interfaces
+ required: false
+ status: SUPPORTED
+ entry_schema:
+ type: org.openecomp.datatypes.heat.network.contrail.InterfaceData
+ service_mode:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service mode
+ required: true
+ status: SUPPORTED
+ constraints:
+ - valid_values:
+ - transparent
+ - in-network
+ - in-network-nat
+ shared_ip_list:
+ hidden: false
+ immutable: false
+ type: list
+ description: Shared ips enabled
+ required: false
+ status: SUPPORTED
+ entry_schema:
+ type: boolean
+ node_templates:
+ service_instance_1:
+ type: org.openecomp.resource.vfc.nodes.heat.compute_service_template
+ properties:
+ flavor:
+ get_input: flavor
+ image_name:
+ get_input: image_name
+ availability_zone:
+ get_input: availability_zone
+ service_type:
+ get_input: service_type
+ availability_zone_enable:
+ get_input: availability_zone_enable
+ service_template_name:
+ get_input: service_template_name
+ service_instance_name:
+ get_input: service_instance_name
+ service_mode:
+ get_input: service_mode
+ port_0:
+ type: org.openecomp.resource.cp.nodes.heat.network.contrail.Port
+ properties:
+ static_routes:
+ get_input:
+ - interface_list
+ - 0
+ - static_routes
+ virtual_network:
+ get_input:
+ - interface_list
+ - 0
+ - virtual_network
+ static_route:
+ get_input:
+ - static_routes_list
+ - 0
+ allowed_address_pairs:
+ get_input:
+ - interface_list
+ - 0
+ - allowed_address_pairs
+ shared_ip:
+ get_input:
+ - shared_ip_list
+ - 0
+ ip_address:
+ get_input:
+ - interface_list
+ - 0
+ - ip_address
+ interface_type:
+ get_input:
+ - service_interface_type_list
+ - 0
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: service_instance_1
+ relationship: tosca.relationships.network.BindsTo
+ port_1:
+ type: org.openecomp.resource.cp.nodes.heat.network.contrail.Port
+ properties:
+ static_routes:
+ get_input:
+ - interface_list
+ - 1
+ - static_routes
+ virtual_network:
+ get_input:
+ - interface_list
+ - 1
+ - virtual_network
+ static_route:
+ get_input:
+ - static_routes_list
+ - 1
+ allowed_address_pairs:
+ get_input:
+ - interface_list
+ - 1
+ - allowed_address_pairs
+ shared_ip:
+ get_input:
+ - shared_ip_list
+ - 1
+ ip_address:
+ get_input:
+ - interface_list
+ - 1
+ - ip_address
+ interface_type:
+ get_input:
+ - service_interface_type_list
+ - 1
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: service_instance_1
+ relationship: tosca.relationships.network.BindsTo
+ port_2:
+ type: org.openecomp.resource.cp.nodes.heat.network.contrail.Port
+ properties:
+ static_routes:
+ get_input:
+ - interface_list
+ - 2
+ - static_routes
+ virtual_network:
+ get_input:
+ - interface_list
+ - 2
+ - virtual_network
+ static_route:
+ get_input:
+ - static_routes_list
+ - 2
+ allowed_address_pairs:
+ get_input:
+ - interface_list
+ - 2
+ - allowed_address_pairs
+ shared_ip:
+ get_input:
+ - shared_ip_list
+ - 2
+ ip_address:
+ get_input:
+ - interface_list
+ - 2
+ - ip_address
+ interface_type:
+ get_input:
+ - service_interface_type_list
+ - 2
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: service_instance_1
+ relationship: tosca.relationships.network.BindsTo
+ port_3:
+ type: org.openecomp.resource.cp.nodes.heat.network.contrail.Port
+ properties:
+ static_routes:
+ get_input:
+ - interface_list
+ - 3
+ - static_routes
+ virtual_network:
+ get_input:
+ - interface_list
+ - 3
+ - virtual_network
+ static_route:
+ get_input:
+ - static_routes_list
+ - 3
+ allowed_address_pairs:
+ get_input:
+ - interface_list
+ - 3
+ - allowed_address_pairs
+ shared_ip:
+ get_input:
+ - shared_ip_list
+ - 3
+ ip_address:
+ get_input:
+ - interface_list
+ - 3
+ - ip_address
+ interface_type:
+ get_input:
+ - service_interface_type_list
+ - 3
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: service_instance_1
+ relationship: tosca.relationships.network.BindsTo
+ groups:
+ service_instance_1:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/OCS-fw.yml
+ members:
+ - service_instance_1
+ - port_0
+ - port_1
+ - port_2
+ - port_3
+ outputs:
+ tenant_id:
+ description: Tenant id of the Service Instance
+ value:
+ get_attribute:
+ - service_instance_1
+ - tenant_id
+ fq_name:
+ description: The FQ name of the service instance
+ value:
+ get_attribute:
+ - service_instance_1
+ - fq_name
+ service_template_name:
+ description: Service Template of the Service Instance
+ value:
+ get_attribute:
+ - service_instance_1
+ - service_template_name
+ show:
+ description: All attributes
+ value:
+ get_attribute:
+ - service_instance_1
+ - show
+ active_vms:
+ description: Number of service VMs active for this Service Instance
+ value:
+ get_attribute:
+ - service_instance_1
+ - active_vms
+ service_instance_name:
+ description: The name of the service instance
+ value:
+ get_attribute:
+ - service_instance_1
+ - service_instance_name
+ virtual_machines:
+ description: Service VMs for the Service Instance
+ value:
+ get_attribute:
+ - service_instance_1
+ - virtual_machines
+ status:
+ description: Status of the service instance
+ value:
+ get_attribute:
+ - service_instance_1
+ - status
+ substitution_mappings:
+ node_type: org.openecomp.resource.abstract.nodes.heat.service_template
+ requirements:
+ link_port_0:
+ - port_0
+ - link
+ link_port_1:
+ - port_1
+ - link
+ link_port_2:
+ - port_2
+ - link
+ link_port_3:
+ - port_3
+ - 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/services/heattotosca/contrail2serviceinstance/sameServiceTemplate/expectedoutputfiles/service_instance_2ServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sameServiceTemplate/expectedoutputfiles/service_instance_2ServiceTemplate.yaml
new file mode 100644
index 0000000000..f0e67ea99c
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sameServiceTemplate/expectedoutputfiles/service_instance_2ServiceTemplate.yaml
@@ -0,0 +1,407 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: service_instance_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
+topology_template:
+ inputs:
+ availability_zone:
+ hidden: false
+ immutable: false
+ type: string
+ description: Availability zone to create servers in
+ required: false
+ status: SUPPORTED
+ static_routes_list:
+ hidden: false
+ immutable: false
+ type: list
+ description: Static routes enabled
+ required: false
+ status: SUPPORTED
+ entry_schema:
+ type: boolean
+ availability_zone_enable:
+ hidden: false
+ immutable: false
+ type: boolean
+ description: Indicates availability zone is enabled
+ required: false
+ default: false
+ status: SUPPORTED
+ service_template_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service template name
+ required: false
+ status: SUPPORTED
+ ordered_interfaces:
+ hidden: false
+ immutable: false
+ type: boolean
+ description: Indicates if service interface are ordered
+ required: false
+ default: false
+ status: SUPPORTED
+ flavor:
+ hidden: false
+ immutable: false
+ type: string
+ description: flavor
+ required: false
+ status: SUPPORTED
+ image_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Image name
+ required: true
+ status: SUPPORTED
+ service_type:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service type
+ required: true
+ status: SUPPORTED
+ constraints:
+ - valid_values:
+ - firewall
+ - analyzer
+ - source-nat
+ - loadbalancer
+ service_interface_type_list:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of interface types
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ constraints:
+ - valid_values:
+ - management
+ - left
+ - right
+ - other
+ service_instance_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service instance name
+ required: true
+ status: SUPPORTED
+ interface_list:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of interfaces
+ required: false
+ status: SUPPORTED
+ entry_schema:
+ type: org.openecomp.datatypes.heat.network.contrail.InterfaceData
+ service_mode:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service mode
+ required: true
+ status: SUPPORTED
+ constraints:
+ - valid_values:
+ - transparent
+ - in-network
+ - in-network-nat
+ shared_ip_list:
+ hidden: false
+ immutable: false
+ type: list
+ description: Shared ips enabled
+ required: false
+ status: SUPPORTED
+ entry_schema:
+ type: boolean
+ node_templates:
+ service_instance_2:
+ type: org.openecomp.resource.vfc.nodes.heat.compute_service_template
+ properties:
+ flavor:
+ get_input: flavor
+ image_name:
+ get_input: image_name
+ availability_zone:
+ get_input: availability_zone
+ service_type:
+ get_input: service_type
+ availability_zone_enable:
+ get_input: availability_zone_enable
+ service_template_name:
+ get_input: service_template_name
+ service_instance_name:
+ get_input: service_instance_name
+ service_mode:
+ get_input: service_mode
+ port_0:
+ type: org.openecomp.resource.cp.nodes.heat.network.contrail.Port
+ properties:
+ static_routes:
+ get_input:
+ - interface_list
+ - 0
+ - static_routes
+ virtual_network:
+ get_input:
+ - interface_list
+ - 0
+ - virtual_network
+ static_route:
+ get_input:
+ - static_routes_list
+ - 0
+ allowed_address_pairs:
+ get_input:
+ - interface_list
+ - 0
+ - allowed_address_pairs
+ shared_ip:
+ get_input:
+ - shared_ip_list
+ - 0
+ ip_address:
+ get_input:
+ - interface_list
+ - 0
+ - ip_address
+ interface_type:
+ get_input:
+ - service_interface_type_list
+ - 0
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: service_instance_2
+ relationship: tosca.relationships.network.BindsTo
+ port_1:
+ type: org.openecomp.resource.cp.nodes.heat.network.contrail.Port
+ properties:
+ static_routes:
+ get_input:
+ - interface_list
+ - 1
+ - static_routes
+ virtual_network:
+ get_input:
+ - interface_list
+ - 1
+ - virtual_network
+ static_route:
+ get_input:
+ - static_routes_list
+ - 1
+ allowed_address_pairs:
+ get_input:
+ - interface_list
+ - 1
+ - allowed_address_pairs
+ shared_ip:
+ get_input:
+ - shared_ip_list
+ - 1
+ ip_address:
+ get_input:
+ - interface_list
+ - 1
+ - ip_address
+ interface_type:
+ get_input:
+ - service_interface_type_list
+ - 1
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: service_instance_2
+ relationship: tosca.relationships.network.BindsTo
+ port_2:
+ type: org.openecomp.resource.cp.nodes.heat.network.contrail.Port
+ properties:
+ static_routes:
+ get_input:
+ - interface_list
+ - 2
+ - static_routes
+ virtual_network:
+ get_input:
+ - interface_list
+ - 2
+ - virtual_network
+ static_route:
+ get_input:
+ - static_routes_list
+ - 2
+ allowed_address_pairs:
+ get_input:
+ - interface_list
+ - 2
+ - allowed_address_pairs
+ shared_ip:
+ get_input:
+ - shared_ip_list
+ - 2
+ ip_address:
+ get_input:
+ - interface_list
+ - 2
+ - ip_address
+ interface_type:
+ get_input:
+ - service_interface_type_list
+ - 2
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: service_instance_2
+ relationship: tosca.relationships.network.BindsTo
+ port_3:
+ type: org.openecomp.resource.cp.nodes.heat.network.contrail.Port
+ properties:
+ static_routes:
+ get_input:
+ - interface_list
+ - 3
+ - static_routes
+ virtual_network:
+ get_input:
+ - interface_list
+ - 3
+ - virtual_network
+ static_route:
+ get_input:
+ - static_routes_list
+ - 3
+ allowed_address_pairs:
+ get_input:
+ - interface_list
+ - 3
+ - allowed_address_pairs
+ shared_ip:
+ get_input:
+ - shared_ip_list
+ - 3
+ ip_address:
+ get_input:
+ - interface_list
+ - 3
+ - ip_address
+ interface_type:
+ get_input:
+ - service_interface_type_list
+ - 3
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: service_instance_2
+ relationship: tosca.relationships.network.BindsTo
+ groups:
+ service_instance_2:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/OCS-fw.yml
+ members:
+ - service_instance_2
+ - port_0
+ - port_1
+ - port_2
+ - port_3
+ outputs:
+ tenant_id:
+ description: Tenant id of the Service Instance
+ value:
+ get_attribute:
+ - service_instance_2
+ - tenant_id
+ fq_name:
+ description: The FQ name of the service instance
+ value:
+ get_attribute:
+ - service_instance_2
+ - fq_name
+ service_template_name:
+ description: Service Template of the Service Instance
+ value:
+ get_attribute:
+ - service_instance_2
+ - service_template_name
+ show:
+ description: All attributes
+ value:
+ get_attribute:
+ - service_instance_2
+ - show
+ active_vms:
+ description: Number of service VMs active for this Service Instance
+ value:
+ get_attribute:
+ - service_instance_2
+ - active_vms
+ service_instance_name:
+ description: The name of the service instance
+ value:
+ get_attribute:
+ - service_instance_2
+ - service_instance_name
+ virtual_machines:
+ description: Service VMs for the Service Instance
+ value:
+ get_attribute:
+ - service_instance_2
+ - virtual_machines
+ status:
+ description: Status of the service instance
+ value:
+ get_attribute:
+ - service_instance_2
+ - status
+ substitution_mappings:
+ node_type: org.openecomp.resource.abstract.nodes.heat.service_template
+ requirements:
+ link_port_0:
+ - port_0
+ - link
+ link_port_1:
+ - port_1
+ - link
+ link_port_2:
+ - port_2
+ - link
+ link_port_3:
+ - port_3
+ - 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/services/heattotosca/contrail2serviceinstance/sameServiceTemplate/inputfiles/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sameServiceTemplate/inputfiles/MANIFEST.json
new file mode 100644
index 0000000000..a26430ba72
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sameServiceTemplate/inputfiles/MANIFEST.json
@@ -0,0 +1,12 @@
+{
+ "name": "vMME_Small",
+ "description": "HOT template to create 2 cinder volume attachment",
+ "version": "2013-05-23",
+ "data": [
+ {
+ "file": "OCS-fw.yml",
+ "type": "HEAT",
+ "isBase": "false"
+ }
+ ]
+}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sameServiceTemplate/inputfiles/OCS-fw.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sameServiceTemplate/inputfiles/OCS-fw.yml
new file mode 100644
index 0000000000..0082148f77
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sameServiceTemplate/inputfiles/OCS-fw.yml
@@ -0,0 +1,213 @@
+heat_template_version: 2013-05-23
+
+description: >
+ Based on the following reference for the HOT-DMZ-FW template:
+ Version 3.5 8-10-2015 (Authors: Art Mishurov,am254u & Johhny Chen, jc3066) - HOT-DMZ-FW template that creates two DMZ networks (direct and protected) with a scaled out firewall service between the two.
+
+parameters:
+ HSL_direct_net_id:
+ type: string
+ description: Name of HSL (Logging) network
+ prefix_0:
+ type: string
+ prefix_1:
+ type: string
+ prefix_2:
+ type: string
+ HSL_direct_net_cidr:
+ type: string
+ description: HSL (Logging) network address (CIDR notation)
+ HSL_direct_net_gateway:
+ type: string
+ description: HSL (Logging) network gateway address
+ oam_mgmt_net_0_id:
+ type: string
+ description: Name of OAM network
+ oam_mgmt_net_1_id:
+ type: string
+ description: Name of OAM network
+ Cricket_OCS_direct_net_id:
+ type: string
+ description: Name of Cricket OCS network
+ Cricket_OCS_protected_net_id:
+ type: string
+ description: Name of Cricket OCS network
+ service_instance_name:
+ type: string
+ description: Service instance name
+ service_policy_name:
+ type: string
+ description: Policy Name
+ service_policy_direction:
+ type: string
+ description: Direction of Policy
+ start_src_ports:
+ type: number
+ description: Start of src port
+ end_src_ports:
+ type: number
+ description: End of src port
+ start_dst_ports:
+ type: number
+ description: Start of dst port
+ end_dst_ports:
+ type: number
+ description: End of dst port
+ st_name:
+ type: string
+ description: Name of service template
+ st_mode:
+ type: string
+ description: service mode
+ st_type:
+ type: string
+ description: service type
+ st_image:
+ type: string
+ description: Name of the image
+ st_image_name:
+ type: string
+ description: Name of the image
+ st_flavor:
+ type: string
+ description: Flavor
+ st_service_interface_type_list:
+ type: string
+ description: List of interface types
+ st_shared_ip_list:
+ type: string
+ description: List of shared ip enabled-disabled
+ st_static_routes_list:
+ type: string
+ description: List of static routes enabled-disabled
+ st_scaling:
+ type: string
+ description: Indicates whether service scaling is enabled
+ max_num_fw_instances:
+ type: number
+ description: maximum number of firewall instances for scaling
+ availability_zone_1:
+ type: string
+ description: availability zone
+
+resources:
+
+ hsl_direct_net1:
+ type: OS::Contrail::VirtualNetwork
+ properties:
+ name: { get_param: HSL_direct_net_id }
+# external: True
+
+ hsl_direct_net2:
+ type: OS::Contrail::VirtualNetwork
+ properties:
+ name: { get_param: HSL_direct_net_id }
+# external: True
+
+ hsl_ip_subnet:
+ type: OS::Neutron::Subnet
+ properties:
+ network_id: { get_resource: hsl_direct_net1 }
+ cidr: { get_param: HSL_direct_net_cidr }
+ gateway_ip: { get_param: HSL_direct_net_gateway }
+
+ service_template:
+ type: OS::Contrail::ServiceTemplate
+ properties:
+ name: { get_param: st_name }
+ service_mode: { get_param: st_mode }
+ service_type: { get_param: st_type }
+ image_name: { get_param: st_image }
+ flavor: { get_param: st_flavor }
+ service_interface_type_list: { "Fn::Split" : [ ",", "management,left,right,other" ] }
+ shared_ip_list: { "Fn::Split" : [ ",", Ref: st_shared_ip_list ] }
+ static_routes_list: { "Fn::Split" : [ ",", Ref: st_static_routes_list ] }
+ service_scaling: { get_param: st_scaling }
+
+ service_instance_1:
+ type: OS::Contrail::ServiceInstance
+ depends_on: [ hsl_ip_subnet]
+ properties:
+ name: { get_param: service_instance_name }
+ availability_zone: { get_param: availability_zone_1 }
+ service_template: { get_resource: service_template }
+ interface_list: [
+ {
+ virtual_network: { get_param: oam_mgmt_net_0_id }
+ },
+ {
+ virtual_network: { get_param: Cricket_OCS_direct_net_id }
+ },
+ {
+ virtual_network: { get_resource: hsl_direct_net1 }
+ },
+ {
+ virtual_network: {get_param: oam_mgmt_net_1_id},
+ static_routes: [
+ { "prefix": {get_param: prefix_0} },
+ { "prefix": {get_param: prefix_1} },
+ { "prefix": {get_param: prefix_2} },
+ ],
+ }
+ ]
+
+ service_instance_2:
+ type: OS::Contrail::ServiceInstance
+ depends_on: [ hsl_ip_subnet]
+ properties:
+ name: { get_param: service_instance_name }
+ availability_zone: { get_param: availability_zone_1 }
+ service_template: { get_resource: service_template }
+ scale_out:
+ max_instances: {get_param: max_num_fw_instances}
+ interface_list: [
+ {
+ virtual_network: { get_param: oam_mgmt_net_0_id }
+ },
+ {
+ virtual_network: { get_param: Cricket_OCS_direct_net_id }
+ },
+ {
+ virtual_network: { get_resource: hsl_direct_net2 }
+ },
+ {
+ virtual_network: {get_param: oam_mgmt_net_1_id},
+ static_routes: [
+ { "prefix": {get_param: prefix_0} },
+ { "prefix": {get_param: prefix_1} },
+ { "prefix": {get_param: prefix_2} },
+ ],
+ }
+ ]
+
+ service_policy:
+ type: OS::Contrail::NetworkPolicy
+ depends_on: [ service_instance_1 ]
+ properties:
+ name: { get_param: service_policy_name }
+ entries:
+ policy_rule: [
+ {
+ "direction": { get_param: service_policy_direction },
+ "protocol": "any",
+ "src_ports": [{"start_port": {get_param: start_src_ports}, "end_port": {get_param: end_src_ports}}],
+ "dst_ports": [{"start_port": {get_param: start_dst_ports}, "end_port": {get_param: end_dst_ports}}],
+ "dst_addresses": [{ "virtual_network": { get_param: Cricket_OCS_direct_net_id }}],
+ "action_list": { "apply_service": [{ get_resource: service_instance_1 }]},
+ "src_addresses": [{ "virtual_network": { get_param: Cricket_OCS_protected_net_id }}],
+ },
+ ]
+
+ service_policy_attach_direct_net:
+ type: OS::Contrail::AttachPolicy
+ depends_on: [ service_policy ]
+ properties:
+ network: { get_param: Cricket_OCS_direct_net_id }
+ policy: { get_attr: [service_policy, fq_name] }
+
+ service_policy_attach_protected_net:
+ type: OS::Contrail::AttachPolicy
+ depends_on: [ service_policy ]
+ properties:
+ network: { get_param: Cricket_OCS_protected_net_id }
+ policy: { get_attr: [service_policy, fq_name] } \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkMulti/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkMulti/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml
new file mode 100644
index 0000000000..73abe8ecb0
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkMulti/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml
@@ -0,0 +1,71 @@
+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.service_template:
+ derived_from: org.openecomp.resource.abstract.nodes.contrail.AbstractSubstitute
+ requirements:
+ - link_port_0:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_port_1:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_port_2:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_port_3:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_port_4:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ org.openecomp.resource.vfc.nodes.heat.compute_service_template:
+ derived_from: org.openecomp.resource.vfc.nodes.heat.contrail.Compute \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkMulti/expectedoutputfiles/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkMulti/expectedoutputfiles/MainServiceTemplate.yaml
new file mode 100644
index 0000000000..c6a6364988
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkMulti/expectedoutputfiles/MainServiceTemplate.yaml
@@ -0,0 +1,407 @@
+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:
+ Internal1_shared:
+ hidden: false
+ immutable: false
+ type: string
+ service_policy_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Policy Name
+ st_static_routes_list:
+ hidden: false
+ immutable: false
+ type: string
+ description: List of static routes enabled-disabled
+ st_type:
+ hidden: false
+ immutable: false
+ type: string
+ description: service type
+ Internal2_forwarding_mode:
+ hidden: false
+ immutable: false
+ type: string
+ st_service_interface_type_list:
+ hidden: false
+ immutable: false
+ type: string
+ description: List of interface types
+ st_mode:
+ hidden: false
+ immutable: false
+ type: string
+ description: service mode
+ Cricket_OCS_protected_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Name of Cricket OCS network
+ oam_mgmt_net_0_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Name of OAM network
+ start_dst_ports:
+ hidden: false
+ immutable: false
+ type: float
+ description: Start of dst port
+ st_flavor:
+ hidden: false
+ immutable: false
+ type: string
+ description: Flavor
+ availability_zone_1:
+ hidden: false
+ immutable: false
+ type: string
+ description: availability zone
+ Internal2_shared:
+ hidden: false
+ immutable: false
+ type: string
+ service_instance_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service instance name
+ st_scaling:
+ hidden: false
+ immutable: false
+ type: string
+ description: Indicates whether service scaling is enabled
+ max_num_fw_instances:
+ hidden: false
+ immutable: false
+ type: float
+ description: maximum number of firewall instances for scaling
+ Internal1_net_name:
+ hidden: false
+ immutable: false
+ type: string
+ start_src_ports:
+ hidden: false
+ immutable: false
+ type: float
+ description: Start of src port
+ service_policy_direction:
+ hidden: false
+ immutable: false
+ type: string
+ description: Direction of Policy
+ st_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Name of service template
+ Internal2_net_name:
+ hidden: false
+ immutable: false
+ type: string
+ hsl_direct_net3:
+ hidden: false
+ immutable: false
+ type: string
+ hsl_direct_net4:
+ hidden: false
+ immutable: false
+ type: string
+ HSL_direct_net_gateway:
+ hidden: false
+ immutable: false
+ type: string
+ description: HSL (Logging) network gateway address
+ hsl_direct_net1:
+ hidden: false
+ immutable: false
+ type: string
+ hsl_direct_net2:
+ hidden: false
+ immutable: false
+ type: string
+ st_image:
+ hidden: false
+ immutable: false
+ type: string
+ description: Name of the image
+ st_shared_ip_list:
+ hidden: false
+ immutable: false
+ type: string
+ description: List of shared ip enabled-disabled
+ Cricket_OCS_direct_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Name of Cricket OCS network
+ Internal1_forwarding_mode:
+ hidden: false
+ immutable: false
+ type: string
+ end_src_ports:
+ hidden: false
+ immutable: false
+ type: float
+ description: End of src port
+ end_dst_ports:
+ hidden: false
+ immutable: false
+ type: float
+ description: End of dst port
+ HSL_direct_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Name of HSL (Logging) network
+ HSL_direct_net_cidr:
+ hidden: false
+ immutable: false
+ type: string
+ description: HSL (Logging) network address (CIDR notation)
+ node_templates:
+ Internal2-net:
+ type: org.openecomp.resource.vl.nodes.heat.network.contrail.VirtualNetwork
+ properties:
+ shared:
+ get_input: Internal1_shared
+ forwarding_mode:
+ get_input: Internal1_forwarding_mode
+ network_name:
+ get_input: Internal2_net_name
+ Internal1-net:
+ type: org.openecomp.resource.vl.nodes.heat.network.contrail.VirtualNetwork
+ properties:
+ shared:
+ get_input: Internal1_shared
+ forwarding_mode:
+ get_input: Internal1_forwarding_mode
+ network_name:
+ get_input: Internal1_net_name
+ Internal3-net:
+ type: org.openecomp.resource.vl.nodes.heat.network.contrail.VirtualNetwork
+ properties:
+ shared:
+ get_input: Internal1_shared
+ forwarding_mode:
+ get_input: Internal1_forwarding_mode
+ network_name:
+ get_input: Internal2_net_name
+ hsl_direct_net:
+ type: org.openecomp.resource.vl.nodes.heat.network.contrail.VirtualNetwork
+ properties:
+ network_name:
+ get_input: HSL_direct_net_id
+ subnets:
+ hsl_ip_subnet:
+ cidr:
+ get_input: HSL_direct_net_cidr
+ gateway_ip:
+ get_input: HSL_direct_net_gateway
+ service_instance:
+ type: org.openecomp.resource.abstract.nodes.heat.service_template
+ directives:
+ - substitutable
+ properties:
+ flavor:
+ get_input: st_flavor
+ availability_zone:
+ get_input: availability_zone_1
+ image_name:
+ get_input: st_image
+ service_template_filter:
+ substitute_service_template: service_instanceServiceTemplate.yaml
+ count:
+ get_input: max_num_fw_instances
+ scaling_enabled:
+ get_input: st_scaling
+ mandatory: false
+ service_type:
+ get_input: st_type
+ static_routes_list:
+ - token:
+ - get_input: st_static_routes_list
+ - ','
+ - 0
+ - token:
+ - get_input: st_static_routes_list
+ - ','
+ - 1
+ - token:
+ - get_input: st_static_routes_list
+ - ','
+ - 2
+ - token:
+ - get_input: st_static_routes_list
+ - ','
+ - 3
+ - token:
+ - get_input: st_static_routes_list
+ - ','
+ - 4
+ service_template_name:
+ get_input: st_name
+ service_interface_type_list:
+ - token:
+ - get_input: st_service_interface_type_list
+ - ','
+ - 0
+ - token:
+ - get_input: st_service_interface_type_list
+ - ','
+ - 1
+ - token:
+ - get_input: st_service_interface_type_list
+ - ','
+ - 2
+ - token:
+ - get_input: st_service_interface_type_list
+ - ','
+ - 3
+ - token:
+ - get_input: st_service_interface_type_list
+ - ','
+ - 4
+ interface_list:
+ - virtual_network:
+ get_input: hsl_direct_net1
+ - virtual_network:
+ get_input: hsl_direct_net2
+ - virtual_network:
+ get_input: hsl_direct_net3
+ - virtual_network:
+ get_input: hsl_direct_net4
+ - virtual_network: hsl_direct_net
+ service_instance_name:
+ get_input: service_instance_name
+ service_mode:
+ get_input: st_mode
+ shared_ip_list:
+ - token:
+ - get_input: st_shared_ip_list
+ - ','
+ - 0
+ - token:
+ - get_input: st_shared_ip_list
+ - ','
+ - 1
+ - token:
+ - get_input: st_shared_ip_list
+ - ','
+ - 2
+ - token:
+ - get_input: st_shared_ip_list
+ - ','
+ - 3
+ - token:
+ - get_input: st_shared_ip_list
+ - ','
+ - 4
+ requirements:
+ - link_port_0:
+ capability: tosca.capabilities.network.Linkable
+ node: Internal1-net
+ relationship: tosca.relationships.network.LinksTo
+ - link_port_1:
+ capability: tosca.capabilities.network.Linkable
+ node: Internal2-net
+ relationship: tosca.relationships.network.LinksTo
+ - link_port_2:
+ capability: tosca.capabilities.network.Linkable
+ node: Internal3-net
+ relationship: tosca.relationships.network.LinksTo
+ - link_port_4:
+ capability: tosca.capabilities.network.Linkable
+ node: hsl_direct_net
+ relationship: tosca.relationships.network.LinksTo
+ - dependency:
+ capability: tosca.capabilities.Node
+ node: hsl_direct_net
+ relationship: tosca.relationships.DependsOn
+ service_policy:
+ type: org.openecomp.resource.vfc.rules.nodes.heat.network.contrail.NetworkRules
+ properties:
+ entries:
+ policy_rule:
+ - src_ports:
+ - start_port:
+ get_input: start_src_ports
+ end_port:
+ get_input: end_src_ports
+ protocol: any
+ action_list:
+ apply_service:
+ - service_instance
+ dst_addresses:
+ - virtual_network:
+ get_input: Cricket_OCS_direct_net_id
+ dst_ports:
+ - start_port:
+ get_input: start_dst_ports
+ end_port:
+ get_input: end_dst_ports
+ src_addresses:
+ - virtual_network:
+ get_input: Cricket_OCS_protected_net_id
+ direction:
+ get_input: service_policy_direction
+ name:
+ get_input: service_policy_name
+ requirements:
+ - dependency:
+ capability: tosca.capabilities.Node
+ node: service_instance
+ relationship: tosca.relationships.DependsOn
+ groups:
+ OCS-fw:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/OCS-fw.yml
+ description: |
+ Based on the following reference for the HOT-DMZ-FW template: Version 3.5 8-10-2015 (Authors: Art Mishurov,am254u & Johhny Chen, jc3066) - HOT-DMZ-FW template that creates two DMZ networks (direct and protected) with a scaled out firewall service between the two.
+ members:
+ - hsl_direct_net
+ - service_instance
+ - service_policy
+ network_base:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/network_base.yml
+ description: ASC External Networks Template
+ members:
+ - Internal2-net
+ - Internal1-net
+ - Internal3-net \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkMulti/expectedoutputfiles/service_instanceServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkMulti/expectedoutputfiles/service_instanceServiceTemplate.yaml
new file mode 100644
index 0000000000..1933f88f6c
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkMulti/expectedoutputfiles/service_instanceServiceTemplate.yaml
@@ -0,0 +1,451 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: service_instance
+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:
+ availability_zone:
+ hidden: false
+ immutable: false
+ type: string
+ description: Availability zone to create servers in
+ required: false
+ status: SUPPORTED
+ static_routes_list:
+ hidden: false
+ immutable: false
+ type: list
+ description: Static routes enabled
+ required: false
+ status: SUPPORTED
+ entry_schema:
+ type: boolean
+ availability_zone_enable:
+ hidden: false
+ immutable: false
+ type: boolean
+ description: Indicates availability zone is enabled
+ required: false
+ default: false
+ status: SUPPORTED
+ service_template_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service template name
+ required: false
+ status: SUPPORTED
+ ordered_interfaces:
+ hidden: false
+ immutable: false
+ type: boolean
+ description: Indicates if service interface are ordered
+ required: false
+ default: false
+ status: SUPPORTED
+ flavor:
+ hidden: false
+ immutable: false
+ type: string
+ description: flavor
+ required: false
+ status: SUPPORTED
+ image_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Image name
+ required: true
+ status: SUPPORTED
+ service_type:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service type
+ required: true
+ status: SUPPORTED
+ constraints:
+ - valid_values:
+ - firewall
+ - analyzer
+ - source-nat
+ - loadbalancer
+ service_interface_type_list:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of interface types
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ constraints:
+ - valid_values:
+ - management
+ - left
+ - right
+ - other
+ service_instance_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service instance name
+ required: true
+ status: SUPPORTED
+ interface_list:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of interfaces
+ required: false
+ status: SUPPORTED
+ entry_schema:
+ type: org.openecomp.datatypes.heat.network.contrail.InterfaceData
+ service_mode:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service mode
+ required: true
+ status: SUPPORTED
+ constraints:
+ - valid_values:
+ - transparent
+ - in-network
+ - in-network-nat
+ shared_ip_list:
+ hidden: false
+ immutable: false
+ type: list
+ description: Shared ips enabled
+ required: false
+ status: SUPPORTED
+ entry_schema:
+ type: boolean
+ node_templates:
+ port_0:
+ type: org.openecomp.resource.cp.nodes.heat.network.contrail.Port
+ properties:
+ static_routes:
+ get_input:
+ - interface_list
+ - 0
+ - static_routes
+ virtual_network:
+ get_input:
+ - interface_list
+ - 0
+ - virtual_network
+ static_route:
+ get_input:
+ - static_routes_list
+ - 0
+ allowed_address_pairs:
+ get_input:
+ - interface_list
+ - 0
+ - allowed_address_pairs
+ shared_ip:
+ get_input:
+ - shared_ip_list
+ - 0
+ ip_address:
+ get_input:
+ - interface_list
+ - 0
+ - ip_address
+ interface_type:
+ get_input:
+ - service_interface_type_list
+ - 0
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: service_instance
+ relationship: tosca.relationships.network.BindsTo
+ port_1:
+ type: org.openecomp.resource.cp.nodes.heat.network.contrail.Port
+ properties:
+ static_routes:
+ get_input:
+ - interface_list
+ - 1
+ - static_routes
+ virtual_network:
+ get_input:
+ - interface_list
+ - 1
+ - virtual_network
+ static_route:
+ get_input:
+ - static_routes_list
+ - 1
+ allowed_address_pairs:
+ get_input:
+ - interface_list
+ - 1
+ - allowed_address_pairs
+ shared_ip:
+ get_input:
+ - shared_ip_list
+ - 1
+ ip_address:
+ get_input:
+ - interface_list
+ - 1
+ - ip_address
+ interface_type:
+ get_input:
+ - service_interface_type_list
+ - 1
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: service_instance
+ relationship: tosca.relationships.network.BindsTo
+ port_2:
+ type: org.openecomp.resource.cp.nodes.heat.network.contrail.Port
+ properties:
+ static_routes:
+ get_input:
+ - interface_list
+ - 2
+ - static_routes
+ virtual_network:
+ get_input:
+ - interface_list
+ - 2
+ - virtual_network
+ static_route:
+ get_input:
+ - static_routes_list
+ - 2
+ allowed_address_pairs:
+ get_input:
+ - interface_list
+ - 2
+ - allowed_address_pairs
+ shared_ip:
+ get_input:
+ - shared_ip_list
+ - 2
+ ip_address:
+ get_input:
+ - interface_list
+ - 2
+ - ip_address
+ interface_type:
+ get_input:
+ - service_interface_type_list
+ - 2
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: service_instance
+ relationship: tosca.relationships.network.BindsTo
+ port_3:
+ type: org.openecomp.resource.cp.nodes.heat.network.contrail.Port
+ properties:
+ static_routes:
+ get_input:
+ - interface_list
+ - 3
+ - static_routes
+ virtual_network:
+ get_input:
+ - interface_list
+ - 3
+ - virtual_network
+ static_route:
+ get_input:
+ - static_routes_list
+ - 3
+ allowed_address_pairs:
+ get_input:
+ - interface_list
+ - 3
+ - allowed_address_pairs
+ shared_ip:
+ get_input:
+ - shared_ip_list
+ - 3
+ ip_address:
+ get_input:
+ - interface_list
+ - 3
+ - ip_address
+ interface_type:
+ get_input:
+ - service_interface_type_list
+ - 3
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: service_instance
+ relationship: tosca.relationships.network.BindsTo
+ port_4:
+ type: org.openecomp.resource.cp.nodes.heat.network.contrail.Port
+ properties:
+ static_routes:
+ get_input:
+ - interface_list
+ - 4
+ - static_routes
+ virtual_network:
+ get_input:
+ - interface_list
+ - 4
+ - virtual_network
+ static_route:
+ get_input:
+ - static_routes_list
+ - 4
+ allowed_address_pairs:
+ get_input:
+ - interface_list
+ - 4
+ - allowed_address_pairs
+ shared_ip:
+ get_input:
+ - shared_ip_list
+ - 4
+ ip_address:
+ get_input:
+ - interface_list
+ - 4
+ - ip_address
+ interface_type:
+ get_input:
+ - service_interface_type_list
+ - 4
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: service_instance
+ relationship: tosca.relationships.network.BindsTo
+ service_instance:
+ type: org.openecomp.resource.vfc.nodes.heat.compute_service_template
+ properties:
+ flavor:
+ get_input: flavor
+ image_name:
+ get_input: image_name
+ availability_zone:
+ get_input: availability_zone
+ service_type:
+ get_input: service_type
+ availability_zone_enable:
+ get_input: availability_zone_enable
+ service_template_name:
+ get_input: service_template_name
+ service_instance_name:
+ get_input: service_instance_name
+ service_mode:
+ get_input: service_mode
+ groups:
+ service_instance:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/OCS-fw.yml
+ members:
+ - service_instance
+ - port_0
+ - port_1
+ - port_2
+ - port_3
+ - port_4
+ outputs:
+ tenant_id:
+ description: Tenant id of the Service Instance
+ value:
+ get_attribute:
+ - service_instance
+ - tenant_id
+ fq_name:
+ description: The FQ name of the service instance
+ value:
+ get_attribute:
+ - service_instance
+ - fq_name
+ service_template_name:
+ description: Service Template of the Service Instance
+ value:
+ get_attribute:
+ - service_instance
+ - service_template_name
+ show:
+ description: All attributes
+ value:
+ get_attribute:
+ - service_instance
+ - show
+ active_vms:
+ description: Number of service VMs active for this Service Instance
+ value:
+ get_attribute:
+ - service_instance
+ - active_vms
+ service_instance_name:
+ description: The name of the service instance
+ value:
+ get_attribute:
+ - service_instance
+ - service_instance_name
+ virtual_machines:
+ description: Service VMs for the Service Instance
+ value:
+ get_attribute:
+ - service_instance
+ - virtual_machines
+ status:
+ description: Status of the service instance
+ value:
+ get_attribute:
+ - service_instance
+ - status
+ substitution_mappings:
+ node_type: org.openecomp.resource.abstract.nodes.heat.service_template
+ requirements:
+ link_port_0:
+ - port_0
+ - link
+ link_port_1:
+ - port_1
+ - link
+ link_port_2:
+ - port_2
+ - link
+ link_port_3:
+ - port_3
+ - link
+ link_port_4:
+ - port_4
+ - 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/services/heattotosca/contrail2serviceinstance/sharedNetworkMulti/inputfiles/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkMulti/inputfiles/MANIFEST.json
new file mode 100644
index 0000000000..b7969ccd71
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkMulti/inputfiles/MANIFEST.json
@@ -0,0 +1,17 @@
+{
+ "name": "vMME_Small",
+ "description": "HOT template to create 2 cinder volume attachment",
+ "version": "2013-05-23",
+ "data": [
+ {
+ "file": "OCS-fw.yml",
+ "type": "HEAT",
+ "isBase": "false"
+ },
+ {
+ "file": "network_base.yml",
+ "type": "HEAT",
+ "isBase": "true"
+ }
+ ]
+}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkMulti/inputfiles/OCS-fw.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkMulti/inputfiles/OCS-fw.yml
new file mode 100644
index 0000000000..dd578c2d8b
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkMulti/inputfiles/OCS-fw.yml
@@ -0,0 +1,173 @@
+heat_template_version: 2013-05-23
+
+description: >
+ Based on the following reference for the HOT-DMZ-FW template:
+ Version 3.5 8-10-2015 (Authors: Art Mishurov,am254u & Johhny Chen, jc3066) - HOT-DMZ-FW template that creates two DMZ networks (direct and protected) with a scaled out firewall service between the two.
+
+parameters:
+ hsl_direct_net1:
+ type: string
+ hsl_direct_net2:
+ type: string
+ hsl_direct_net3:
+ type: string
+ hsl_direct_net4:
+ type: string
+ HSL_direct_net_id:
+ type: string
+ description: Name of HSL (Logging) network
+ HSL_direct_net_cidr:
+ type: string
+ description: HSL (Logging) network address (CIDR notation)
+ HSL_direct_net_gateway:
+ type: string
+ description: HSL (Logging) network gateway address
+ oam_mgmt_net_0_id:
+ type: string
+ description: Name of OAM network
+ Cricket_OCS_direct_net_id:
+ type: string
+ description: Name of Cricket OCS network
+ Cricket_OCS_protected_net_id:
+ type: string
+ description: Name of Cricket OCS network
+ service_instance_name:
+ type: string
+ description: Service instance name
+ service_policy_name:
+ type: string
+ description: Policy Name
+ service_policy_direction:
+ type: string
+ description: Direction of Policy
+ start_src_ports:
+ type: number
+ description: Start of src port
+ end_src_ports:
+ type: number
+ description: End of src port
+ start_dst_ports:
+ type: number
+ description: Start of dst port
+ end_dst_ports:
+ type: number
+ description: End of dst port
+ st_name:
+ type: string
+ description: Name of service template
+ st_mode:
+ type: string
+ description: service mode
+ st_type:
+ type: string
+ description: service type
+ st_image:
+ type: string
+ description: Name of the image
+ st_flavor:
+ type: string
+ description: Flavor
+ st_service_interface_type_list:
+ type: string
+ description: List of interface types
+ st_shared_ip_list:
+ type: string
+ description: List of shared ip enabled-disabled
+ st_static_routes_list:
+ type: string
+ description: List of static routes enabled-disabled
+ st_scaling:
+ type: string
+ description: Indicates whether service scaling is enabled
+ max_num_fw_instances:
+ type: number
+ description: maximum number of firewall instances for scaling
+ availability_zone_1:
+ type: string
+ description: availability zone
+
+resources:
+
+ hsl_direct_net:
+ type: OS::Contrail::VirtualNetwork
+ properties:
+ name: { get_param: HSL_direct_net_id }
+
+ hsl_ip_subnet:
+ type: OS::Neutron::Subnet
+ properties:
+ network_id: { get_resource: hsl_direct_net }
+ cidr: { get_param: HSL_direct_net_cidr }
+ gateway_ip: { get_param: HSL_direct_net_gateway }
+
+ service_template:
+ type: OS::Contrail::ServiceTemplate
+ properties:
+ name: { get_param: st_name }
+ service_mode: { get_param: st_mode }
+ service_type: { get_param: st_type }
+ image_name: { get_param: st_image }
+ flavor: { get_param: st_flavor }
+ service_interface_type_list: { "Fn::Split" : [ ",", Ref: st_service_interface_type_list ] }
+ shared_ip_list: { "Fn::Split" : [ ",", Ref: st_shared_ip_list ] }
+ static_routes_list: { "Fn::Split" : [ ",", Ref: st_static_routes_list ] }
+ service_scaling: { get_param: st_scaling }
+
+ service_instance:
+ type: OS::Contrail::ServiceInstance
+ depends_on: [ hsl_ip_subnet]
+ properties:
+ name: { get_param: service_instance_name }
+ availability_zone: { get_param: availability_zone_1 }
+ service_template: { get_resource: service_template }
+ scale_out:
+ max_instances: {get_param: max_num_fw_instances}
+ interface_list: [
+ {
+ virtual_network: { get_param: hsl_direct_net1 }
+ },
+ {
+ virtual_network: { get_param: hsl_direct_net2 }
+ },
+ {
+ virtual_network: { get_param: hsl_direct_net3 }
+ },
+ {
+ virtual_network: { get_param: hsl_direct_net4 }
+ },
+ {
+ virtual_network: { get_resource: hsl_direct_net }
+ }
+ ]
+
+ service_policy:
+ type: OS::Contrail::NetworkPolicy
+ depends_on: [ service_instance ]
+ properties:
+ name: { get_param: service_policy_name }
+ entries:
+ policy_rule: [
+ {
+ "direction": { get_param: service_policy_direction },
+ "protocol": "any",
+ "src_ports": [{"start_port": {get_param: start_src_ports}, "end_port": {get_param: end_src_ports}}],
+ "dst_ports": [{"start_port": {get_param: start_dst_ports}, "end_port": {get_param: end_dst_ports}}],
+ "dst_addresses": [{ "virtual_network": { get_param: Cricket_OCS_direct_net_id }}],
+ "action_list": { "apply_service": [{ get_resource: service_instance }]},
+ "src_addresses": [{ "virtual_network": { get_param: Cricket_OCS_protected_net_id }}],
+ },
+ ]
+
+ service_policy_attach_direct_net:
+ type: OS::Contrail::AttachPolicy
+ depends_on: [ service_policy ]
+ properties:
+ network: { get_param: Cricket_OCS_direct_net_id }
+ policy: { get_attr: [service_policy, fq_name] }
+
+ service_policy_attach_protected_net:
+ type: OS::Contrail::AttachPolicy
+ depends_on: [ service_policy ]
+ properties:
+ network: { get_param: Cricket_OCS_protected_net_id }
+ policy: { get_attr: [service_policy, fq_name] } \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkMulti/inputfiles/network_base.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkMulti/inputfiles/network_base.yml
new file mode 100644
index 0000000000..21fef30282
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkMulti/inputfiles/network_base.yml
@@ -0,0 +1,47 @@
+heat_template_version: 2013-05-23
+
+description: ASC External Networks Template
+
+parameters:
+ Internal1_net_name:
+ type: string
+ Internal2_net_name:
+ type: string
+ Internal1_forwarding_mode:
+ type: string
+ Internal2_forwarding_mode:
+ type: string
+ Internal1_shared:
+ type: string
+ Internal2_shared:
+ type: string
+
+resources:
+ Internal1-net:
+ type: OS::Contrail::VirtualNetwork
+ properties:
+ name: { get_param: Internal1_net_name }
+ forwarding_mode: { get_param: Internal1_forwarding_mode }
+ shared: { get_param: Internal1_shared }
+
+ Internal2-net:
+ type: OS::Contrail::VirtualNetwork
+ properties:
+ name: { get_param: Internal2_net_name }
+ forwarding_mode: { get_param: Internal1_forwarding_mode }
+ shared: { get_param: Internal1_shared }
+
+ Internal3-net:
+ type: OS::Contrail::VirtualNetwork
+ properties:
+ name: { get_param: Internal2_net_name }
+ forwarding_mode: { get_param: Internal1_forwarding_mode }
+ shared: { get_param: Internal1_shared }
+
+outputs:
+ hsl_direct_net1:
+ value: { list_join: [':', { get_attr: [ Internal1-net, fq_name ] } ] }
+ hsl_direct_net2:
+ value: { get_attr: [ Internal2-net, fq_name ] }
+ hsl_direct_net3:
+ value: {get_resource: Internal3-net} \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkNested/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkNested/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml
new file mode 100644
index 0000000000..a11b54226b
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkNested/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml
@@ -0,0 +1,154 @@
+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.vfc.nodes.heat.st_image:
+ derived_from: org.openecomp.resource.vfc.nodes.heat.contrail.Compute
+ org.openecomp.resource.abstract.nodes.heat.service_template:
+ derived_from: org.openecomp.resource.abstract.nodes.contrail.AbstractSubstitute
+ requirements:
+ - link_port_0:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ org.openecomp.resource.abstract.nodes.heat.OCS-fw:
+ derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+ properties:
+ service_policy_name:
+ type: string
+ description: Policy Name
+ st_static_routes_list:
+ type: string
+ description: List of static routes enabled-disabled
+ st_type:
+ type: string
+ description: service type
+ st_service_interface_type_list:
+ type: string
+ description: List of interface types
+ st_mode:
+ type: string
+ description: service mode
+ Cricket_OCS_protected_net_id:
+ type: string
+ description: Name of Cricket OCS network
+ oam_mgmt_net_0_id:
+ type: string
+ description: Name of OAM network
+ start_dst_ports:
+ type: float
+ description: Start of dst port
+ st_flavor:
+ type: string
+ description: Flavor
+ availability_zone_1:
+ type: string
+ description: availability zone
+ service_instance_name:
+ type: string
+ description: Service instance name
+ st_scaling:
+ type: string
+ description: Indicates whether service scaling is enabled
+ max_num_fw_instances:
+ type: float
+ description: maximum number of firewall instances for scaling
+ start_src_ports:
+ type: float
+ description: Start of src port
+ service_policy_direction:
+ type: string
+ description: Direction of Policy
+ st_name:
+ type: string
+ description: Name of service template
+ hsl_direct_net3:
+ type: string
+ hsl_direct_net4:
+ type: string
+ HSL_direct_net_gateway:
+ type: string
+ description: HSL (Logging) network gateway address
+ hsl_direct_net1:
+ type: string
+ hsl_direct_net2:
+ type: string
+ st_image:
+ type: string
+ description: Name of the image
+ st_shared_ip_list:
+ type: string
+ description: List of shared ip enabled-disabled
+ Cricket_OCS_direct_net_id:
+ type: string
+ description: Name of Cricket OCS network
+ network_param:
+ type: string
+ end_src_ports:
+ type: float
+ description: End of src port
+ end_dst_ports:
+ type: float
+ description: End of dst port
+ HSL_direct_net_id:
+ type: string
+ description: Name of HSL (Logging) network
+ HSL_direct_net_cidr:
+ type: string
+ description: HSL (Logging) network address (CIDR notation)
+ requirements:
+ - link_port_0_service_instance:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - network_service_policy:
+ capability: tosca.capabilities.Attachment
+ node: tosca.nodes.network.Network
+ relationship: org.openecomp.relationships.AttachesTo
+ occurrences:
+ - 0
+ - UNBOUNDED
+ capabilities:
+ link_hsl_direct_net:
+ type: tosca.capabilities.network.Linkable
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_hsl_direct_net:
+ 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/services/heattotosca/contrail2serviceinstance/sharedNetworkNested/expectedoutputfiles/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkNested/expectedoutputfiles/MainServiceTemplate.yaml
new file mode 100644
index 0000000000..53ecba9888
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkNested/expectedoutputfiles/MainServiceTemplate.yaml
@@ -0,0 +1,90 @@
+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:
+ Internal1_shared:
+ hidden: false
+ immutable: false
+ type: string
+ Internal1_forwarding_mode:
+ hidden: false
+ immutable: false
+ type: string
+ Internal2_net_name:
+ hidden: false
+ immutable: false
+ type: string
+ Internal2_forwarding_mode:
+ hidden: false
+ immutable: false
+ type: string
+ Internal2_shared:
+ hidden: false
+ immutable: false
+ type: string
+ Internal1_net_name:
+ hidden: false
+ immutable: false
+ type: string
+ node_templates:
+ Internal1-net:
+ type: org.openecomp.resource.vl.nodes.heat.network.contrail.VirtualNetwork
+ properties:
+ shared:
+ get_input: Internal1_shared
+ forwarding_mode:
+ get_input: Internal1_forwarding_mode
+ network_name:
+ get_input: Internal1_net_name
+ test_nested:
+ type: org.openecomp.resource.abstract.nodes.heat.OCS-fw
+ directives:
+ - substitutable
+ properties:
+ service_template_filter:
+ substitute_service_template: OCS-fwServiceTemplate.yaml
+ network_param: Internal1-net
+ requirements:
+ - link_port_0:
+ capability: tosca.capabilities.network.Linkable
+ node: Internal1-net
+ relationship: tosca.relationships.network.LinksTo
+ groups:
+ main:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/main.yml
+ description: ASC External Networks Template
+ members:
+ - Internal1-net
+ - test_nested \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkNested/expectedoutputfiles/OCS-fwServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkNested/expectedoutputfiles/OCS-fwServiceTemplate.yaml
new file mode 100644
index 0000000000..1f504169ab
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkNested/expectedoutputfiles/OCS-fwServiceTemplate.yaml
@@ -0,0 +1,294 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: OCS-fw
+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:
+ service_policy_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Policy Name
+ st_static_routes_list:
+ hidden: false
+ immutable: false
+ type: string
+ description: List of static routes enabled-disabled
+ st_type:
+ hidden: false
+ immutable: false
+ type: string
+ description: service type
+ st_service_interface_type_list:
+ hidden: false
+ immutable: false
+ type: string
+ description: List of interface types
+ st_mode:
+ hidden: false
+ immutable: false
+ type: string
+ description: service mode
+ Cricket_OCS_protected_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Name of Cricket OCS network
+ oam_mgmt_net_0_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Name of OAM network
+ start_dst_ports:
+ hidden: false
+ immutable: false
+ type: float
+ description: Start of dst port
+ st_flavor:
+ hidden: false
+ immutable: false
+ type: string
+ description: Flavor
+ availability_zone_1:
+ hidden: false
+ immutable: false
+ type: string
+ description: availability zone
+ service_instance_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service instance name
+ st_scaling:
+ hidden: false
+ immutable: false
+ type: string
+ description: Indicates whether service scaling is enabled
+ max_num_fw_instances:
+ hidden: false
+ immutable: false
+ type: float
+ description: maximum number of firewall instances for scaling
+ start_src_ports:
+ hidden: false
+ immutable: false
+ type: float
+ description: Start of src port
+ service_policy_direction:
+ hidden: false
+ immutable: false
+ type: string
+ description: Direction of Policy
+ st_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Name of service template
+ hsl_direct_net3:
+ hidden: false
+ immutable: false
+ type: string
+ hsl_direct_net4:
+ hidden: false
+ immutable: false
+ type: string
+ HSL_direct_net_gateway:
+ hidden: false
+ immutable: false
+ type: string
+ description: HSL (Logging) network gateway address
+ hsl_direct_net1:
+ hidden: false
+ immutable: false
+ type: string
+ hsl_direct_net2:
+ hidden: false
+ immutable: false
+ type: string
+ st_image:
+ hidden: false
+ immutable: false
+ type: string
+ description: Name of the image
+ st_shared_ip_list:
+ hidden: false
+ immutable: false
+ type: string
+ description: List of shared ip enabled-disabled
+ Cricket_OCS_direct_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Name of Cricket OCS network
+ network_param:
+ hidden: false
+ immutable: false
+ type: string
+ end_src_ports:
+ hidden: false
+ immutable: false
+ type: float
+ description: End of src port
+ end_dst_ports:
+ hidden: false
+ immutable: false
+ type: float
+ description: End of dst port
+ HSL_direct_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Name of HSL (Logging) network
+ HSL_direct_net_cidr:
+ hidden: false
+ immutable: false
+ type: string
+ description: HSL (Logging) network address (CIDR notation)
+ node_templates:
+ hsl_direct_net:
+ type: org.openecomp.resource.vl.nodes.heat.network.contrail.VirtualNetwork
+ properties:
+ network_name:
+ get_input: HSL_direct_net_id
+ subnets:
+ hsl_ip_subnet:
+ cidr:
+ get_input: HSL_direct_net_cidr
+ gateway_ip:
+ get_input: HSL_direct_net_gateway
+ service_instance:
+ type: org.openecomp.resource.abstract.nodes.heat.service_template
+ directives:
+ - substitutable
+ properties:
+ flavor:
+ get_input: st_flavor
+ availability_zone:
+ get_input: availability_zone_1
+ image_name:
+ get_input: st_image
+ service_template_filter:
+ substitute_service_template: service_instanceServiceTemplate.yaml
+ count:
+ get_input: max_num_fw_instances
+ mandatory: false
+ service_type:
+ get_input: st_type
+ static_routes_list:
+ - token:
+ - get_input: st_static_routes_list
+ - ','
+ - 0
+ service_template_name:
+ get_input: st_name
+ service_interface_type_list:
+ - token:
+ - get_input: st_service_interface_type_list
+ - ','
+ - 0
+ interface_list:
+ - virtual_network:
+ get_input: network_param
+ service_instance_name:
+ get_input: service_instance_name
+ service_mode:
+ get_input: st_mode
+ shared_ip_list:
+ - token:
+ - get_input: st_shared_ip_list
+ - ','
+ - 0
+ requirements:
+ - dependency:
+ capability: tosca.capabilities.Node
+ node: hsl_direct_net
+ relationship: tosca.relationships.DependsOn
+ service_policy:
+ type: org.openecomp.resource.vfc.rules.nodes.heat.network.contrail.NetworkRules
+ properties:
+ entries:
+ policy_rule:
+ - src_ports:
+ - start_port:
+ get_input: start_src_ports
+ end_port:
+ get_input: end_src_ports
+ protocol: any
+ action_list:
+ apply_service:
+ - service_instance
+ dst_addresses:
+ - virtual_network:
+ get_input: Cricket_OCS_direct_net_id
+ dst_ports:
+ - start_port:
+ get_input: start_dst_ports
+ end_port:
+ get_input: end_dst_ports
+ src_addresses:
+ - virtual_network:
+ get_input: Cricket_OCS_protected_net_id
+ direction:
+ get_input: service_policy_direction
+ name:
+ get_input: service_policy_name
+ requirements:
+ - dependency:
+ capability: tosca.capabilities.Node
+ node: service_instance
+ relationship: tosca.relationships.DependsOn
+ groups:
+ OCS-fw:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/OCS-fw.yml
+ description: |
+ Based on the following reference for the HOT-DMZ-FW template: Version 3.5 8-10-2015 (Authors: Art Mishurov,am254u & Johhny Chen, jc3066) - HOT-DMZ-FW template that creates two DMZ networks (direct and protected) with a scaled out firewall service between the two.
+ members:
+ - hsl_direct_net
+ - service_instance
+ - service_policy
+ substitution_mappings:
+ node_type: org.openecomp.resource.abstract.nodes.heat.OCS-fw
+ capabilities:
+ link_hsl_direct_net:
+ - hsl_direct_net
+ - link
+ attachment_hsl_direct_net:
+ - hsl_direct_net
+ - attachment
+ requirements:
+ network_service_policy:
+ - service_policy
+ - network
+ link_port_0_service_instance:
+ - service_instance
+ - link_port_0 \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkNested/expectedoutputfiles/service_instanceServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkNested/expectedoutputfiles/service_instanceServiceTemplate.yaml
new file mode 100644
index 0000000000..bbc95728c9
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkNested/expectedoutputfiles/service_instanceServiceTemplate.yaml
@@ -0,0 +1,275 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: service_instance
+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:
+ availability_zone:
+ hidden: false
+ immutable: false
+ type: string
+ description: Availability zone to create servers in
+ required: false
+ status: SUPPORTED
+ static_routes_list:
+ hidden: false
+ immutable: false
+ type: list
+ description: Static routes enabled
+ required: false
+ status: SUPPORTED
+ entry_schema:
+ type: boolean
+ availability_zone_enable:
+ hidden: false
+ immutable: false
+ type: boolean
+ description: Indicates availability zone is enabled
+ required: false
+ default: false
+ status: SUPPORTED
+ service_template_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service template name
+ required: false
+ status: SUPPORTED
+ ordered_interfaces:
+ hidden: false
+ immutable: false
+ type: boolean
+ description: Indicates if service interface are ordered
+ required: false
+ default: false
+ status: SUPPORTED
+ flavor:
+ hidden: false
+ immutable: false
+ type: string
+ description: flavor
+ required: false
+ status: SUPPORTED
+ image_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Image name
+ required: true
+ status: SUPPORTED
+ service_type:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service type
+ required: true
+ status: SUPPORTED
+ constraints:
+ - valid_values:
+ - firewall
+ - analyzer
+ - source-nat
+ - loadbalancer
+ service_interface_type_list:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of interface types
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ constraints:
+ - valid_values:
+ - management
+ - left
+ - right
+ - other
+ service_instance_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service instance name
+ required: true
+ status: SUPPORTED
+ interface_list:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of interfaces
+ required: false
+ status: SUPPORTED
+ entry_schema:
+ type: org.openecomp.datatypes.heat.network.contrail.InterfaceData
+ service_mode:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service mode
+ required: true
+ status: SUPPORTED
+ constraints:
+ - valid_values:
+ - transparent
+ - in-network
+ - in-network-nat
+ shared_ip_list:
+ hidden: false
+ immutable: false
+ type: list
+ description: Shared ips enabled
+ required: false
+ status: SUPPORTED
+ entry_schema:
+ type: boolean
+ node_templates:
+ port_0:
+ type: org.openecomp.resource.cp.nodes.heat.network.contrail.Port
+ properties:
+ static_routes:
+ get_input:
+ - interface_list
+ - 0
+ - static_routes
+ virtual_network:
+ get_input:
+ - interface_list
+ - 0
+ - virtual_network
+ static_route:
+ get_input:
+ - static_routes_list
+ - 0
+ allowed_address_pairs:
+ get_input:
+ - interface_list
+ - 0
+ - allowed_address_pairs
+ shared_ip:
+ get_input:
+ - shared_ip_list
+ - 0
+ ip_address:
+ get_input:
+ - interface_list
+ - 0
+ - ip_address
+ interface_type:
+ get_input:
+ - service_interface_type_list
+ - 0
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: service_instance
+ relationship: tosca.relationships.network.BindsTo
+ service_instance:
+ type: org.openecomp.resource.vfc.nodes.heat.st_image
+ properties:
+ flavor:
+ get_input: flavor
+ image_name:
+ get_input: image_name
+ availability_zone:
+ get_input: availability_zone
+ service_type:
+ get_input: service_type
+ availability_zone_enable:
+ get_input: availability_zone_enable
+ service_template_name:
+ get_input: service_template_name
+ service_instance_name:
+ get_input: service_instance_name
+ service_mode:
+ get_input: service_mode
+ groups:
+ service_instance:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/OCS-fw.yml
+ members:
+ - service_instance
+ - port_0
+ outputs:
+ tenant_id:
+ description: Tenant id of the Service Instance
+ value:
+ get_attribute:
+ - service_instance
+ - tenant_id
+ fq_name:
+ description: The FQ name of the service instance
+ value:
+ get_attribute:
+ - service_instance
+ - fq_name
+ service_template_name:
+ description: Service Template of the Service Instance
+ value:
+ get_attribute:
+ - service_instance
+ - service_template_name
+ show:
+ description: All attributes
+ value:
+ get_attribute:
+ - service_instance
+ - show
+ active_vms:
+ description: Number of service VMs active for this Service Instance
+ value:
+ get_attribute:
+ - service_instance
+ - active_vms
+ service_instance_name:
+ description: The name of the service instance
+ value:
+ get_attribute:
+ - service_instance
+ - service_instance_name
+ virtual_machines:
+ description: Service VMs for the Service Instance
+ value:
+ get_attribute:
+ - service_instance
+ - virtual_machines
+ status:
+ description: Status of the service instance
+ value:
+ get_attribute:
+ - service_instance
+ - status
+ substitution_mappings:
+ node_type: org.openecomp.resource.abstract.nodes.heat.service_template
+ requirements:
+ link_port_0:
+ - port_0
+ - 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/services/heattotosca/contrail2serviceinstance/sharedNetworkNested/inputfiles/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkNested/inputfiles/MANIFEST.json
new file mode 100644
index 0000000000..ba27604c3f
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkNested/inputfiles/MANIFEST.json
@@ -0,0 +1,16 @@
+{
+ "name": "vMME_Small",
+ "description": "HOT template to create 2 cinder volume attachment",
+ "version": "2013-05-23",
+ "data": [
+ {
+ "file": "OCS-fw.yml",
+ "type": "HEAT",
+ "isBase": "false"
+ },
+ {
+ "file": "main.yml",
+ "type": "HEAT"
+ }
+ ]
+}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkNested/inputfiles/OCS-fw.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkNested/inputfiles/OCS-fw.yml
new file mode 100644
index 0000000000..86c3fcadc8
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkNested/inputfiles/OCS-fw.yml
@@ -0,0 +1,163 @@
+heat_template_version: 2013-05-23
+
+description: >
+ Based on the following reference for the HOT-DMZ-FW template:
+ Version 3.5 8-10-2015 (Authors: Art Mishurov,am254u & Johhny Chen, jc3066) - HOT-DMZ-FW template that creates two DMZ networks (direct and protected) with a scaled out firewall service between the two.
+
+parameters:
+ hsl_direct_net1:
+ type: string
+ hsl_direct_net2:
+ type: string
+ hsl_direct_net3:
+ type: string
+ hsl_direct_net4:
+ type: string
+ HSL_direct_net_id:
+ type: string
+ description: Name of HSL (Logging) network
+ HSL_direct_net_cidr:
+ type: string
+ description: HSL (Logging) network address (CIDR notation)
+ HSL_direct_net_gateway:
+ type: string
+ description: HSL (Logging) network gateway address
+ oam_mgmt_net_0_id:
+ type: string
+ description: Name of OAM network
+ Cricket_OCS_direct_net_id:
+ type: string
+ description: Name of Cricket OCS network
+ Cricket_OCS_protected_net_id:
+ type: string
+ description: Name of Cricket OCS network
+ service_instance_name:
+ type: string
+ description: Service instance name
+ service_policy_name:
+ type: string
+ description: Policy Name
+ service_policy_direction:
+ type: string
+ description: Direction of Policy
+ start_src_ports:
+ type: number
+ description: Start of src port
+ end_src_ports:
+ type: number
+ description: End of src port
+ start_dst_ports:
+ type: number
+ description: Start of dst port
+ end_dst_ports:
+ type: number
+ description: End of dst port
+ st_name:
+ type: string
+ description: Name of service template
+ st_mode:
+ type: string
+ description: service mode
+ st_type:
+ type: string
+ description: service type
+ st_image:
+ type: string
+ description: Name of the image
+ st_flavor:
+ type: string
+ description: Flavor
+ st_service_interface_type_list:
+ type: string
+ description: List of interface types
+ st_shared_ip_list:
+ type: string
+ description: List of shared ip enabled-disabled
+ st_static_routes_list:
+ type: string
+ description: List of static routes enabled-disabled
+ st_scaling:
+ type: string
+ description: Indicates whether service scaling is enabled
+ max_num_fw_instances:
+ type: number
+ description: maximum number of firewall instances for scaling
+ availability_zone_1:
+ type: string
+ description: availability zone
+ network_param:
+ type: string
+
+resources:
+
+ hsl_direct_net:
+ type: OS::Contrail::VirtualNetwork
+ properties:
+ name: { get_param: HSL_direct_net_id }
+
+ hsl_ip_subnet:
+ type: OS::Neutron::Subnet
+ properties:
+ network_id: { get_resource: hsl_direct_net }
+ cidr: { get_param: HSL_direct_net_cidr }
+ gateway_ip: { get_param: HSL_direct_net_gateway }
+
+ service_template:
+ type: OS::Contrail::ServiceTemplate
+ properties:
+ name: { get_param: st_name }
+ service_mode: { get_param: st_mode }
+ service_type: { get_param: st_type }
+ image_name: { get_param: st_image }
+ flavor: { get_param: st_flavor }
+ service_interface_type_list: { "Fn::Split" : [ ",", Ref: st_service_interface_type_list ] }
+ shared_ip_list: { "Fn::Split" : [ ",", Ref: st_shared_ip_list ] }
+ static_routes_list: { "Fn::Split" : [ ",", Ref: st_static_routes_list ] }
+ service_scaling: { get_param: st_scaling }
+
+ service_instance:
+ type: OS::Contrail::ServiceInstance
+ depends_on: [ hsl_ip_subnet]
+ properties:
+ name: { get_param: service_instance_name }
+ availability_zone: { get_param: availability_zone_1 }
+ service_template: { get_resource: service_template }
+ scale_out:
+ max_instances: {get_param: max_num_fw_instances}
+ interface_list: [
+ {
+ virtual_network: { get_param: network_param }
+ }
+ ]
+
+ service_policy:
+ type: OS::Contrail::NetworkPolicy
+ depends_on: [ service_instance ]
+ properties:
+ name: { get_param: service_policy_name }
+ entries:
+ policy_rule: [
+ {
+ "direction": { get_param: service_policy_direction },
+ "protocol": "any",
+ "src_ports": [{"start_port": {get_param: start_src_ports}, "end_port": {get_param: end_src_ports}}],
+ "dst_ports": [{"start_port": {get_param: start_dst_ports}, "end_port": {get_param: end_dst_ports}}],
+ "dst_addresses": [{ "virtual_network": { get_param: Cricket_OCS_direct_net_id }}],
+ "action_list": { "apply_service": [{ get_resource: service_instance }]},
+ "src_addresses": [{ "virtual_network": { get_param: Cricket_OCS_protected_net_id }}],
+ },
+ ]
+
+ service_policy_attach_direct_net:
+ type: OS::Contrail::AttachPolicy
+ depends_on: [ service_policy ]
+ properties:
+ network: { get_param: Cricket_OCS_direct_net_id }
+ policy: { get_attr: [service_policy, fq_name] }
+
+ service_policy_attach_protected_net:
+ type: OS::Contrail::AttachPolicy
+ depends_on: [ service_policy ]
+ properties:
+ network: { get_param: Cricket_OCS_protected_net_id }
+ policy: { get_attr: [service_policy, fq_name] } \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkNested/inputfiles/main.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkNested/inputfiles/main.yml
new file mode 100644
index 0000000000..a1f7dc932d
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/contrail2serviceinstance/sharedNetworkNested/inputfiles/main.yml
@@ -0,0 +1,30 @@
+heat_template_version: 2013-05-23
+
+description: ASC External Networks Template
+
+parameters:
+ Internal1_net_name:
+ type: string
+ Internal2_net_name:
+ type: string
+ Internal1_forwarding_mode:
+ type: string
+ Internal2_forwarding_mode:
+ type: string
+ Internal1_shared:
+ type: string
+ Internal2_shared:
+ type: string
+
+resources:
+ Internal1-net:
+ type: OS::Contrail::VirtualNetwork
+ properties:
+ name: { get_param: Internal1_net_name }
+ forwarding_mode: { get_param: Internal1_forwarding_mode }
+ shared: { get_param: Internal1_shared }
+
+ test_nested:
+ type: OCS-fw.yml
+ properties:
+ network_param: { get_resource: Internal1-net} \ No newline at end of file