This is a follow up to change
I8e4e5afc773d53dee9c1c24951bb07a45ddc2f1a which fixed an issue with
validation when the topmost patch after a Zuul rebase is a merge
patch.
We need to also use the $commit_hash variable for the check for
stable-only patches, else it will incorrectly fail because it is
checking the merge patch's commit message.
Change-Id: Ia725346b65dd5e2f16aa049c74b45d99e22b3524
The 'vram' property of the 'video' device must be an integer else
libvirt will spit the dummy out, e.g.
libvirt.libvirtError: XML error: cannot parse video vram '8192.0'
The division operator in Python 3 results in a float, not an integer
like in Python 2. Use the truncation division operator instead.
Change-Id: Iebf678c229da4f455459d068cafeee5f241aea1f
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Closes-Bug: #1896496
Bug #1894804 outlines how DEVICE_DELETED events were often missing from
QEMU on Focal based OpenStack CI hosts as originally seen in bug
#1882521. This has eventually been tracked down to some undefined QEMU
behaviour when a new device_del QMP command is received while another is
still being processed, causing the original attempt to be aborted.
We hit this race in slower OpenStack CI envs as n-cpu rather crudely
retries attempts to detach devices using the RetryDecorator from
oslo.service. The default incremental sleep time currently being tight
enough to ensure QEMU is still processing the first device_del request
on these slower CI hosts when n-cpu asks libvirt to retry the detach,
sending another device_del to QEMU hitting the above behaviour.
Additionally we have also seen the following check being hit when
testing with QEMU >= v5.0.0. This check now rejects overlapping
device_del requests in QEMU rather than aborting the original:
https://github.com/qemu/qemu/commit/cce8944cc9efab47d4bf29cfffb3470371c3541b
This change aims to avoid this situation entirely by raising the default
incremental sleep time between detach requests from 2 seconds to 10,
leaving enough time for the first attempt to complete. The overall
maximum sleep time is also increased from 30 to 60 seconds.
Future work will aim to entirely remove this retry logic with a libvirt
event driven approach, polling for the the
VIR_DOMAIN_EVENT_ID_DEVICE_REMOVED and
VIR_DOMAIN_EVENT_ID_DEVICE_REMOVAL_FAILED events before retrying.
Finally, the cleanup of unused arguments in detach_device_with_retry is
left for a follow up change in order to keep this initial change small
enough to quickly backport.
Closes-Bug: #1882521
Related-Bug: #1894804
Change-Id: Ib9ed7069cef5b73033351f7a78a3fb566753970d
I8e349849db0b1a540d295c903f1470917b82fd97 has bumped
MIN_{LIBVIRT,QEMU}_VERSION past this so remove the constant and
associated logic.
Change-Id: Ibe0af519b4428ef05f83248679fe66382d20cfa8
I8e349849db0b1a540d295c903f1470917b82fd97 has bumped MIN_LIBVIRT_VERSION
past this so remove the constant and associated logic.
Change-Id: If082b869238d08c0b713e60697185fc61c3ff99b
The recent switch to Focal introduced a change in behaviour for the
libvirtd service that can now be restarted through new systemd socket
services associated with it once stopped. As we need it to remain
stopped during the initial negative evacuation tests on the controller
we now need to also stop these socket services and then later restart
them.
Change-Id: I2333872670e9e6c905efad7461af4d149f8216b6
Due to bug 1894825 the nova-next job fails on master as the allocation
key cannot be deleted from the binding:profile of a neutron port. This
patch temporarily disable this test step while the bug is being fixed
and a new neutronlib is released with the fix.
Change-Id: I4dfebfb5c92dd8a5cdc779aac587e7477cd5fad6
Related-Bug: #1894825
Closes-Bug: #1898035
I8e349849db0b1a540d295c903f1470917b82fd97 has bumped MIN_LIBVIRT_VERSION
past this so remove the constant and associated logic.
Change-Id: Icb2001316aa154ee7975cec806b0eaed0d953591
I8e349849db0b1a540d295c903f1470917b82fd97 has bumped
MIN_{LIBVIRT,QEMU}_VERSION past this so remove the constant and
associated logic.
Change-Id: I83f9198c6ddfd8c9ac007dafdc085ce862ed0ec2
As with the resize/cold migration confirm/resize flow, the rolling back
of live migrations can be racy due to us doing various things without
the benefit of locks. Add a reproducer demonstrating this.
Change-Id: I276d2bbce4a0390a6cfd597bb51481cc53eca918
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Related-Bug: #1894095
Related-Bug: #1879878
Add file to the reno documentation build to show release notes for
stable/victoria.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/victoria.
Change-Id: I90b2702b83512edd04e5a85a4b8ba2fbd0f0fd6e
Sem-Ver: feature
This change reworks the evacuation parts of the original
nova-live-migration job into a zuulv3 native ansible role and initial
job covering local ephemeral and iSCSI/LVM volume attached instance
evacuation. Future jobs will cover ceph and other storage backends.
Change-Id: I380e9ca1e6a84da2b2ae577fb48781bf5c740e23
Some GPU drivers like i915 don't provide a name attribute for mdev types.
As we don't use this attribute yet, let's just make sure we support the fact
it's optional.
Change-Id: Ia745ed7095c74e2bfba38379e623a3f81e7799eb
Closes-Bug: #1896741
In commit 7c1d964faa we fixed how we disable greendns. This patch adds
a test for this. It also lays down the groundwork for future tests
of how we manage eventlet's monkeypatching.
How and what eventlet monkeypatches can be controlled by environment
variables that are processed by eventlet at import-time (for exmaple,
EVENTLET_NO_GREENDNS). Nova manages all of this in nova.monkey_patch.
Therefore, nova.monkey_patch must be the first thing to import
eventlet. As nova.tests.functional.__init__ imports nova.monkey_patch,
our new test can go in the functional tree.
Related-bug: 1895322
Change-Id: I5b6c45b7b9a9eca3c13ecfaa5f50942922b69270
I8e349849db0b1a540d295c903f1470917b82fd97 has bumped MIN_LIBVIRT_VERSION
past this so remove the constant and associated logic.
Change-Id: I952f36fe201aad37297c7630ed562b579c90f64a
Ia18e9be4d07b732afd9db0007c541253f3cdaf82 bumped these versions in
Ussuri and while it's late in the Victoria cycle we now need to do the
same. Based on the LibvirtDistroSupportMatrix wiki page [1] the
following versions have been selected for the next min versions during
the Wallaby release:
NEXT_MIN_LIBVIRT_VERSION = (6, 0, 0)
NEXT_MIN_QEMU_VERSION = (4, 2, 0)
MIN_QEMU_VTPM is removed as part of this patch as it also requires
changes to functional tests that would otherwise fail.
Follow up patches will remove the following constants after this change:
- MIN_LIBVIRT_FILE_BACKED_DISCARD_VERSION
- MIN_{LIBVIRT,QEMU}_NATIVE_TLS_VERSION
- MIN_LIBVIRT_BETTER_SIGKILL_HANDLING
- MIN_LIBVIRT_VIDEO_MODEL_VERSIONS
- MIN_{LIBVIRT,QEMU}_PMEM_SUPPORT
This change depends on the following devstack change that introduces the
use of the Train UCA on Bionic nodes, allowing us to bump versions here
ahead of a move to Focal.
Depends-On: https://review.opendev.org/#/c/747123/
[1] https://wiki.openstack.org/wiki/LibvirtDistroSupportMatrix
Change-Id: I8e349849db0b1a540d295c903f1470917b82fd97
The systemd service unit for libvirtd has changed name from libvirt-bin
to libvirtd, as such the evacuation test script needs to be changed to
support both as we move between these versions.
Change-Id: I49dc963ada17a595232d3eb329d94632d07b874b
Fix list rendering in the accelerator support document.
Change-Id: Ic58c5604b2e63daab7a30a95ad6a3481d96f6f63
Signed-off-by: Takashi Natsume <takanattie@gmail.com>
In commit a76277f81a, the introduction
of flavor extra specs, such as 'hw:cpu_policy', 'hw:cpu_thread_policy'
and ... , have been moved to 'doc/source/user/flavors.rst' from
'doc/source/admin/flavors.rst', while in 'cpu-topologiest.rst' this
change hasn't been updated. Apply this change.
Change-Id: I031a5ea6de00a8c5cf67897ddb78075c8bc79c0b
Signed-off-by: Wang Huaqiang <huaqiang.wang@intel.com>
These were previously manually converted ints based on the version
tuples present in the driver. To avoid ever needing to worry about these
again this change simply uses versionutils to covert the tuples found in
the driver into ints used by fakelibvirt.
Change-Id: I864494e11ff697788167c996a39f38d3d833d0d7