- fixed_ips: [ { "ip_address": {get_param: [db_oam_ips,1] }}]
- allowed_address_pairs: [ { "ip_address": {get_param:
- db_oam_floating_ip}}]
-
-VIP Assignment, External Networks, Additional Options
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The parameter ``{vm-type}_{network-role}_floating_ip`` allows for only one
-allowed address pair IPv4 address per ``{vm-type}`` and ``{network-role}``
-combination.
-
-The parameter ``{vm-type}_{network-role}_floating_v6_ip`` allows for only one
-allowed address pair IPv6 address per ``{vm-type}`` and ``{network-role}``
-combination.
-
-If there is a need for multiple allowed address pair IPs for a given
-{vm-type} and {network-role} combination within a VNF, there are two
-options.
-
-**Option One**
-
-If there is a need for multiple allowed address pair IPs for a given
-``{vm-type}`` and ``{network-role}`` combination within a VNF, then the
-parameter names defined for the Property ``fixed_ips`` Map Property
-``ip_address`` should be used or the Property ``allowed_address_pairs``
-Map Property ``ip_address``. The
-parameter names are provided in the table below.
-
-.. csv-table:: **Table 5 OS::Neutron::Port Property allowed_address_pairs map property ip_address Parameter Naming Convention**
- :header: IP Address,Parameter Type,Parameter Name
- :align: center
- :widths: auto
-
- IPv4, string, {vm-type}_{network-role}_ip_{index}
- IPv4, comma_delimited_list, {vm-type}_{network-role}_ips
- IPv6, string, {vm-type}_{network-role}_v6_ip_{index}
- IPv6, comma_delimited_list, {vm-type}_{network-role}_v6_ips
-
-The examples below illustrate this concept.
-
-*Example: A VNF has four load balancers. Each pair has a unique VIP.*
-
-In this example, there are two administrative VM pairs. Each pair has
-one VIP. The {network-role} has been defined as oam to represent an oam
-network and the {vm-type} has been defined as admin for an
-administrative VM.
-
-Pair 1: Resources admin_0_port_0 and admin_1_port_0 share a unique VIP,
-[admin_oam_ips,2]
-
-Pair 2: Resources admin_2_port_0 and admin_3_port_0 share a unique VIP,
-[admin_oam_ips,5]
-
-.. code-block:: yaml
-
- parameters:
- oam_net_id:
- type: string
- description: Neutron UUID for the oam network
- admin_oam_ips:
- type: comma_delimited_list
- description: Fixed IP assignments for admin VMs on the oam network
-
- resources:
- admin_0_oam_port_0:
- type: OS::Neutron::Port
- properties:
- network: { get_param: oam_net_id }
- fixed_ips: [ { "ip_address": {get_param: [admin_oam_ips,0] }}]
- allowed_address_pairs: [{ "ip_address": {get_param: [admin_oam_ips,2]
- }}]
- admin_1_oam_port_0:
- type: OS::Neutron::Port
- properties:
- network: { get_param: oam_net_id }
- fixed_ips: [ { "ip_address": {get_param: [admin_oam_ips,1] }}]
- allowed_address_pairs: [{ "ip_address": {get_param: [admin_oam_ips,2]
- }}]
- admin_2_oam_port_0:
- type: OS::Neutron::Port
- properties:
- network: { get_param: oam_net_id }
- fixed_ips: [ { "ip_address": {get_param: [admin_oam_ips,3] }}]
- allowed_address_pairs: [{ "ip_address": {get_param: [admin_oam_ips,5]
- }}]
- admin_3_oam_port_0:
- type: OS::Neutron::Port
- properties:
- network: { get_param: oam_net_id }
- fixed_ips: [ { "ip_address": {get_param: [admin_oam_ips,4] }}]
- allowed_address_pairs: [{ "ip_address": {get_param: [admin_oam_ips,5]
- }}]
-
-*Example: A VNF has two load balancers. The pair of load balancers share
-two VIPs.*
-
-In this example, there is one load balancer pairs. The pair has two
-VIPs. The {network-role} has been defined as oam to represent an oam
-network and the {vm-type} has been defined as lb for a load balancer VM.
-
-.. code-block:: yaml
-
- resources:
- lb_0_oam_port_0:
- type: OS::Neutron::Port
- properties:
- network: { get_param: oam_net_id }
- fixed_ips: [ { "ip_address": {get_param: [lb_oam_ips,0] }}]
- allowed_address_pairs: [{ "ip_address": {get_param: [lb_oam_ips,2] },
- {get_param: [lb_oam_ips,3] }}]
- lb_1_oam_port_0:
- type: OS::Neutron::Port
- properties:
- network: { get_param: oam_net_id }
- fixed_ips: [ { "ip_address": {get_param: [lb_oam_ips,1] }}]
- allowed_address_pairs: [{ "ip_address": {get_param: [lb_oam_ips,2] },
- {get_param: [lb_oam_ips,3] }}]
-
-As a general rule, provide the fixed IPs for the VMs indexed first in
-the CDL and then the VIPs as shown in the examples above.
-
-**Option Two**
-
-If there is a need for multiple allowed address pair IPs for a given
-``{vm-type}`` and ``{network-role}`` combination within a VNF, then the
-parameter names defined for the table below can be used.
-
-**Resource OS::Neutron::Port**
-
-Table 6: Multiple allowed_address_pairs Option 2A
-
-.. csv-table:: **Table 6 OS::Neutron::Port Property allowed_address_pairs map property ip_address Parameter Naming Convention**
- :header: IP Address,Parameter Type,Parameter Name
- :align: center
- :widths: auto
-
- IPv4, string, {vm-type}_{network-role}_vip_{index}
- IPv4, comma_delimited_list, {vm-type}_{network-role}_vips
- IPv6, string, {vm-type}_{network-role}_v6_vip_{index}
- IPv6, comma_delimited_list, {vm-type}_{network-role}_v6_vips
-
-
-If there is a need for multiple allowed address pair IPs for a given
-``{vm-type}`` and ``{network-role}`` combination within a VNF and the need to
-differentiate the VIPs for different traffic types (e.g., 911 VIP,
-fail-over VIP), then the parameter names defined for the table below can
-be used.
-
-**Resource OS::Neutron::Port**
-
-Table 7: Multiple allowed_address_pairs Option 2B