Extra specifications

A flavor might include properties that are in addition to the base flavor properties. These extra specifications are key value pairs that can be used to provide advanced configuration that is in addition to the configuration provided by the base flavor properties. This configuration is specific to the hypervisor.

Advanced configuration provided with flavor extra specifications might include the following:
  • CPU shares
  • CPU period
  • disk read and write rates per second

In addition to enabling advanced hypervisor configuration, extra specifications are used in OpenStack as a mechanism to enable advanced placement by the scheduler with specific scheduler filters such as the ComputeCapabilitiesFilter and the AggregateInstanceExtraSpecsFilter. For specific information about using these filters, see the OpenStack documentation.

KVM extra specifications

Flavor extra specifications are supported as part of the KVM support with OpenStack that is provided with IBM® Cloud Manager with OpenStack.

The following extra specifications enable tuning the CPU for a virtual machine:
  • quota:cpu_shares
  • quota:cpu_period
  • quota:cpu_quota
The following extra specifications enable tuning the device I/O for a virtual machine:
  • quota:disk_read_bytes_sec
  • quota:disk_read_iops_sec
  • quota:disk_write_bytes_sec
  • quota:disk_write_iops_sec
  • quota:disk_total_bytes_sec
  • quota:disk_total_iops_sec
The following extra specifications enable tuning the network device interfaces for a virtual machine. However, they are not supported in IBM Cloud Manager with OpenStack since they are not used with OpenVSwitch.
  • quota:vif_inbound_average
  • quota:vif_inbound_peak
  • quota:vif_inbound_burst
  • quota:vif_outbound_average
  • quota:vif_outbound_peak
  • quota:vif_outbound_burst

PowerVC extra specifications

Flavor extra specifications are supported as part of the PowerVC support with OpenStack that is provided with IBM Cloud Manager with OpenStack.

The following extra specifications enable tuning the CPU for a virtual machine:
  • powervm:proc_units
  • powervm:min_proc_units
  • powervm:max_proc_units
  • powervm:min_vcpu
  • powervm:max_vcpu
  • powervm:dedicated_proc
  • powervm:share_idle
  • powervm:uncapped
  • powervm:shared_weight
  • powervm:availability_priority
  • powervm:processor_compatibility
The following extra specifications enable tuning the memory for a virtual machine:
  • powervm:min_mem
  • powervm:max_mem
The following extra specifications enable tuning the boot volumes:
  • powervm:boot_volume_type

For more information, see the PowerVC Information Center.

Extra specification labels

Because it can be difficult to determine the purpose of extra specifications from their names, you can label extra specifications.

In the openstack.properties file any property that contains the com.ibm.cfs.openstack.flavor.extraspec.label. prefix is considered a localizable label for an OpenStack flavor extra spec. The suffix of the property must be the extra spec name, and the value of the property must be the list of localized extra spec labels.

For example, you can provide a label for the quota:cpu_shares extra specification that is similar to the following:

com.ibm.cfs.openstack.flavor.extraspecs.label.quota:cpu_shares=CPU Shares, en_us=CPU Shares, es=Porción de Procesador

The first value is the label for the default locale, which is followed by a list of locale=label pairs. Each time the extra specification is displayed in the IBM Cloud Manager with OpenStack user interface, the corresponding label is displayed, based on the locale of the end user.