CliQr is now part of Cisco Learn More About Cisco

IP Allocation Mode

Overview

This feature allows you to add multiple Network Interface Cards (NICs) to a VM, and for each NIC, discover the private IP beforehand (pre-allocate IP) and pass it through the config drive file to the OpenStack cloud provider.

Icon

This feature is only available for OpenStack clouds.

Private IP Allocation Strategies

EnumerationDescriptionCloudCenter Release Support
DHCP (default)This strategy allows the IP to be allocated by the DHCP server to the instance on server boot up. This IP address is not known prior to server boot up.
  • CloudCenter 3.x
  • CloudCenter 4.x
Pre-allocate IP

This strategy allows the cloud infrastructure IP allocation to be dynamically provided before the server boots up. This strategy is specific to the following OpenStack applications:

  • CISCO CSR1000: Configuration drive file IP populated with the pre-allocated IPs known before server boot up.
  • CISCO F5 Load Balancer: Multiple NIC support.
  • CloudCenter 3.x
  • CloudCenter 4.x
Static IPThis strategy allows the customer to provide the IP address. As this IP address may or may not be available to the server (based on the availability), you must perform adequate checks to ensure IP availability before using this strategy.
  • CloudCenter 3.x

Icon

CloudCenter 3.x and later supports IPAM Callout Scripts to configure IP allocation strategies.

 

IP Allocation Cloud Compatibility

CloudsSupported StrategyPublic IP AssociationNetwork Interfaces AttachmentConfiguration Drive Parameters
OpenStack
  • DHCP
  • Pre-allocate IP

Supports association of the public IP to any private IP and hence to any NIC as mentioned by the user.

For launched VMs, the number of NICs assigned are based on the number of NICs defined in the corresponding image definition. You can configure each NIC to optionally have a Public IP Address. You can also choose the IP allocation strategy for each NIC's Private IP Address: DHCP or Pre-allocate IP.

All interfaces attached prior to the launch.Can be added.
AWS
  • DHCP

Supports association of public IP to NIC 1 only.

Secondary network interfaces (eth1.. ethn) are attached after the launch.Cannot be added.

IP Mode Configuration

As part of modelling an application or application profile, verify that you have configured the right number of NICs for each image. The base image dictate the number of NICs. The network interfaces are read-only based on the image settings.

Defining NICs for a Custom Service

If you do not set the Environments defaults, then an application that uses the numNics attribute in a custom service tier may not contain the NIC information, thus causing this API request fails as the hardware specification is not defined in the application by default. In this case, follow one of these options:

Defining NICs for a Batch Application

To allocate the IP mode, you must re-model an existing CloudCenter 3.x application or model a CloudCenter 4.0 application to specify the number of Network Interfaces (by default, this value is set to 1).

Defining NICs for a N-Tier Application

Specify the Number of Network Interfaces for N-tier applications on a per-tier basis updated in the  Topology Modeler Properties tab's Hardware Specification section (by default, this value is set to 1).

  • Add a cloudConfigFilePath parameter with a value as file path and type as string.
  • Add a cloudConfigFileContents parameter with value as file contents and type as textarea.

NIC Configurations

Images dictate the number of NICs that can be associated with an image. 

Add/Update NICs for an Image

By default, the number of NICs for any image is 1.

Caution!

Icon
  • You must verify that your image supports the NIC boot configurations in the image snapshot

  • NIC support allows you to add hardware for VMs.

  • The image snapshot requires pooling NICs and requires the NICs to boot up.

  • The IP allocation options are cloud-specific. Based on the cloud support, supported options are displayed in the dropdown list.

  • In some clouds, secondary NICs are added after the boot up and the images must support configuration scripts that pool and boot up the NICs.

To change the number of NICs for an image, follow this process:

  1. From the CCM UI, access Admin > Images.
  2. To add an image, click Add Image, or click Edit for the image to be updated.
  3. Change the Number of Network Interfaces field to display the NICs used for this image.

Attach Network Interfaces

When deploying applications, you can configure select cloud network(s) and IP allocation strategies to attach network interface(s).

To change the network or the IP allocation, follow this process:

  1. From the CCM UI, access Admin > Applications.
  2. Click the application to be deployed.
  3. Change the Attach Network Interfaces field to required network and the IP Allocation for this deployment.

 

The %NIC#_IP% Parameter Substitution

The number of NICs (NIC1, NIC2...) corresponds to number of network interfaces in the application profile. The IP address substitution parameters used in configuration files (see Configuration Files) will be in the same order as %NIC1_IP%, %NIC2_IP%, ... configuration. If the number of NICs = 1 and you have a preferred/default network defined, the input will be defaulted to that network with the DHCP option. Otherwise, you must select the required network for any job submission.

The NIC order is important – the order defines the parameters loaded with IP address. For example, if the order is 1 and strategy is PREALLOCATE_IP, the parameter generated is %NIC1_IP% (first NIC), %NIC2_IP% (second NIC) and this parameter is replaced in the configuration drive file provided to VM with the corresponding IP address.

Cloud-Specific Nuances

Cloud provider support for NICs determine if the relevant Add Network Interfaces fields is displayed in the CCM UI. The Assign Public IP task differs based on the cloud. The following sections identify related cloud nuances as applicable.

  • OpenStack

     OpenStack cloud nuances
    • The Assign Public IP task is performed on a per-NIC basis as OpenStack supports private-public IP pair.
    • Multiple NIC support allows you to specify the number of NICs to assign to the VM by adding the number in the image definition. The profile inherits the number of NICs from the image and when you deploy the application. The Advanced Options dropdown allows you to select the network to assign to each NIC.
  • Google

     Click here to expand...
    • The Assign Public IP task is performed on a per-NIC basis as Google supports private-public IP pair.
    • Multiple NIC support is not currently available.
  • AWS

     AWS cloud nuances
    • UI: The Assign Public IP task is separate and indicates that the eth0 interface can be associated with the public IP.

      Icon

      During application deployment or when setting deployment environment defaults for AWS configurations, the Assign Public IP setting reflects the status of the Enable auto-assign Public IP setting for the selected AWS subnet. If Assign Public IP = Unchecked + Enable auto-assign Public IP = Unchecked, the Public IP is not assigned and the deployment fails. For this reason, the CloudCenter platform automatically toggles the Assign Public IP setting based on the pinned subnet. You can override this setting during the CloudCenter application deployment. Be aware that if you do not have access to internet, the subnet routing table will not be connected to an internet gateway.

    • API:

      nics
      • Description: Details about the AWS Network Interface Cards (NICs) configuration. See IP Allocation Mode for additional details. The concept of Availability Sets and Zones in AWS is mapped to the subnet as you can have multiple subnets for a each zone. So you must input the list of subnets as the input for an availability set. During an API job deployment, the availability set input is provided as part of the NIC information. To be more specific the first NIC will contain the information as the comma separated subnet list as shown in the example.
      • Type: Object

        networkId
        • Description: The network identifier for each required tier (web application jobs).
        • Type: String

        Required (if configured in your application profile)

        privateIPAllocationMode
        • Description: Identifies the allocation strategy used to configure the NIC for an AWS cloud
        • Type: Enumeration

          EnumerationDescriptionCloudCenter Release Support
          DHCP (default)This strategy allows the IP to be allocated by the DHCP server to the instance on server boot up. This IP address is not known prior to server boot up.
          • CloudCenter 3.x
          • CloudCenter 4.x
          Pre-allocate IP

          This strategy allows the cloud infrastructure IP allocation to be dynamically provided before the server boots up. This strategy is specific to the following OpenStack applications:

          • CISCO CSR1000: Configuration drive file IP populated with the pre-allocated IPs known before server boot up.
          • CISCO F5 Load Balancer: Multiple NIC support.
          • CloudCenter 3.x
          • CloudCenter 4.x
          Static IPThis strategy allows the customer to provide the IP address. As this IP address may or may not be available to the server (based on the availability), you must perform adequate checks to ensure IP availability before using this strategy.
          • CloudCenter 3.x

        order
        • Description: The number at which a resource is to be attached. When updating a phase, use this order to re-order the resource to a different position in the array of resources.
        • Type: Long

        Required (if configured in your application profile)

        nicNetworkType
        • Description: The type of network for this NIC. A corresponding list of domains are attached to each option.
        • Type: Enumeration

          EnumerationDescription
          NETWORKA private network that supports IP ranges which overlap with another private network
          BRIDGE_DOMAINA set of logical ports that share the same flooding or broadcast characteristics. Used for ACI environments.
      • Example 1: Using DHCP allocation mode

      • Example2: Using Static IP allocation mode

        Icon

        Attach the static private address to the NIC when you Create Cloud Instance Type instance create then use that address instead of using the DHCP allocationMode.

      • Example 3: Using Multiple NICs

        Icon

        AWS support multiple NICs across subnets in the same availability zone

         

         

  • Azure

     Azure cloud nuance

    nics
    • Description: Details about the AWS Network Interface Cards (NICs) configuration. See IP Allocation Mode for additional details. The concept of Availability Sets and Zones in AWS is mapped to the subnet as you can have multiple subnets for a each zone. So you must input the list of subnets as the input for an availability set. During an API job deployment, the availability set input is provided as part of the NIC information. To be more specific the first NIC will contain the information as the comma separated subnet list as shown in the example.
    • Type: Object

      networkId
      • Description: The network identifier for each required tier (web application jobs).
      • Type: String

      Required (if configured in your application profile)

      privateIPAllocationMode
      • Description: Identifies the allocation strategy used to configure the NIC for an AWS cloud
      • Type: Enumeration

        EnumerationDescriptionCloudCenter Release Support
        DHCP (default)This strategy allows the IP to be allocated by the DHCP server to the instance on server boot up. This IP address is not known prior to server boot up.
        • CloudCenter 3.x
        • CloudCenter 4.x
        Pre-allocate IP

        This strategy allows the cloud infrastructure IP allocation to be dynamically provided before the server boots up. This strategy is specific to the following OpenStack applications:

        • CISCO CSR1000: Configuration drive file IP populated with the pre-allocated IPs known before server boot up.
        • CISCO F5 Load Balancer: Multiple NIC support.
        • CloudCenter 3.x
        • CloudCenter 4.x
        Static IPThis strategy allows the customer to provide the IP address. As this IP address may or may not be available to the server (based on the availability), you must perform adequate checks to ensure IP availability before using this strategy.
        • CloudCenter 3.x

      order
      • Description: The number at which a resource is to be attached. When updating a phase, use this order to re-order the resource to a different position in the array of resources.
      • Type: Long

      Required (if configured in your application profile)

      nicNetworkType
      • Description: The type of network for this NIC. A corresponding list of domains are attached to each option.
      • Type: Enumeration

        EnumerationDescription
        NETWORKA private network that supports IP ranges which overlap with another private network
        BRIDGE_DOMAINA set of logical ports that share the same flooding or broadcast characteristics. Used for ACI environments.
    • Example 1: Using DHCP allocation mode

    • Example2: Using Static IP allocation mode

      Icon

      Attach the static private address to the NIC when you Create Cloud Instance Type instance create then use that address instead of using the DHCP allocationMode.

    • Example 3: Using Multiple NICs

      Icon

      AWS support multiple NICs across subnets in the same availability zone

       

       

  • VMware

     Vmware cloud nuances

    nics
    • Description: Details about the Network Interface Cards (NICs) configuration. See IP Allocation Mode for additional details.
    • Type: Object

      id
      • DescriptionUnique, system-generated identifier for this CloudCenter Resource.

      • Type: String

      Required (if configured in your application profile)

      allocationMode
      • Description: Identifies the allocation strategy used to configure the NIC for a VMware or OpenStack cloud.
        • If the application profile has NIC Size 1 and there is a preferred (or) default network defined, the nic attribute does not need to be specified in the job submission.
        • Default = DHCP. The default does not allow parameter substitution in the configuration file.
      • Type: Enumeration

        EnumerationDescriptionCloudCenter Release Support
        DHCP (default)This strategy allows the IP to be allocated by the DHCP server to the instance on server boot up. This IP address is not known prior to server boot up.
        • CloudCenter 3.x
        • CloudCenter 4.x
        Pre-allocate IP

        This strategy allows the cloud infrastructure IP allocation to be dynamically provided before the server boots up. This strategy is specific to the following OpenStack applications:

        • CISCO CSR1000: Configuration drive file IP populated with the pre-allocated IPs known before server boot up.
        • CISCO F5 Load Balancer: Multiple NIC support.
        • CloudCenter 3.x
        • CloudCenter 4.x
        Static IPThis strategy allows the customer to provide the IP address. As this IP address may or may not be available to the server (based on the availability), you must perform adequate checks to ensure IP availability before using this strategy.
        • CloudCenter 3.x

         

      Required (if configured in your application profile)

      allocatePublicIp
      • Description: Identifies if the public IP is associated with the NIC (or the private IP, in case of OpenStack clouds).
      • Type: Boolean
        • true: The public IP is associated with the NIC.
        • false: The public IP is not associated with the NIC.
      order
      • Description: The number at which a resource is to be attached. When updating a phase, use this order to re-order the resource to a different position in the array of resources.
      • Type: Long

Other References