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: ''
|
||||
tags:
|
||||
- role_specific
|
||||
NovaVcpuPinSet:
|
||||
NovaComputeCpuSharedSet:
|
||||
description: >
|
||||
A list or range of physical CPU cores to reserve for virtual machine
|
||||
processes.
|
||||
Ex. NovaVcpuPinSet: ['4-12','^8'] will reserve cores from 4-12 excluding 8
|
||||
A list or range of host CPU cores to which emulator threads can be scheduled,
|
||||
if NovaVcpuPinSet is set, or to which both emulator threads and processes for
|
||||
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
|
||||
default: []
|
||||
tags:
|
||||
- role_specific
|
||||
NovaComputeCpuSharedSet:
|
||||
NovaComputeCpuDedicatedSet:
|
||||
description: >
|
||||
A list or range of physical CPU cores will be used for best-effort guest
|
||||
vCPU resources (e.g. emulator threads in libvirt/QEMU).
|
||||
Ex. NovaComputeCpuSharedSet: [4-12,^8,15] will reserve cores from 4-12
|
||||
A list or range of host CPU cores to which processes for pinned instance
|
||||
CPUs (PCPUs) can be scheduled.
|
||||
Ex. NovaComputeCpuDedicatedSet: [4-12,^8,15] will reserve cores from 4-12
|
||||
and 15, excluding 8.
|
||||
type: comma_delimited_list
|
||||
default: []
|
||||
@ -337,6 +339,31 @@ parameters:
|
||||
tags:
|
||||
- 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:
|
||||
|
||||
ContainersCommon:
|
||||
@ -382,6 +409,7 @@ resources:
|
||||
- map_replace:
|
||||
- nova::compute::vcpu_pin_set: NovaVcpuPinSet
|
||||
nova::compute::cpu_shared_set: NovaComputeCpuSharedSet
|
||||
nova::compute::cpu_dedicated_set: NovaComputeCpuDedicatedSet
|
||||
nova::compute::reserved_host_memory: NovaReservedHostMemory
|
||||
nova::compute::neutron_physnets_numa_nodes_mapping: NeutronPhysnetNUMANodesMapping
|
||||
nova::compute::neutron_tunnel_numa_nodes: NeutronTunnelNUMANodes
|
||||
@ -409,6 +437,7 @@ resources:
|
||||
- values:
|
||||
NovaVcpuPinSet: {get_param: NovaVcpuPinSet}
|
||||
NovaComputeCpuSharedSet: {get_param: NovaComputeCpuSharedSet}
|
||||
NovaComputeCpuDedicatedSet: {get_param: NovaComputeCpuDedicatedSet}
|
||||
NovaReservedHostMemory: {get_param: NovaReservedHostMemory}
|
||||
NeutronPhysnetNUMANodesMapping: {get_param: NeutronPhysnetNUMANodesMapping}
|
||||
NeutronTunnelNUMANodes: {get_param: NeutronTunnelNUMANodes}
|
||||
|
13
releasenotes/notes/cpu-resources-f8b511d39c6e0cfe.yaml
Normal file
13
releasenotes/notes/cpu-resources-f8b511d39c6e0cfe.yaml
Normal file
@ -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…
x
Reference in New Issue
Block a user