From 280f8015d06af1f41a3ef12e8300801c7a5e0d54 Mon Sep 17 00:00:00 2001 From: AviZi Date: Fri, 9 Jun 2017 02:39:56 +0300 Subject: [SDC-29] Amdocs OnBoard 1707 initial commit. Change-Id: Ie4d12a3f574008b792899b368a0902a8b46b5370 Signed-off-by: AviZi --- .../module_2_perimeta_rtp_msc_b_healing.yaml | 381 +++++++++++++++++++++ 1 file changed, 381 insertions(+) create mode 100644 openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/module_2_perimeta_rtp_msc_b_healing.yaml (limited to 'openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/module_2_perimeta_rtp_msc_b_healing.yaml') diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/module_2_perimeta_rtp_msc_b_healing.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/module_2_perimeta_rtp_msc_b_healing.yaml new file mode 100644 index 0000000000..b071897d70 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/module_2_perimeta_rtp_msc_b_healing.yaml @@ -0,0 +1,381 @@ +# Heat template which intstantiates a Perimeta SSC and up to 10 Perimeta +# RTP MSCs and up to 10 Perimeta MSRP MSCs. Currently all instances are +# HA although standalone MSCs may be supported in future. +# +# This Heat template commissions, partners and configures the Perimeta SSC and +# MSCs with basic configuration defined by ssc_a_template.json, +# msc_a_template.json and mmc_a_template.json. These can be modified +# as required to obtain the required Perimeta configuration. +# +# This template puts the Perimeta configuration in place using userdata +# injected via OpenStack's ConfigDrive mechanism. +# +# This template sets up anti-affinity using server group anti-affinity and +# optionally availability zone anti-affinity. +# +# This template will work with any version of Perimeta software from 3.9.20. +# +# Pre-requisites are: +# - existing networks as follows +# - network for management traffic +# - network for HA traffic +# - network for core/trusted service traffic +# - network for access/untrusted service traffic +# - pre-loaded Perimeta image +# - suitable flavor to use for Perimeta SSC +# - suitable flavor to use for Perimeta RTP MSCs +# - suitable flavor to use for Perimeta MSRP MSCs +# - suitable keypair to use for Perimeta +# +# Virtual IP address and fixed IP addresses to use for the Perimeta instances +# must be provided as parameters. +# +# Template requires Juno or above and has been tested on Kilo. Note that in +# some deployments, Heat template validation will fail but actually creating +# a stack using the template will succeed. This is due to problems with +# Heat validating nested templates. +# +heat_template_version: 2014-10-16 + +description: > + HOT template to instantiate a Perimeta SSC plus MxRTP MSCs plus NxMSRP MSCs + +parameters: + # General VNF parameters + vnf_id: + type: string + description: ID of VNF + + vf_module_id: + type: string + description: Unique ID for this VF Module instance + + availability_zone_0: + type: string + description: Availability zone for A instances. + availability_zone_1: + type: string + description: Availability zone for B instances. + perimeta_keypair: + type: string + description: Keypair to use for accessing these Perimeta instances + constraints: + - custom_constraint: nova.keypair + ntp_server_ip_addrs: + type: string + description: NTP server IPv4 addresses, separated by commas. These must be accessible from the management network + constraints: + - allowed_pattern: "((?:\\d{1,3}\\.){3}\\d{1,3},)*((?:\\d{1,3}\\.){3}\\d{1,3})" + description: ntp_server_ip_addrs must be a comma separated list of IPv4 addresses (with no spaces) + perimeta_param_server_group: + type: string + description: UUID of server group to set anti-affinity policy for Perimeta instance. Only used when doing healing. + + # Management network parameters + mgmt_net_id: + type: string + description: Management network ID + constraints: + - custom_constraint: neutron.network + mgmt_net_plen: + type: number + description: Management network prefix length + constraints: + - range: { min: 0, max: 32 } + description: mgmt_net_plen must be between 0 and 32 + mgmt_net_default_gateway: + type: string + description: Default gateway for management network + mgmt_net_sec_groups: + type: comma_delimited_list + description: Management network security groups + + # Internal high availability network parameters + int_ha_net_id: + type: string + description: Internal HA network ID + constraints: + - custom_constraint: neutron.network + int_ha_net_plen: + type: number + description: Intermal HA network prefix length. + constraints: + - range: { min: 0, max: 32 } + description: int_ha_net_plen must be between 0 and 32 + int_ha_net_sec_groups: + type: comma_delimited_list + description: Security groups associated with internal HA network + + # Trusted/core network parameters + trusted_net_id: + type: string + description: Network ID of trusted/core network. + constraints: + - custom_constraint: neutron.network + trusted_net_sec_groups: + type: comma_delimited_list + description: Security groups associated with trusted/core network + + # Untrusted/access network parameters + untrusted_net_id: + type: string + description: Network ID of untrusted/access network. + constraints: + - custom_constraint: neutron.network + untrusted_net_sec_groups: + type: comma_delimited_list + description: Security groups associated with untrusted/access network + untrusted_num_vlans: + type: number + description: Number of VLANs to connect to on the untrusted/access network + untrusted_vlan_ids: + type: comma_delimited_list + description: List of VLAN IDs to use on the untrusted/access network + 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 + + # Unused network parameters + # + # This is used for connecting the unused 4th SSC service interface. + unused_port_net_id: + type: string + description: Unused network ID + constraints: + - custom_constraint: neutron.network + + # 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_a_name_0: + type: string + description: Name of VM A of SSC + constraints: + - allowed_pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,31}$' + description: VM A name must be 32 characters or less and a valid hostname. Only alphanumeric characters plus hyphen are allowed. + 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,31}$' + description: VM B name must be 32 characters or less and a valid hostname. Only alphanumeric characters plus hyphen are allowed. + ssc_system_name_0: + type: string + description: System name of SSC + constraints: + - allowed_pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,31}$' + description: System name must be 32 characters or less and a valid hostname. 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. Only required when predefining VIPs. + ssc_a_mgmt_ip_0: + type: string + description: Management fixed IP address to use for SSC A. Only required when predefining fixed IPs. + ssc_b_mgmt_ip_0: + type: string + description: Management fixed IP address to use for SSC B. Only required when predefining fixed IPs. + + # SSC IP addresses on internal HA network + ssc_a_int_ha_ip_0: + type: string + description: HA fixed IP address to use for SSC A. Only required when predefining fixed IPs. + ssc_b_int_ha_ip_0: + type: string + description: HA fixed IP address to use for SSC B. Only required when predefining fixed IPs. + + # SSC IP addresses on trusted/core network + ssc_trusted_vip_0: + type: string + description: Virtual IPv4 address on trusted/core network for SSC. + ssc_a_trusted_ip_0: + type: string + description: Fixed IPv4 address on trusted/core network for SSC A. Only required when predefining fixed IPs. + ssc_b_trusted_ip_0: + type: string + description: Fixed IPv4 address on trusted/core network for SSC B. Only required when predefining fixed IPs. + + # SSC IP addresses on untrusted/access network + ssc_untrusted_vip_0: + type: string + description: Virtual IPv4 address on untrusted/access network for SSC. Only required when predefining virtual IPs. + ssc_untrusted_v6_vip_0: + type: string + description: Virtual IPv6 address on untrusted/access network for SSC. Only required when predefining virtual IPs. + ssc_a_untrusted_ip_0: + type: string + description: Fixed IPv4 address on untrusted/access network for SSC A. Only required when predefining fixed IPs. + ssc_a_untrusted_v6_ip_0: + type: string + description: Fixed IPv6 address on untrusted/access network for SSC A. Only required when predefining fixed IPs. + ssc_b_untrusted_ip_0: + type: string + description: Fixed IPv4 address on untrusted/access network for SSC B. Only required when predefining fixed IPs. + ssc_b_untrusted_v6_ip_0: + type: string + description: Fixed IPv6 address on untrusted/access network for SSC B. Only required when predefining fixed IPs. + + # SSC IP addresses on management/Rf network + ssc_rf_vip_0: + type: string + description: Virtual IPv4 address on management/Rf network for SSC. Only required when predefining virtual IPs. + ssc_a_rf_ip_0: + type: string + description: Fixed IPv4 address on management/Rf network for SSC A. Only required when predefining fixed IPs. + ssc_b_rf_ip_0: + type: string + description: Fixed IPv4 address on management/Rf network for SSC B. Only required when predefining fixed IPs. + + # RTP MSC parameters + rtp_msc_count: + type: number + description: Count of required RTP MSCs + rtp_msc_index: + type: number + description: Index of RTP MSC to create/heal. + rtp_msc_flavor_name: + type: string + description: Flavor to use for creating RTP MSC VM instances + 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 + rtp_msc_a_names: + type: comma_delimited_list + description: List of names of RTP MSC VM A instances + rtp_msc_b_names: + type: comma_delimited_list + description: List of names of RTP MSC VM B instances + rtp_msc_system_names: + type: comma_delimited_list + description: List of system names of RTP MSC instances + + # RTP MSC IP addresses on management network + rtp_msc_mgmt_vips: + type: comma_delimited_list + description: Management virtual IP addresses to use for RTP MSC instances. There must be at least as many as the number of RTP MSCs. + rtp_msc_a_mgmt_ips: + type: comma_delimited_list + description: Management fixed IP addresses to use for RTP MSC A instances. There must be at least as many as the number of RTP MSCs. + rtp_msc_b_mgmt_ips: + type: comma_delimited_list + description: Management fixed IP addresses to use for RTP MSC B instances. There must be at least as many as the number of RTP MSCs. + + # RTP MSC IP addresses on internal HA network + rtp_msc_a_int_ha_ips: + type: comma_delimited_list + description: HA fixed IP addresses to use for RTP MSC A instances. There must be at least as many as the number of RTP MSCs. + rtp_msc_b_int_ha_ips: + type: comma_delimited_list + description: HA fixed IP addresses to use for RTP MSC B instances. There must be at least as many as the number of RTP MSCs. + + # RTP MSC IP addresses on trusted/core network + rtp_msc_trusted_vips: + type: comma_delimited_list + description: Virtual IPv4 addresses on trusted/core network for RTP MSC instances. There must be at least as many as the number of RTP MSCs. + rtp_msc_a_trusted_ips: + type: comma_delimited_list + description: Fixed IPv4 addresses on trusted/core network for RTP MSC A instances. There must be at least as many as the number of RTP MSCs. + rtp_msc_b_trusted_ips: + type: comma_delimited_list + description: Fixed IPv4 address on trusted/core network for RTP MSC B instances. There must be at least as many as the number of RTP MSCs. + + # RTP MSC IP addresses on untrusted/access network + rtp_msc_untrusted_vips: + type: comma_delimited_list + description: Virtual IPv4 address on untrusted/access network for RTP MSC instances. There must be at least as many as the number of RTP MSCs. + rtp_msc_untrusted_v6_vips: + type: comma_delimited_list + description: Virtual IPv6 address on untrusted/access network for RTP MSC instances. There must be at least as many as the number of RTP MSCs. + rtp_msc_a_untrusted_ips: + type: comma_delimited_list + description: Fixed IPv4 address on untrusted/access network for RTP MSC A instances. There must be at least as many as the number of RTP MSCs. + rtp_msc_a_untrusted_v6_ips: + type: comma_delimited_list + description: Fixed IPv6 address on untrusted/access network for RTP MSC A instances. There must be at least as many as the number of RTP MSCs. + rtp_msc_b_untrusted_ips: + type: comma_delimited_list + description: Fixed IPv4 address on untrusted/access network for RTP MSC B instances. There must be at least as many as the number of RTP MSCs. + rtp_msc_b_untrusted_v6_ips: + type: comma_delimited_list + description: Fixed IPv6 address on untrusted/access network for RTP MSC B instances. There must be at least as many as the number of RTP MSCs. + +resources: + + + # Perimeta RTP MSCs. + perimeta_rtp_mscs: + type: perimeta_ha_sw_b.yaml + properties: + vnf_id: { get_param: vnf_id } + vm_role: 'rtp_msc' + vf_module_id: { get_param: vf_module_id } + system_names: { get_param: rtp_msc_system_names } + vm_a_names: { get_param: rtp_msc_a_names } + vm_b_names: { get_param: rtp_msc_b_names } + perimeta_instance_index: { get_param: rtp_msc_index } + perimeta_image_name: { get_param: rtp_msc_image_name } + perimeta_flavor_name: { get_param: rtp_msc_flavor_name } + perimeta_keypair: { get_param: perimeta_keypair } + availability_zone_0: { get_param: availability_zone_0 } + availability_zone_1: { get_param: availability_zone_1 } + mgmt_net_id: { get_param: mgmt_net_id } + mgmt_net_plen: { get_param: mgmt_net_plen } + mgmt_net_default_gateway: { get_param: mgmt_net_default_gateway } + mgmt_vips: { get_param: rtp_msc_mgmt_vips } + mgmt_a_ips: { get_param: rtp_msc_a_mgmt_ips } + mgmt_b_ips: { get_param: rtp_msc_b_mgmt_ips } + mgmt_sec_groups: { get_param: mgmt_net_sec_groups } + ha_net_id: { get_param: int_ha_net_id } + ha_network_plen: { get_param: int_ha_net_plen } + ha_a_ips: { get_param: rtp_msc_a_int_ha_ips } + ha_b_ips: { get_param: rtp_msc_b_int_ha_ips } + ha_sec_groups: { get_param: int_ha_net_sec_groups } + trusted_net_id: { get_param: trusted_net_id } + trusted_vips: { get_param: rtp_msc_trusted_vips } + trusted_a_ips: { get_param: rtp_msc_a_trusted_ips } + trusted_b_ips: { get_param: rtp_msc_b_trusted_ips } + trusted_sec_groups: { get_param: trusted_net_sec_groups } + untrusted_net_id: { get_param: untrusted_net_id } + untrusted_vips: { get_param: rtp_msc_untrusted_vips } + untrusted_v6_vips: { get_param: rtp_msc_untrusted_v6_vips } + untrusted_a_ips: { get_param: rtp_msc_a_untrusted_ips } + untrusted_a_v6_ips: { get_param: rtp_msc_a_untrusted_v6_ips } + untrusted_b_ips: { get_param: rtp_msc_b_untrusted_ips } + untrusted_b_v6_ips: { get_param: rtp_msc_b_untrusted_v6_ips } + untrusted_sec_groups: { get_param: untrusted_net_sec_groups } + untrusted_num_vlans: { get_param: untrusted_num_vlans } + untrusted_vlan_ids: { get_param: untrusted_vlan_ids } + untrusted_vlan_networks: { get_param: untrusted_vlan_networks } + perimeta_param_server_group: { get_param: perimeta_param_server_group } + perimeta_config: + str_replace: + template: {get_file: msc_a_template.json} + params: + $NTP_SERVER_IP_ADDRS: { get_param: ntp_server_ip_addrs } + $COMPLETION_PARAMS: '' + + +outputs: + + + rtp_msc_server_groups: + description: Server groups for RTP MSC pairs + value: { get_attr: [ perimeta_rtp_mscs, server_group_used ] } + + + msw_template_version: + description: Version of the heat templates used to instantiate the VMs + value: "4.0.1 - 2016-10-28" -- cgit 1.2.3-korg