summaryrefslogtreecommitdiff
path: root/releasenotes/notes
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2022-08-01 16:53:05 +0000
committerGerrit Code Review <review@openstack.org>2022-08-01 16:53:05 +0000
commitfed81f6a974e955b6cc711b86ec42934e3a92a2e (patch)
tree2069fd8f69f27c91857b06e4859bf9b485f98865 /releasenotes/notes
parent60708e56fe490bc2cf15cc5050d27649997347a6 (diff)
parent277f88e3872ea41bce02d09c4537946a74d74533 (diff)
downloadnova-fed81f6a974e955b6cc711b86ec42934e3a92a2e.tar.gz
Merge "libvirt: Add a workaround to skip compareCPU() on destination" into stable/yoga
Diffstat (limited to 'releasenotes/notes')
-rw-r--r--releasenotes/notes/skip-compare-cpu-on-dest-6ae419ddd61fd0f8.yaml24
1 files changed, 24 insertions, 0 deletions
diff --git a/releasenotes/notes/skip-compare-cpu-on-dest-6ae419ddd61fd0f8.yaml b/releasenotes/notes/skip-compare-cpu-on-dest-6ae419ddd61fd0f8.yaml
new file mode 100644
index 0000000000..e7cd4041b1
--- /dev/null
+++ b/releasenotes/notes/skip-compare-cpu-on-dest-6ae419ddd61fd0f8.yaml
@@ -0,0 +1,24 @@
+---
+issues:
+ - |
+ Nova's use of libvirt's compareCPU() API served its purpose over the
+ years, but its design limitations break live migration in subtle
+ ways. For example, the compareCPU() API compares against the host
+ physical CPUID. Some of the features from this CPUID aren not
+ exposed by KVM, and then there are some features that KVM emulates
+ that are not in the host CPUID. The latter can cause bogus live
+ migration failures.
+
+ With QEMU >=2.9 and libvirt >= 4.4.0, libvirt will do the right
+ thing in terms of CPU compatibility checks on the destination host
+ during live migration. Nova satisfies these minimum version
+ requirements by a good margin. So, this workaround provides a way to
+ skip the CPU comparison check on the destination host before
+ migrating a guest, and let libvirt handle it correctly.
+
+ This workaround will be deprecated and removed once Nova replaces
+ the older libvirt APIs with their newer counterparts. The work is
+ being tracked via this `blueprint
+ cpu-selection-with-hypervisor-consideration`_.
+
+ .. _blueprint cpu-selection-with-hypervisor-consideration: https://blueprints.launchpad.net/nova/+spec/cpu-selection-with-hypervisor-consideration