You can control the QoS resource allocations, such as limits, reservations, and shares, for CPU, RAM, disk IOPS, and virtual network interface (VIF) by modifying the metadata of the flavor used to create the instance. All instances subsequently created using the flavor inherit the metadata settings.

About this task

QoS resource allocation can also be specified by image metadata. In the event of a conflict, the image metadata configuration overrules the flavor metadata configuration. See Configure QoS Resource Allocation for Instances Using Image Metadata.

Prerequisites

  • Requires VMware Integrated OpenStack version 2.0.x or greater.

  • Requires vSphere version 6.0 or greater.

  • Verify that VMware Integrated OpenStack is running in vSphere.

  • Verify that you are logged in to the VMware Integrated OpenStack dashboard as a cloud administrator.

Procedure

  1. Log in to the VMware Integrated OpenStack dashboard as a cloud administrator.
  2. Select the admin project from the drop-down menu in the title bar.
  3. Select Admin > System > Flavors.
  4. (Optional) Create a flavor specific to the set of QoS resource allocations.

    You must create a custom flavor to contain the specific configuration. This leaves the original flavor configuration intact and available for other uses.

  5. Select the flavor to modify.
  6. In the Actions column of the image listing, click the down arrow and select Update Metadata.
  7. In the column under Available Metadata, expand the VMware Quota tab.
    Note:

    If the VMware Quota tab is not present, the related metadata properties might already be configured.

  8. Click the plus sign (+) next to the VMware Quota metadata property you want to add.
    Tip:

    You can add all the options simultaneously by the clicking the plus sign (+) on the VMware Quota tab.

    In the column under Existing Metadata, the newly added metadata properties appear.

  9. Configure the metadata properties.

    Metadata Property

    Description

    Quota: CPU Limit

    Applies the quota:cpu_limit metadata property.

    Specifies the upper limit for CPU allocation in MHz. This parameter ensures that the instance never uses more than the defined amount of CPU allocation.

    Enter 0 for unlimited CPU allocation.

    Quota: CPU Reservation

    Applies the quota:cpu_reservation metadata property.

    Specifies the guaranteed minimum CPU reservation in MHz. This parameter ensures that the instance has the reserved amount of CPU cycles available during resource contention.

    Quota: CPU Shares Level

    Applies the quota:cpu_shares_level metadata property.

    Specifies shares level which maps to the predefined numeric value of shares. If the custom level is selected, you must include thequota:cpu_shares_value metadata property. See Quota: CPU Shares Value below.

    Quota: CPU Shares Value

    Applies the quota:cpu_shares_value metadata property.

    Specifies the number of shares allocated to the instance.

    Apply this property only if you set the quota:cpu_shares_level metadata property to custom. Otherwise this property is ignored.

    Quota: Disk IO Limit

    Applies the quota:disk_io_limit metadata property.

    Specifies the upper limit for disk transactions in I/O operations per second (IOPS) in seconds. This parameter ensures that the instance never uses more than the defined amount of disk IOPS, and can be used to enforce a limit on the instance's disk performance.

    Enter 0 for unlimited IOPS.

    Quota: Disk IO Reservation

    Applies the quota:disk_io_reservation metadata property.

    Specifies the guaranteed minimum disk transactions in I/O operations per second (IOPS) in seconds. This parameter ensures that the instance receives the reserved amount of disk IOPS during resource contention.

    Quota: Disk IO Shares Level

    Applies the quota:disk_io_shares_level metadata property.

    Specifies shares level which maps to the predefined numeric value of shares. If the custom level is selected, you must include thequota:disk_io_shares_share metadata property (Quota: Disk IO Shares Value).

    Quota: Disk IO Shares Value

    Applies the quota:disk_io_shares_share metadata property.

    Specifies the number of shares allocated to the instance.

    Apply this property only if you set the quota:disk_io_shares_level metadata property to custom. Otherwise this property is ignored.

    Quota: Memory Limit

    Applies the quota:memory_limit metadata property.

    Specifies the upper limit for memory allocation in MB. This parameter ensures that the instance never uses more than the defined amount of memory.

    Enter 0 for unlimited memory allocation.

    Quota: Memory Reservation

    Applies the quota:memory_reservation metadata property.

    Specifies the guaranteed minimum memory reservation in MB. This parameter ensures that the instance receives the reserved amount of memory during resource contention.

    Quota: Memory Shares Level

    Applies the quota:memory_shares_level metadata property.

    Specifies shares level which maps to the predefined numeric value of shares. If the custom level is selected, you must include thequota:memory_shares_share metadata property (Quota: Memory Shares Value).

    Quota: Memory Shares Value

    Applies the quota:memory_shares_share metadata property.

    Specifies the number of shares allocated to the instance.

    Apply this property only if you set the quota:memory_shares_level metadata property to custom. Otherwise this property is ignored.

    Quota: VIF Limit

    Applies the quota:vif_limit metadata property.

    Specifies the upper limit for VIF bandwidth in Mbps. This parameter ensures that the VIF never uses more than the defined amount of bandwidth.

    Enter 0 for unlimited bandwidth allocation.

    Quota: VIF Reservation

    Applies the quota:vif_reservation metadata property.

    Specifies the guaranteed minimum bandwidth for VIF in Mbps. This parameter ensures that the virtual adapter on the instance gets the reserved amount of bandwidth during resource contention. If the instance uses less than the reserved amount, the remainder is available to other virtual adapters.

    Quota: VIF Shares Level

    Applies the quota:vif_shares_level metadata property.

    Specifies shares level which maps to the predefined numeric value of shares. If the custom level is selected, you must include thequota:vif_shares_share metadata property (Quota: VIF Shares Value).

    Quota: VIF Shares Value

    Applies the quota:vif_shares_share metadata property.

    in the event that ‘custom’ is used, this is the number of shares.

  10. Click Save.

Results

The flavor metadata is now configured for limits, reservations, and shares for CPU, IOPS, memory, and network bandwidth. This configuration is applied to all future OpenStack instances that are created from this flavor.