You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

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:

  1. Virtual port creation
  2. Private port creation
  3. Floating IP creation (Optional)
  4. Updating Meta data
  5. Enabling SR-IOV on Packet Ports (Pkt0 and Pkt1)

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.

Associating Additional IPs to Network Port

To associate an additional IP to a network port (PKT0 or PKT1):

  1. Open the template file in vi editor.
  2. To create virtual ports:
    1. Search for EDIT - VIP PORT CREATION section in the fixed_ips property.
    2. 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]}

  3. To create allowed address pairs for fixed IPs:
    1. Search for EDIT - PRIVATE PORT CREATION - ACTIVE section.
    2. 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]}

    3. Search for EDIT - PRIVATE PORT CREATION - STANDBY section.
    4. Repeat step 3 (b).
  4. To associate floating IPs for fixed IPs (Optional):
    1. Search for ADD - ADDITIONAL FLOATING IP CREATION section.
    2. 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 PKT1
      Y is set to 0 to (n-1)  where, n is the number of PKT IP address
      Z 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.

  5. To update meta-data:
    1. Search for METADATA_APPEND_ABOVE section.
    2. 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 PKT
      ALT_PKTX_01 is the alternate IP name or meta key name
      YYY is IF name of PKT ports for example, IF2 for PKT0
      pktX_floating_ip_A is the IP resurnce names created earlier

    3. Repeat step 5 (a and b) for Standby instance.

      The maximum length of the alternate IP name or meta key name is 23 characters.

  6. To enable SR-IOV on packet ports:

    1. Search for PKT0 and PKT1 interface ports.
    2. 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 }

      Input Parameter Details for createPorts Function

      ParameterTypeMandatory (Yes/No)Description

      network

      stringNoThe network ID.

      subnet

      stringNoThe subnet Id on the "network".

      security_group

      List of stringNo The IDs of the security group.

      allowed_address_pairs

      List<Map<String,String>>NoA set of zero or more allowed address pairs,map
      keys are "ip_address" and "mac_address"
      (Example: allowed_address_pairs: [{ip_address: "10.2.0.1"}])
      vnic_typestringNoIndicates the vNIC type to be bound on the neutron port. By default, it is a normal virtual port. The available options are normal or direct. If you are using SR-IOV and PCI-Passthrough, you can request the neutron port to be direct, by changing the virtualNICType to direct. It only works for Neutron deployments that support the bindings extension.

      The "binding:vnic_type" must be same for all packet ports.

  • No labels