# Template for instantiating # - 1 x HA SSC 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. # heat_template_version: 2014-10-16 description: > HOT template to instantiate an B side Perimeta SSC 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_ssc_server_group: type: string 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 # Unused network parameters # # This is used for connecting the unused 4th SSC service interface. shared_ssc_unused_net_id: type: string description: Unused network ID # 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 # SSC IP addresses on Untrusted/access parent network ssc_untrusted_parent_vip_0: type: string description: Virtual IPv4 address on Untrusted/access parent network for SSC. ssc_b_untrusted_parent_ip_0: type: string description: Fixed IPv4 address on Untrusted/access parent network for SSC 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. # SSC parameters ssc_flavor_name: type: string description: Flavor to use for creating SSC VM instance constraints: - custom_constraint: nova.flavor ssc_image_name: type: string description: Glance image to use for launching SSC Perimeta instances. constraints: - custom_constraint: glance.image # SSC names of the physical B instance ssc_b_name_0: type: string description: Name of VM B of SSC constraints: - allowed_pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,29}$' description: VM name must be 30 characters or less. Only alphanumeric characters plus hyphen are allowed. # SSC IP addresses on management network ssc_mgmt_vip_0: type: string description: Management virtual IP address to use for SSC. ssc_b_mgmt_ip_0: type: string description: Management fixed IP address to use for SSC B. # SSC IP addresses on internal HA network ssc_b_int_ha_ip_0: type: string description: HA fixed IP address to use for SSC B. ssc_a_int_ha_ip_0: type: string description: HA fixed IP address to use for SSC A. # SSC IP addresses on Trusted/core network ssc_trusted_vip_0: type: string description: Virtual IPv4 address on Trusted/core network for SSC. ssc_b_trusted_ip_0: type: string description: Fixed IPv4 address on Trusted/core network for SSC B. # SSC IP addresses on Untrusted/access network ssc_untrusted_vip_0: type: string description: Virtual IPv4 address on Untrusted/access network for SSC. ssc_untrusted_v6_vip_0: type: string description: Virtual IPv6 address on Untrusted/access network for SSC. ssc_b_untrusted_ip_0: type: string description: Fixed IPv4 address on Untrusted/access network for SSC B. ssc_b_untrusted_v6_ip_0: type: string description: Fixed IPv6 address on Untrusted/access network for SSC B. # # RF virtual IPv4 address on management/Rf network for SSC. # ssc_rf_vip_0: type: string description: RF virtual IP address to use for SSC. ssc_b_rf_ip_0: type: string description: RF fixed IP address to use for SSC B. resources: # Perimeta SSC perimeta_ssc_b: type: module_1_perimeta_swmu_b_child.yaml properties: vnf_name: { get_param: vnf_name } vnf_id: { get_param: vnf_id } vm_role: 'ssc' vf_module_id: { get_param: vf_module_id } ssc_b_name_0: { get_param: ssc_b_name_0 } perimeta_image_name: { get_param: ssc_image_name } perimeta_flavor_name: { get_param: ssc_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 } ssc_mgmt_vip_0: { get_param: ssc_mgmt_vip_0 } ssc_b_mgmt_ip_0: { get_param: ssc_b_mgmt_ip_0 } 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 } ssc_b_int_ha_ip_0: { get_param: ssc_b_int_ha_ip_0 } ssc_a_int_ha_ip_0: { get_param: ssc_a_int_ha_ip_0 } trusted_net_id: { get_param: trusted_net_id } ssc_trusted_vip_0: { get_param: ssc_trusted_vip_0 } ssc_b_trusted_ip_0: { get_param: ssc_b_trusted_ip_0 } ssc_untrusted_vip_0: { get_param: ssc_untrusted_vip_0 } ssc_untrusted_v6_vip_0: { get_param: ssc_untrusted_v6_vip_0 } ssc_b_untrusted_ip_0: { get_param: ssc_b_untrusted_ip_0 } ssc_b_untrusted_v6_ip_0: { get_param: ssc_b_untrusted_v6_ip_0 } int_untrusted_parent_net_id: { get_param: shared_int_untrusted_parent_net_id } ssc_untrusted_parent_vip_0: { get_param: ssc_untrusted_parent_vip_0 } ssc_b_untrusted_parent_ip_0: { get_param: ssc_b_untrusted_parent_ip_0 } 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_group: { get_param: shared_perimeta_ssc_server_group } ssc_rf_vip_0: { get_param: ssc_rf_vip_0 } ssc_b_rf_ip_0: { get_param: ssc_b_rf_ip_0 } unused_port_net_id: { get_param: shared_ssc_unused_net_id }