aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/base_perimeta_deployment_create.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/base_perimeta_deployment_create.yaml')
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/base_perimeta_deployment_create.yaml222
1 files changed, 222 insertions, 0 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/base_perimeta_deployment_create.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/base_perimeta_deployment_create.yaml
new file mode 100644
index 0000000000..4b97d04fd7
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/base_perimeta_deployment_create.yaml
@@ -0,0 +1,222 @@
+# Heat template which instantiates base resources for a Perimeta deployment,
+# namely.
+# - keypair
+# - security group
+# - SSC server group
+# - RTP MSC server group
+# - Internal HA network
+# - Internal unused network
+# - Internal parent network for the untrusted VLANs
+#
+# Template version 17.07.04 - 2017-09-01
+#
+#
+heat_template_version: 2014-10-16
+
+description: >
+ HOT template to instantiate base shared resources for a Perimeta deployment
+
+parameters:
+ vnf_name:
+ type: string
+ description: Unique name for this VNF instance
+ perimeta_ssh_key:
+ type: string
+ description: SSH public key
+ # Deployment scaling parameters
+ perimeta_max_rtp_msc_count:
+ type: number
+ description: Max number of RTP MSCs in a site.
+ constraints:
+ - range: { min: 0, max: 20 }
+ description: perimeta_max_rtp_msc_count must be between 0 and 20
+ # Internal high availability network parameters
+ perimeta_int_ha_net_prefix_v4:
+ type: string
+ description: IPv4 subnet prefix for internal HA network
+ perimeta_int_ha_net_prefix_len_v4:
+ type: number
+ description: Prefix length of subnet associated with internal HA network
+ constraints:
+ - range: { min: 0, max: 31 }
+ description: int_ha_net_plen must be between 0 and 31
+
+resources:
+ # Resource Security Group
+ shared_perimeta_rsg:
+ type: OS::Neutron::SecurityGroup
+ properties:
+ description: Security Group for Perimeta networks
+ name:
+ str_replace:
+ template: $VNF_NAME_shared_perimeta_RSG
+ params:
+ $VNF_NAME: { get_param: vnf_name }
+ rules:
+ - {"direction": "egress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "tcp", "ethertype": "IPv4", "port_range_max": 65535, "port_range_min": 1}
+ - {"direction": "egress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "udp", "ethertype": "IPv4", "port_range_max": 65535, "port_range_min": 1}
+ - {"direction": "egress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "icmp", "ethertype": "IPv4"}
+ - {"direction": "egress", "remote_ip_prefix": "::/0", "protocol": "icmp", "ethertype": "IPv6"}
+ - {"direction": "egress", "remote_ip_prefix": "::/0", "protocol": "tcp", "ethertype": "IPv6", "port_range_max": 65535, "port_range_min": 1}
+ - {"direction": "egress", "remote_ip_prefix": "::/0", "protocol": "udp", "ethertype": "IPv6", "port_range_max": 65535, "port_range_min": 1}
+ - {"direction": "ingress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "tcp", "ethertype": "IPv4", "port_range_max": 65535, "port_range_min": 1}
+ - {"direction": "ingress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "udp", "ethertype": "IPv4", "port_range_max": 65535, "port_range_min": 1}
+ - {"direction": "ingress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "icmp", "ethertype": "IPv4"}
+ - {"direction": "ingress", "remote_ip_prefix": "::/0", "protocol": "icmp", "ethertype": "IPv6"}
+ - {"direction": "ingress", "remote_ip_prefix": "::/0", "protocol": "tcp", "ethertype": "IPv6", "port_range_max": 65535, "port_range_min": 1}
+ - {"direction": "ingress", "remote_ip_prefix": "::/0", "protocol": "udp", "ethertype": "IPv6", "port_range_max": 65535, "port_range_min": 1}
+
+ # Keypair for use by Perimeta instances.
+ shared_perimeta_keypair:
+ type: OS::Nova::KeyPair
+ properties:
+ name:
+ str_replace:
+ template: $VNF_NAME_key_pair
+ params:
+ $VNF_NAME: { get_param: vnf_name }
+ public_key: {get_param: perimeta_ssh_key}
+ save_private_key: false
+
+ # Create the server groups. We need one per pair of perimeta VFs in the site
+ # We only have one SSC
+ # We can have multiple RTP MSCs
+
+ shared_perimeta_ssc_server_gp:
+ type: OS::Nova::ServerGroup
+ properties:
+ name:
+ str_replace:
+ template: $VNF_NAME_shared_ssc_RSG_name_0
+ params:
+ $VNF_NAME: { get_param: vnf_name }
+ policies: ['anti-affinity']
+
+
+ shared_perimeta_rtp_msc_server_gps:
+ type: OS::Heat::ResourceGroup
+ properties:
+ count: { get_param: perimeta_max_rtp_msc_count }
+ resource_def:
+ type: OS::Nova::ServerGroup
+ properties:
+ name:
+ str_replace:
+ template: $VNF_NAME_shared_rtp_msc_RSG_name_"%index%"
+ params:
+ $VNF_NAME: { get_param: vnf_name }
+ policies: ['anti-affinity']
+
+ # Internal HA network for deployment.
+ # This is a private network with all instances on the same isolated L2
+ # L2 subnet. There is no requirement for routing in an IP sense which
+ # means that there is no need for a default gateway
+ perimeta_internal_ha_ipam_net_0:
+ type: OS::ContrailV2::NetworkIpam
+ properties:
+ name:
+ str_replace:
+ template: $VF_NAME_int_ha_ipam_net_0
+ params:
+ $VF_NAME: { get_param: vnf_name }
+
+ shared_perimeta_internal_ha_net_0:
+ type: OS::ContrailV2::VirtualNetwork
+ depends_on: [ perimeta_internal_ha_ipam_net_0 ]
+ properties:
+ name:
+ str_replace:
+ template: $VF_NAME_int_ha_net_0
+ params:
+ $VF_NAME: { get_param: vnf_name }
+ virtual_network_properties:
+ virtual_network_properties_rpf: enable
+ is_shared: false
+ flood_unknown_unicast: true
+ network_ipam_refs:
+ - get_resource: perimeta_internal_ha_ipam_net_0
+ network_ipam_refs_data:
+ - network_ipam_refs_data_ipam_subnets:
+ - network_ipam_refs_data_ipam_subnets_subnet:
+ network_ipam_refs_data_ipam_subnets_subnet_ip_prefix: { get_param: perimeta_int_ha_net_prefix_v4 }
+ network_ipam_refs_data_ipam_subnets_subnet_ip_prefix_len: { get_param: perimeta_int_ha_net_prefix_len_v4 }
+ network_ipam_refs_data_ipam_subnets_enable_dhcp: false
+
+ # Internal unused network - required for unused ports on SSC.
+ shared_perimeta_unused_net_0:
+ type: OS::Neutron::Net
+ properties:
+ name:
+ str_replace:
+ template: $VF_NAME_int_unused_net
+ params:
+ $VF_NAME: { get_param: vnf_name }
+
+ # A subnet is required for unused network but we just use arbitrary IP addresses
+ # as these will never be used.
+ shared_perimeta_unused_net_0_subnet:
+ type: OS::Neutron::Subnet
+ depends_on: [ shared_perimeta_unused_net_0 ]
+ properties:
+ network: { get_resource: shared_perimeta_unused_net_0 }
+ cidr: "10.0.0.0/29"
+ ip_version: 4
+ enable_dhcp: false
+ gateway_ip: ""
+
+ # Internal parent network - required for untrusted network to anchor the VLANs
+ shared_perimeta_int_untrusted_parent_net_0:
+ type: OS::Neutron::Net
+ properties:
+ name:
+ str_replace:
+ template: $VF_NAME_int_untrusted_parent_net
+ params:
+ $VF_NAME: { get_param: vnf_name }
+
+ # A subnet is required for untrusted parent network but we just use arbitrary IP addresses
+ # as these will never be used to route traffic.
+ shared_perimeta_int_untrusted_parent_net_0_subnet:
+ type: OS::Neutron::Subnet
+ depends_on: [ shared_perimeta_int_untrusted_parent_net_0 ]
+ properties:
+ network: { get_resource: shared_perimeta_int_untrusted_parent_net_0 }
+ cidr: "11.0.0.0/24"
+ ip_version: 4
+ enable_dhcp: false
+ gateway_ip: ""
+
+outputs:
+
+ shared_perimeta_ssc_server_group:
+ description: Perimeta SSC Server group
+ value: { get_resource: shared_perimeta_ssc_server_gp}
+
+
+ shared_perimeta_rtp_msc_server_groups:
+ description: Perimeta RTP MSC Server groups
+ value: { list_join: [ ',' , { get_attr: [shared_perimeta_rtp_msc_server_gps, refs ] } ] }
+
+ shared_perimeta_keypair:
+ description: SSH keypair for deployment
+ value: { get_resource: shared_perimeta_keypair }
+
+ shared_perimeta_sec_groups:
+ description: List of security groups to use for all network interfaces
+ value: { get_resource: shared_perimeta_rsg }
+
+ shared_int_ha_net_id:
+ description: HA internal network for deployment
+ value: { get_resource: shared_perimeta_internal_ha_net_0 }
+
+ shared_int_ha_net_prefix_len_v4:
+ description: HA internal network IPv4 prefix length
+ value: { get_param: perimeta_int_ha_net_prefix_len_v4 }
+
+ shared_ssc_unused_net_id:
+ description: Unused internal network for deployment
+ value: { get_resource: shared_perimeta_unused_net_0 }
+
+ shared_int_untrusted_parent_net_id:
+ description: Internal untrusted parent network for deployment
+ value: { get_resource: shared_perimeta_int_untrusted_parent_net_0 }