The sections below describes how to edit the Heat template and describes the meta data parameters.
In this section:
The Heat template queries additional private IPs and floating IPs when launched as a comma-separated input. The comma-separated IP address list must not have any spaces between the IP addresses as it leads to template-load error.
Associating an additional IP to a network port includes:
This sections lists the steps required to edit the template file to associate additional IPs for a port and to assign floating IPs to it.
The template file also lists the steps to edit for multiple IP support.
To associate an additional IP to a network port (PKT0 or PKT1):
EDIT - VIP PORT CREATION
section in the fixed_ips
property.Un-comment the parameter - ip_address:
The number of - ip address parameters depends on the number of IP address. For example, to add four IP address to PKT0 you must have four - ip address parameters such as:
- ip_address: {get_param: [pkt0_vips,0]}
- ip_address: {get_param: [pkt0_vips,1]}
- ip_address: {get_param: [pkt0_vips,2]}
- ip_address: {get_param: [pkt0_vips,3]}
EDIT - PRIVATE PORT CREATION - ACTIVE
section.Un-comment the - ip_address:
parameter in the allowed_address_pairs
property.
The number of - ip address parameters depends on the number of IP address. For example, to add four IP address for PKT0 you must have four - ip address parameters such as:
- ip_address: {get_param: [pkt0_vips,0]}
- ip_address: {get_param: [pkt0_vips,1]}
- ip_address: {get_param: [pkt0_vips,2]}
- ip_address: {get_param: [pkt0_vips,3]}
EDIT - PRIVATE PORT CREATION - STANDBY
section.ADD - ADDITIONAL FLOATING IP CREATION
section.Create floating IPs as:
pktX_floating_ip_A: type: OS::Neutron::FloatingIP properties: floating_network: { get_param: pktX_ext_network } port_id: { get_resource: pktX_vip_port } fixed_ip_address: {get_param: [pktX_vips,Y]} floating_ip_address: {get_param: [additional_Fips_pktX,Z]}
where X
is set to 0 for PKT0 and 1 for PKT1Y
is set to 0 to (n-1) where, n is the number of PKT IP addressZ
is set to 0 to (m-1) where, m is the number of floating IP address
To automatically assign floating IPs, comment floating_ip_address
.
This step is not applicable for IPv6.
METADATA_APPEND_ABOVE
section.Append the following about the METADATA_APPEND_ABOVE
section:
With Floating IP Format: ALT_PKTX_01: { "IFName": "YYY", "IP": {get_param: [pktX_vips,0]}, "FIPV4": { get_attr: [pktX_floating_ip_A, floating_ip_address] } } Without Floating IP Format: ALT_PKTX_01: { "IFName": "YYY", "IP": {get_param: [pktX_vips,0]}}
"With Floating IP Format" is not applicable for IPv6.
where X
is set to 0 or 1 for PKTALT_PKTX_01
is the alternate IP name or meta key nameYYY
is IF name of PKT ports for example, IF2 for PKT0pktX_floating_ip_A
is the IP resurnce names created earlier
Repeat step 5 (a and b) for Standby instance.
The maximum length of the alternate IP name or meta key name is 23 characters.
To enable SR-IOV on packet ports:
Edit the ports information section:
pkt0_port1: type: OS::Neutron::Port properties: network: { get_param : private_network_pkt0 } fixed_ips: # pkt0 EDIT: uncomment below line to DISABLE DHCP or comment to ENABLE DHCP - ip_address: { get_param: PKT0IPv4} #- ip_address: { get_param: PKT1IPv4} #- ip_address: {get_param: [pkt0_alt_ips,0]} #- ip_address: {get_param: [pkt0_alt_ips,1]} # pkt1 EDIT: uncomment below line to ENABLE DHCP or comment to DISABLE DHCP #- subnet: { get_param: private_subnet_pkt0} #binding:vnic_type: direct security_groups: - { get_param: security_group }
The "binding:vnic_type
" must be same for all packet ports.