nova/releasenotes/notes/bug-1884231-16acf297d88b122e.yaml
Chris Friesen 9fc63c7644 hardware: Tweak the 'cpu_realtime_mask' handling slightly
If the end-user specifies a cpu_realtime_mask that does not begin
with a carat (i.e. it is not a purely-exclusion mask) it's likely
that they're expecting us to use the exact mask that they have
specified, not realizing that we default to all-vCPUs-are-RT.

Let's make nova's behaviour a bit more friendly by correctly
handling this scenario.

Note that the end-user impact of this is minimal/non-existent. As
discussed in bug #1884231, the only way a user could have used this
before would be if they'd configured an emulator thread and purposefully
set an invalid 'hw:cpu_realtime_mask' set. In fact, they wouldn't have
been able to use this value at all if they used API microversion 2.86
(extra spec validation).

Part of blueprint use-pcpu-and-vcpu-in-one-instance

Change-Id: Id81859186de6fb6b728ad566a532244008fe77d0
Closes-Bug: #1688673
2020-07-09 18:13:51 +01:00

17 lines
700 B
YAML

---
fixes:
- |
Previously, it was possible to specify values for the
``hw:cpu_realtime_mask`` extra spec that were not within the range of valid
instances cores. This value is now correctly validated.
features:
- |
It is now possible to allocate all cores in an instance to realtime and
omit the ``hw:cpu_realtime_mask`` extra spec. This requires specifying the
``hw:emulator_threads_policy`` extra spec.
- |
It is now possible to specify a mask in ``hw:cpu_realtime_mask`` without a
leading ``^``. When this is ommitted, the value will specify the cores that
should be included in the set of realtime cores, as opposed to those that
should be excluded.