# Template for instantiating # - 1 x HA RTP MSC pair - B instance # # The Perimeta B instance is only configured with sufficient # configuration to allow partnering from the A instance (which will complete # the configuration). # # This template assumes that a base template stack has previously been # created so that deployment wide resources such as server-groups have been # defined. # # A perimeta deployment can support one or more RTP MSCs. The parameter # rtp_msc_b_index is used to make sure that the appropriate settings for this # RTP MSC are extracted from the various address and server group arrays. # heat_template_version: 2014-10-16 description: > HOT template to instantiate an B side Perimeta RTP MSC parameters: # General VNF parameters vnf_name: type: string description: Unique name for this VNF instance vnf_id: type: string description: ID of VNF vf_module_id: type: string description: Unique ID for this VF Module instance # Availability zones availability_zone_1: type: string description: Availability zone for B instances. shared_perimeta_keypair: type: string description: Keypair to use for accessing this Perimeta instance shared_perimeta_sec_groups: type: comma_delimited_list description: List of security groups to add on all interfaces. shared_perimeta_rtp_msc_server_groups: type: comma_delimited_list description: Server group to use for these VMs # Internal network parameters shared_int_ha_net_id: type: string description: HA network id constraints: - custom_constraint: neutron.network # Constraint below is copied from base module shared_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: shared_int_ha_net_prefix_len_v4 must be between 0 and 31 # Management network parameters mgmt_net_id: type: string description: Management network ID constraints: - custom_constraint: neutron.network # Trusted/core network parameters trusted_net_id: type: string description: Network ID of Trusted/core network. constraints: - custom_constraint: neutron.network # untrusted parent network parameters shared_int_untrusted_parent_net_id: type: string description: untrusted parent network id # RTP MSC IP addresses on Untrusted/access parent network rtp_msc_untrusted_parent_vips: type: comma_delimited_list description: List of virtual IPv4 addresses on Untrusted/access parent network for RTP MSC. rtp_msc_b_untrusted_parent_ips: type: comma_delimited_list description: List of fixed IPv4 addresses on Untrusted/access parent network for RTP MSC B. perimeta_untrusted_num_vlans: 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. # RTP MSC parameters rtp_msc_flavor_name: type: string description: Flavor to use for creating RTP MSC VM instance constraints: - custom_constraint: nova.flavor rtp_msc_image_name: type: string description: Glance image to use for launching RTP MSC Perimeta instances. constraints: - custom_constraint: glance.image # 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 rtp_msc_b_index: type: number description: Index of RTP MSC to instantiate / heal. constraints: - range: { min: 0, max: 19 } description: rtp_msc_b_index must be between 0 and 19 # RTP MSC names of the physical B instance rtp_msc_b_names: type: comma_delimited_list description: List of names of VM B of RTP MSC # RTP MSC IP addresses on management network rtp_msc_mgmt_vips: type: comma_delimited_list description: List of management virtual IP addresses to use for RTP MSC. rtp_msc_b_mgmt_ips: type: comma_delimited_list description: List of management fixed IP addresses to use for RTP MSC B. # RTP MSC IP addresses on internal HA network rtp_msc_b_int_ha_ips: type: comma_delimited_list description: List of HA fixed IP addresses to use for RTP MSC B. rtp_msc_a_int_ha_ips: type: comma_delimited_list description: List of HA fixed IP addresses to use for RTP MSC A. # RTP MSC IP addresses on Trusted/core network rtp_msc_trusted_vips: type: comma_delimited_list description: List of virtual IPv4 addresses on Trusted/core network for RTP MSC. rtp_msc_b_trusted_ips: type: comma_delimited_list description: List of fixed IPv4 addresses on Trusted/core network for RTP MSC B. # RTP MSC IP addresses on Untrusted/access network rtp_msc_untrusted_vips: type: comma_delimited_list description: List of virtual IPv4 addresses on Untrusted/access network for RTP MSC. rtp_msc_untrusted_v6_vips: type: comma_delimited_list description: List of virtual IPv6 addresses on Untrusted/access network for RTP MSC. rtp_msc_b_untrusted_ips: type: comma_delimited_list description: List of fixed IPv4 addresses on Untrusted/access network for RTP MSC B. rtp_msc_b_untrusted_v6_ips: type: comma_delimited_list description: List of fixed IPv6 addresses on Untrusted/access network for RTP MSC B. resources: # Perimeta RTP MSC perimeta_rtp_msc_b: type: module_2_perimeta_sw_b_child.yaml properties: vnf_name: { get_param: vnf_name } vnf_id: { get_param: vnf_id } vm_role: 'msc' vf_module_id: { get_param: vf_module_id } rtp_msc_b_names: { get_param: rtp_msc_b_names } perimeta_instance_index: { get_param: rtp_msc_b_index } perimeta_image_name: { get_param: rtp_msc_image_name } perimeta_flavor_name: { get_param: rtp_msc_flavor_name } perimeta_keypair: { get_param: shared_perimeta_keypair } availability_zone_1: { get_param: availability_zone_1 } mgmt_net_id: { get_param: mgmt_net_id } rtp_msc_mgmt_vips: { get_param: rtp_msc_mgmt_vips } rtp_msc_b_mgmt_ips: { get_param: rtp_msc_b_mgmt_ips } perimeta_sec_groups: { get_param: shared_perimeta_sec_groups } int_ha_net_id: { get_param: shared_int_ha_net_id } int_ha_network_plen: { get_param: shared_int_ha_net_prefix_len_v4 } rtp_msc_b_int_ha_ips: { get_param: rtp_msc_b_int_ha_ips } rtp_msc_a_int_ha_ips: { get_param: rtp_msc_a_int_ha_ips } trusted_net_id: { get_param: trusted_net_id } rtp_msc_trusted_vips: { get_param: rtp_msc_trusted_vips } rtp_msc_b_trusted_ips: { get_param: rtp_msc_b_trusted_ips } rtp_msc_untrusted_vips: { get_param: rtp_msc_untrusted_vips } rtp_msc_untrusted_v6_vips: { get_param: rtp_msc_untrusted_v6_vips } rtp_msc_b_untrusted_ips: { get_param: rtp_msc_b_untrusted_ips } rtp_msc_b_untrusted_v6_ips: { get_param: rtp_msc_b_untrusted_v6_ips } int_untrusted_parent_net_id: { get_param: shared_int_untrusted_parent_net_id } rtp_msc_untrusted_parent_vips: { get_param: rtp_msc_untrusted_parent_vips } rtp_msc_b_untrusted_parent_ips: { get_param: rtp_msc_b_untrusted_parent_ips } perimeta_untrusted_num_vlans: { get_param: perimeta_untrusted_num_vlans } perimeta_untrusted_vlan_ids: { get_param: perimeta_untrusted_vlan_ids } perimeta_untrusted_vlan_networks: { get_param: perimeta_untrusted_vlan_networks } perimeta_server_groups: { get_param: shared_perimeta_rtp_msc_server_groups }