Add ability to collocate pinned and unpinned instance on same host
Add role parameter `NovaComputeCpuDedicatedSet` which allows to set `compute/cpu_dedicated_set` parameter value to specify list or range of physical CPU cores to reserve for allocating PCPU resources to use for virtual machine processes. Deprecate `NovaVcpuPinSet` option as it is deprecated from config options in nova [1] as well. [1] https://review.opendev.org/#/c/671793 Depends-On: I40e0ed0bba93bfcdc4cf157195c3e9fbcfce0776 Change-Id: Ibba4273526392985ede6da2ef3fec66a61407777
This commit is contained in:
parent
e8211bdb7c
commit
d68e709b2c
|
@ -147,20 +147,22 @@ parameters:
|
||||||
default: ''
|
default: ''
|
||||||
tags:
|
tags:
|
||||||
- role_specific
|
- role_specific
|
||||||
NovaVcpuPinSet:
|
NovaComputeCpuSharedSet:
|
||||||
description: >
|
description: >
|
||||||
A list or range of physical CPU cores to reserve for virtual machine
|
A list or range of host CPU cores to which emulator threads can be scheduled,
|
||||||
processes.
|
if NovaVcpuPinSet is set, or to which both emulator threads and processes for
|
||||||
Ex. NovaVcpuPinSet: ['4-12','^8'] will reserve cores from 4-12 excluding 8
|
unpinned instance CPUs (VCPUs) can be scheduled, if NovaVcpuPinSet is unset.
|
||||||
|
Ex. NovaComputeCpuSharedSet: [4-12,^8,15] will reserve cores from 4-12
|
||||||
|
and 15, excluding 8.
|
||||||
type: comma_delimited_list
|
type: comma_delimited_list
|
||||||
default: []
|
default: []
|
||||||
tags:
|
tags:
|
||||||
- role_specific
|
- role_specific
|
||||||
NovaComputeCpuSharedSet:
|
NovaComputeCpuDedicatedSet:
|
||||||
description: >
|
description: >
|
||||||
A list or range of physical CPU cores will be used for best-effort guest
|
A list or range of host CPU cores to which processes for pinned instance
|
||||||
vCPU resources (e.g. emulator threads in libvirt/QEMU).
|
CPUs (PCPUs) can be scheduled.
|
||||||
Ex. NovaComputeCpuSharedSet: [4-12,^8,15] will reserve cores from 4-12
|
Ex. NovaComputeCpuDedicatedSet: [4-12,^8,15] will reserve cores from 4-12
|
||||||
and 15, excluding 8.
|
and 15, excluding 8.
|
||||||
type: comma_delimited_list
|
type: comma_delimited_list
|
||||||
default: []
|
default: []
|
||||||
|
@ -337,6 +339,31 @@ parameters:
|
||||||
tags:
|
tags:
|
||||||
- role_specific
|
- role_specific
|
||||||
|
|
||||||
|
# DEPRECATED: the following options are deprecated and are currently maintained
|
||||||
|
# for backwards compatibility. They will be removed in future release.
|
||||||
|
NovaVcpuPinSet:
|
||||||
|
description: >
|
||||||
|
A list or range of host CPU cores to which processes for unpinned instance
|
||||||
|
CPUs (VCPUs) can be scheduled, if NovaCpuSharedSet is set, or to which
|
||||||
|
both emulator threads and processes for unpinned instance CPUs (VCPUs)
|
||||||
|
can be scheduled, if NovaCpuSharedSet is unset.
|
||||||
|
Ex. NovaVcpuPinSet: ['4-12','^8'] will reserve cores from 4-12 excluding 8
|
||||||
|
type: comma_delimited_list
|
||||||
|
default: []
|
||||||
|
tags:
|
||||||
|
- role_specific
|
||||||
|
|
||||||
|
parameter_groups:
|
||||||
|
- label: deprecated
|
||||||
|
description: |
|
||||||
|
The following parameters are deprecated and will be removed. They should not
|
||||||
|
be relied on for new deployments. If you have concerns regarding deprecated
|
||||||
|
parameters, please contact the TripleO development team on IRC or the
|
||||||
|
Openstack mailing list.
|
||||||
|
parameters:
|
||||||
|
- NovaVcpuPinSet
|
||||||
|
|
||||||
|
|
||||||
resources:
|
resources:
|
||||||
|
|
||||||
ContainersCommon:
|
ContainersCommon:
|
||||||
|
@ -382,6 +409,7 @@ resources:
|
||||||
- map_replace:
|
- map_replace:
|
||||||
- nova::compute::vcpu_pin_set: NovaVcpuPinSet
|
- nova::compute::vcpu_pin_set: NovaVcpuPinSet
|
||||||
nova::compute::cpu_shared_set: NovaComputeCpuSharedSet
|
nova::compute::cpu_shared_set: NovaComputeCpuSharedSet
|
||||||
|
nova::compute::cpu_dedicated_set: NovaComputeCpuDedicatedSet
|
||||||
nova::compute::reserved_host_memory: NovaReservedHostMemory
|
nova::compute::reserved_host_memory: NovaReservedHostMemory
|
||||||
nova::compute::neutron_physnets_numa_nodes_mapping: NeutronPhysnetNUMANodesMapping
|
nova::compute::neutron_physnets_numa_nodes_mapping: NeutronPhysnetNUMANodesMapping
|
||||||
nova::compute::neutron_tunnel_numa_nodes: NeutronTunnelNUMANodes
|
nova::compute::neutron_tunnel_numa_nodes: NeutronTunnelNUMANodes
|
||||||
|
@ -409,6 +437,7 @@ resources:
|
||||||
- values:
|
- values:
|
||||||
NovaVcpuPinSet: {get_param: NovaVcpuPinSet}
|
NovaVcpuPinSet: {get_param: NovaVcpuPinSet}
|
||||||
NovaComputeCpuSharedSet: {get_param: NovaComputeCpuSharedSet}
|
NovaComputeCpuSharedSet: {get_param: NovaComputeCpuSharedSet}
|
||||||
|
NovaComputeCpuDedicatedSet: {get_param: NovaComputeCpuDedicatedSet}
|
||||||
NovaReservedHostMemory: {get_param: NovaReservedHostMemory}
|
NovaReservedHostMemory: {get_param: NovaReservedHostMemory}
|
||||||
NeutronPhysnetNUMANodesMapping: {get_param: NeutronPhysnetNUMANodesMapping}
|
NeutronPhysnetNUMANodesMapping: {get_param: NeutronPhysnetNUMANodesMapping}
|
||||||
NeutronTunnelNUMANodes: {get_param: NeutronTunnelNUMANodes}
|
NeutronTunnelNUMANodes: {get_param: NeutronTunnelNUMANodes}
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
---
|
||||||
|
features:
|
||||||
|
- |
|
||||||
|
Add new role parameter ``NovaComputeCpuDedicatedSet`` to specify
|
||||||
|
list or range of physical CPU cores to reserve to be used for
|
||||||
|
allocating PCPU resources to virtual machines.
|
||||||
|
Defaults to []
|
||||||
|
deprecations:
|
||||||
|
- |
|
||||||
|
The ``NovaVcpuPinSet`` parameter is deprecated and superseded by
|
||||||
|
``NovaComputeCpuSharedSet`` and ``NovaComputeCpuDedicatedSet``
|
||||||
|
parameters, which are used to define list or range of VCPU and PCPU
|
||||||
|
resources for virtual machine processes.
|
Loading…
Reference in New Issue