aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_2_perimeta_sw_b_child.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/module_2_perimeta_sw_b_child.yaml')
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_2_perimeta_sw_b_child.yaml292
1 files changed, 292 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/module_2_perimeta_sw_b_child.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_2_perimeta_sw_b_child.yaml
new file mode 100644
index 0000000000..3aa1a66ba1
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_2_perimeta_sw_b_child.yaml
@@ -0,0 +1,292 @@
+# Heat template which intstantiates an B side Perimeta RTP MSC instance with
+# 4 vNICs.
+#
+# This is designed to be included in a higher level template.
+#
+# This template puts the Perimeta configuration in place using userdata
+# injected via OpenStack's ConfigDrive mechanism.
+#
+# Host anti-affinity is achieved using different availability zones for
+# the Perimeta instance or server group anti-affinity if they are in the
+# same availability zone.
+#
+# Template requires Juno or above and has been tested on Kilo.
+#
+heat_template_version: 2014-10-16
+
+description: >
+ HOT template to instantiate an B side Perimeta RTP MSC instance with 4 vNICs as part of a nested template
+
+parameters:
+ vnf_name:
+ type: string
+ description: Unique name for this VNF instance
+ vnf_id:
+ type: string
+ description: VNF ID of this deployment
+ vm_role:
+ type: string
+ description: Role of these VMs
+ vf_module_id:
+ type: string
+ description: Unique ID for this VF Module instance
+ # Index of the instance to instantiate / heal. This is used to access the
+ # various address / name / server group arrays to extract the information
+ # specific to this server.
+ #
+ # The constraints need to be co-ordinated with the parameter
+ # perimeta_max_rtp_msc_count in the base template. Unfortunately we cannot
+ # use a get_param call to get a constraint so it has to be a number.
+ #
+ # We also need to account for the fact that arrays start at zero and we are
+ # specifying the index in this parameter so the maximum constraint is 1 less
+ # than the maximum in the base template
+ perimeta_instance_index:
+ type: number
+ description: Index of instance among multiple instances. Use to retrieve correct parameter for this instance when passed all parameters for all instances.
+ constraints:
+ - range: { min: 0, max: 19 }
+ description: perimeta_instance_index must be between 0 and 19
+ rtp_msc_b_names:
+ type: comma_delimited_list
+ description: List of names of Perimeta VM B instances, indexed by perimeta_instance_index
+ perimeta_image_name:
+ type: string
+ description: Glance image for Perimeta instance
+ perimeta_flavor_name:
+ type: string
+ description: Flavor to use for creating VM instances
+ perimeta_keypair:
+ type: string
+ description: Keypair to use for accessing this Perimeta instance
+ availability_zone_1:
+ # Can be commented out along with references if always using a single availability zone
+ type: string
+ description: Availability zone for B instances. May be the same as A instance.
+ mgmt_net_id:
+ type: string
+ description: Management network id
+ rtp_msc_mgmt_vips:
+ type: comma_delimited_list
+ description: List of management virtual IP addresses for all instances.
+ rtp_msc_b_mgmt_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as management IPs of B instances.
+ int_ha_net_id:
+ type: string
+ description: HA network id
+ int_ha_network_plen:
+ # Constraint copied from base module
+ type: number
+ description: Prefix length of subnet associated with internal HA network
+ constraints:
+ - range: { min: 0, max: 31 }
+ description: int_ha_network_plen must be between 0 and 31
+ rtp_msc_b_int_ha_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as HA IPs of B instances.
+ rtp_msc_a_int_ha_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as HA IPs of A instances.
+ trusted_net_id:
+ type: string
+ description: Trusted/core network UUID
+ rtp_msc_trusted_vips:
+ type: comma_delimited_list
+ description: List of Trusted/core virtual IP addresses for all instances.
+ rtp_msc_b_trusted_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as Trusted/core fixed IPs of B instances.
+ perimeta_sec_groups:
+ type: comma_delimited_list
+ description: List of security groups to add on trusted interfaces.
+ rtp_msc_untrusted_vips:
+ type: comma_delimited_list
+ description: List of Untrusted/access virtual IP addresses for all instances.
+ rtp_msc_untrusted_v6_vips:
+ type: comma_delimited_list
+ description: List of Untrusted/access alternate virtual IP addresses for all instances.
+ rtp_msc_b_untrusted_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as Untrusted/access fixed IPs of B instances.
+ rtp_msc_b_untrusted_v6_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as Untrusted/access alternate fixed IPs of B instances.
+ int_untrusted_parent_net_id:
+ type: string
+ description: internal Untrusted/access parent network id
+ rtp_msc_untrusted_parent_vips:
+ type: comma_delimited_list
+ description: List of Untrusted/access parent virtual IP addresses for all instances.
+ rtp_msc_b_untrusted_parent_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as Untrusted/access parent fixed IPs of B instances.
+ perimeta_untrusted_num_vlans:
+ # constraint copied from parent module
+ type: number
+ description: number of VLANs to connect to the untrusted/access interface
+ constraints:
+ - range: { min: 1, max: 1001 }
+ description: perimeta_untrusted_num_vlans (number of VLANs to connect to the untrusted/access interface) must be between 1 and 1001
+ perimeta_untrusted_vlan_ids:
+ type: comma_delimited_list
+ description: List of VLAN IDs to use on the untrusted/access network
+ perimeta_untrusted_vlan_networks:
+ type: comma_delimited_list
+ description: List of Contrail VLAN networks to use on the untrusted/access network. The order and number of these must match the VLAN ID list.
+ perimeta_server_groups:
+ type: comma_delimited_list
+ description: Server groups to use for these VMs
+
+resources:
+ # Perimeta management ports
+ perimeta_rtp_msc_b_mgmt_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VNF_NAME_$VM_mgmt_0_port
+ params:
+ $VNF_NAME : { get_param: vnf_name }
+ $VM: { get_param: [ rtp_msc_b_names, { get_param: perimeta_instance_index } ] }
+ network: { get_param: mgmt_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [ rtp_msc_b_mgmt_ips, { get_param: perimeta_instance_index } ] }
+ security_groups: { get_param: perimeta_sec_groups }
+ allowed_address_pairs:
+ - ip_address: { get_param: [ rtp_msc_mgmt_vips, { get_param: perimeta_instance_index } ] }
+
+ # Perimeta HA ports
+ perimeta_rtp_msc_b_ha_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VNF_NAME_$VM_ha_port
+ params:
+ $VNF_NAME : { get_param: vnf_name }
+ $VM: { get_param: [ rtp_msc_b_names, { get_param: perimeta_instance_index } ] }
+ network: { get_param: int_ha_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [ rtp_msc_b_int_ha_ips, { get_param: perimeta_instance_index } ] }
+ security_groups: { get_param: perimeta_sec_groups }
+
+ # Perimeta Trusted/core service network ports
+ #
+ # Dual stack core network
+ # - if only IPv4 required comment out second entry in fixed_ips and allowed_addess_pairs parameters.
+ # - if only IPv6 required comment out first entry in fixed_ips and allowed_addess_pairs parameters.
+ perimeta_rtp_msc_b_trusted_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VNF_NAME_$VM_trusted_port
+ params:
+ $VNF_NAME : { get_param: vnf_name }
+ $VM: { get_param: [ rtp_msc_b_names, { get_param: perimeta_instance_index } ] }
+ network: { get_param: trusted_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [ rtp_msc_b_trusted_ips, { get_param: perimeta_instance_index } ] }
+ security_groups: { get_param: perimeta_sec_groups }
+ allowed_address_pairs:
+ - ip_address: { get_param: [ rtp_msc_trusted_vips, { get_param: perimeta_instance_index } ] }
+
+ # Perimeta Untrusted/access service network ports
+ # VLAN being used on this service interface.
+ # The parent network port is used to anchor the VLANs and is not used to
+ # route actual traffic for the service interface. This means that we can
+ # create a dummy network in the base module and use that instead of the
+ # real untrusted network
+
+ perimeta_rtp_msc_b_untrusted_parent_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VNF_NAME_$VM_untrusted_parent_port
+ params:
+ $VNF_NAME : { get_param: vnf_name }
+ $VM: { get_param: [ rtp_msc_b_names, { get_param: perimeta_instance_index } ] }
+ network: { get_param: int_untrusted_parent_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [ rtp_msc_b_untrusted_parent_ips, { get_param: perimeta_instance_index } ] }
+ security_groups: { get_param: perimeta_sec_groups }
+ allowed_address_pairs:
+ - ip_address: { get_param: [ rtp_msc_untrusted_parent_vips, { get_param: perimeta_instance_index } ] }
+
+
+ # Contrail VLAN subinterfaces
+ perimeta_rtp_msc_b_untrusted_0_vlan_ports:
+ type: OS::Heat::ResourceGroup
+ properties:
+ count: { get_param: perimeta_untrusted_num_vlans }
+ resource_def:
+ type: vlan_subinterface_dual.yaml
+ properties:
+ perimeta_subinterface_instance_index: "%index%"
+ perimeta_subinterface_name_prefix:
+ str_replace:
+ template: $VNF_NAME_$VM_untrusted_port_vlan
+ params:
+ $VNF_NAME : { get_param: vnf_name }
+ $VM: { get_param: [ rtp_msc_b_names, { get_param: perimeta_instance_index } ] }
+ perimeta_parent_interface: { get_resource: perimeta_rtp_msc_b_untrusted_parent_0_port }
+ perimeta_mac_address: { get_attr: [ perimeta_rtp_msc_b_untrusted_parent_0_port, mac_address ] }
+ perimeta_ip_0: { get_param: [ rtp_msc_b_untrusted_ips, { get_param: perimeta_instance_index } ] }
+ perimeta_v6_ip_0: { get_param: [ rtp_msc_b_untrusted_v6_ips, { get_param: perimeta_instance_index } ] }
+ perimeta_vip_0: { get_param: [ rtp_msc_untrusted_vips, { get_param: perimeta_instance_index } ] }
+ perimeta_v6_vip_0: { get_param: [ rtp_msc_untrusted_v6_vips, { get_param: perimeta_instance_index } ] }
+ perimeta_vlan_ids: { get_param: perimeta_untrusted_vlan_ids }
+ perimeta_vlan_networks: { get_param: perimeta_untrusted_vlan_networks }
+
+ # Add any additional service ports here.
+
+ perimeta_rtp_msc_b_server_0:
+ type: OS::Nova::Server
+ properties:
+ name: { get_param: [ rtp_msc_b_names, { get_param: perimeta_instance_index } ] }
+ image: { get_param: perimeta_image_name }
+ flavor: { get_param: perimeta_flavor_name }
+ key_name: { get_param: perimeta_keypair }
+ scheduler_hints: { group: { get_param: [ perimeta_server_groups, { get_param: perimeta_instance_index } ] } }
+ metadata:
+ 'vnf_name': { get_param: vnf_name }
+ 'vnf_id': { get_param: vnf_id }
+ 'vm_role':
+ str_replace:
+ template: $ROLE_b
+ params:
+ $ROLE: { get_param: vm_role }
+ 'vf_module_id': { get_param: vf_module_id }
+ 'msw_template_version': '17.07.04 - 2017-09-01'
+ networks:
+ - port: { get_resource: perimeta_rtp_msc_b_mgmt_0_port }
+ - port: { get_resource: perimeta_rtp_msc_b_ha_0_port }
+ - port: { get_resource: perimeta_rtp_msc_b_trusted_0_port }
+ - port: { get_resource: perimeta_rtp_msc_b_untrusted_parent_0_port }
+ availability_zone: { get_param: availability_zone_1 }
+ config_drive: True
+ user_data_format: RAW
+ user_data:
+ str_replace:
+ template: |
+ {
+ "vnic_assignment": {
+ "IBG1mgmt": {"mac": "$MGMT_MACADDR"},
+ "IPG1": {"mac": "$HA_MACADDR"},
+ "RPG1": {"mac": "$TRUSTED_MACADDR"},
+ "RPG2": {"mac": "$UNTRUSTED_MACADDR"}
+ },
+ "ip_ha_local": "$LOCAL_HA_IP_ADDR",
+ "ip_ha_remote": "$REMOTE_HA_IP_ADDR",
+ "ip_ha_plen": "$HA_NETWORK_PLEN"
+ }
+ params:
+ $MGMT_MACADDR: { get_attr: [perimeta_rtp_msc_b_mgmt_0_port, mac_address] }
+ $HA_MACADDR: { get_attr: [perimeta_rtp_msc_b_ha_0_port, mac_address] }
+ $TRUSTED_MACADDR: { get_attr: [perimeta_rtp_msc_b_trusted_0_port, mac_address] }
+ $UNTRUSTED_MACADDR: { get_attr: [perimeta_rtp_msc_b_untrusted_parent_0_port, mac_address] }
+ $LOCAL_HA_IP_ADDR: { get_param: [ rtp_msc_b_int_ha_ips, { get_param: perimeta_instance_index } ] }
+ $REMOTE_HA_IP_ADDR: { get_param: [ rtp_msc_a_int_ha_ips, { get_param: perimeta_instance_index } ] }
+ $HA_NETWORK_PLEN: { get_param: int_ha_network_plen } \ No newline at end of file