Commit Graph

59398 Commits

Author SHA1 Message Date
Zuul f87a63a46e Merge "Add check job for FIPS" 2022-01-25 01:34:55 +00:00
Zuul 555d859be7 Merge "block_device: Ignore VolumeAttachmentNotFound during detach" 2022-01-25 00:48:05 +00:00
Zuul b9b1b4fa65 Merge "Add service version check workaround for FFU" 2022-01-25 00:37:20 +00:00
Dan Smith 7d2e481589 Add service version check workaround for FFU
We recently added a hard failure to nova service startup for the case
where computes were more than one version old (as indicated by their
service record). This helps to prevent starting up new control
services when a very old compute is still running. However, during an
FFU, control services that have skipped multiple versions will be
started and find the older compute records (which could not be updated
yet due to their reliance on the control services being up) and refuse
to start. This creates a cross-dependency which is not resolvable
without hacking the database.

This patch adds a workaround flag to allow turning that hard fail into
a warning to proceed past the issue. This less-than-ideal solution
is simple and backportable, but perhaps a better solution can be
implemented for the future.

Related-Bug: #1958883

Change-Id: Iddbc9b2a13f19cea9a996aeadfe891f4ef3b0264
2022-01-24 08:45:58 -08:00
Zuul 96731a499a Merge "conf: Allow cinderclient and os_brick to independently log at DEBUG" 2022-01-23 03:58:10 +00:00
Zuul ae779740c5 Merge "nova-next: Deploy noVNC from source instead of packages" 2022-01-22 02:18:09 +00:00
Zuul 5ad0d0cdbe Merge "Test aborting queued live migration" 2022-01-21 21:08:48 +00:00
Zuul 34f841333b Merge "Update centos 8 py36 functional job nodeset to centos stream 8" 2022-01-21 21:08:39 +00:00
Zuul 52b974acb7 Merge "db: Remove unnecessary warning filters" 2022-01-21 13:44:48 +00:00
Zuul 5c7fa6d139 Merge "db: Remove use of 'bind' arguments" 2022-01-21 13:44:40 +00:00
Zuul bb2984b9c7 Merge "[doc] propose Review-Priority label for contribs" 2022-01-20 17:05:49 +00:00
Zuul 7bb2172317 Merge "Remove deprecated opts from VNC conf" 2022-01-18 22:45:59 +00:00
Zuul 59c3a46887 Merge "libvirt: Add announce-self post live-migration workaround" 2022-01-18 20:03:47 +00:00
Ade Lee 82c91e8cd8 Add check job for FIPS
The job makes sure that integration tests pass when the nodes are
set to be in fips mode.

Depends-On: https://review.opendev.org/c/openstack/tempest/+/822560
Change-Id: Iae13b0ffcded76ef1712fdbad3fbff3dc774336c
2022-01-18 18:46:52 +00:00
Zuul 63be4c6fc3 Merge "Move ReaderWriterLock to the test tree" 2022-01-18 06:26:58 +00:00
Zuul c2e50299f2 Merge "functional: Add reproducer for #1907775" 2022-01-17 18:17:21 +00:00
Zuul 58fda2ead5 Merge "libvirt: Ensure all volume drivers log the instance whenever possible" 2022-01-17 17:39:15 +00:00
Zuul e6f9d1f432 Merge "ensure samples folder exists for microversion" 2022-01-17 16:15:52 +00:00
Balazs Gibizer a341851f15 Move ReaderWriterLock to the test tree
The commit I168fffac8002f274a905cfd53ac4f6c9abe18803 added a wrapper
around fasteners.ReaderWriterLock to fix up an issue with eventlet. But
the wrapper was added to nova.utils module that is use not only by the
nova tests but also the nova production code. This made the fixture
library a dependency of the nova production code. While the current
ReaderWriterLock usage only limited to the nova test sub tree. The
I712f88fc1b6053fe6d1f13e708f3bd8874452a8f commit fix the issue of not
having fixtures in the nova requirements.txt. However I think a better
fix is to move the wrapper to the test subtree instead. This patch does
that and restores the state of the requirements.txt

Change-Id: I6903ce53b9b91325f7268cf2ebd02e4488579560
Related-Bug: #1958075
2022-01-17 13:29:35 +01:00
Zuul 1ddb8f83ad Merge "Add fixtures to requirements" 2022-01-17 11:14:52 +00:00
Zuul 3d411cad60 Merge "Close Glance image if downloading failed." 2022-01-17 10:31:21 +00:00
Zuul 24e02f1a9c Merge "Fill the AcceleratorRequestBindingFailed exception msg info" 2022-01-17 04:25:51 +00:00
Takashi Kajinami 33bc5c09f5 Add fixtures to requirements
The commit 887c445a7a made the nova.utils
module dependent on the fixtures library but the change missed updating
requirements and the fixtures library is not installed automatically.

This change migrates the fixtures library from test-requirements.txt to
requirements.txt so that the library is installed without test codes.

Closes-Bug: #1958075
Change-Id: I712f88fc1b6053fe6d1f13e708f3bd8874452a8f
2022-01-16 23:48:51 +09:00
Zuul d5b6412ef5 Merge "api-ref: Adjust BFV rescue non-support note." 2022-01-14 22:28:02 +00:00
Zuul a17b67ab2a Merge "Update Interop doc" 2022-01-14 22:27:56 +00:00
Zuul 5182137367 Merge "Make API fixture pass roles" 2022-01-14 21:02:28 +00:00
Zuul ca1efb52f1 Merge "Add regression test for bug #1937084" 2022-01-14 18:34:43 +00:00
Iago Estrela cec9e7f1f1 Remove deprecated opts from VNC conf
This change aims to remove the deprecated vncserver_listen and
vnserver_proxyclient_address opts from vnc conf.

Story: 2009783
Relates-To: https://review.opendev.org/c/starlingx/openstack-armada-app/+/824467

Signed-off-by: Iago Estrela <IagoFilipe.EstrelaBarros@windriver.com>
Change-Id: I9a6f26d16c74b0d5f38e16ba1e483eef0b578c21
2022-01-13 19:22:29 +00:00
Ghanshyam Mann b88ca72c71 Update centos 8 py36 functional job nodeset to centos stream 8
centOS 8 image and nodeset is planned to be remove as centOS is
EOLing soon.
- http://lists.openstack.org/pipermail/openstack-discuss/2022-January/026621.html

Devstack is also removing devstack-single-node-centos-8 nodeset
which is used in nova py36 functional job
- https://review.opendev.org/q/I36751569d92fbc5084b8308d423a75318ae7d406

This commit updates the nodeset in nove jobs to
devstack-single-node-centos-8-stream which will run functional
test on py36 env.

Change-Id: I50ced59e3aa86e629702f0fece2c4cb990ebb1ed
2022-01-13 12:06:17 -06:00
Zuul ea3945f71c Merge "Add wrapper for oslo.concurrency lockutils.ReaderWriterLock()" 2022-01-12 15:56:17 +00:00
Zuul 8c714c76ae Merge "Enable min pps tempest testing in nova-next" 2022-01-12 10:38:44 +00:00
melanie witt 887c445a7a Add wrapper for oslo.concurrency lockutils.ReaderWriterLock()
This is a follow up change to I168fffac8002f274a905cfd53ac4f6c9abe18803
which added a hackaround to enable our tests to pass with
fasteners>=0.15 which was upgraded recently as part of a
openstack/requirements update.

The ReaderWriterLock from fasteners (and thus lockutils) cannot work
correctly with eventlet patched code, so this adds a wrapper containing
the aforementioned hackaround along with a hacking check to do our best
to ensure that future use of ReaderWriterLock will be through the
wrapper.

Change-Id: Ia7bcb40a21a804c7bc6b74f501d95ce2a88b09b5
2022-01-12 04:15:26 +00:00
Zuul f2b364df64 Merge "Fill the exception msg" 2022-01-11 17:34:06 +00:00
Zuul f37a368e4e Merge "Make the CellDatabases fixture work with fasteners >= 0.15" 2022-01-11 17:19:44 +00:00
Alexey Stupnikov 3e7b9b69e6 Test aborting queued live migration
This patch adds a regression test which asserts that if a live migration
is aborted while it's 'queued', the instance's status is never reverted
back to ACTIVE, and instance remains in MIGRATING state.

There is simple idea behind implemented LiveMigrationQueuedAbortTest:
we start two instances on the same compute and try to migrate
them simultaneously when max_concurrent_live_migrations is set to 1
and nova.tests.fixtures.libvirt.Domain.migrateToURI3 is locked.
As a result, we get two live migrations stuck in 'migrating' and
'queued' states and we can issue API call to abort the second one.

Lock is removed and first instance is live migrated after second
instance's live migration is aborted.

Co-Authored-By: Alex Stupnikov <aleksey.stupnikov@gmail.com>
Partial-Bug: #1949808
Change-Id: I67d41a8e439b1ff3c5983ee17823616b80698639
2022-01-10 14:36:35 +00:00
Tobias Urdin d44e24efe2 libvirt: Add announce-self post live-migration workaround
This patch adds a workaround that can be enabled
to send an announce_self QEMU monitor command
post live-migration to send out RARP frames
that was lost due to port binding or flows not
being installed.

Please note that this makes marks the domain
in libvirt as tainted.

See previous information about this issue in
the [1] bug.

[1] https://bugs.launchpad.net/nova/+bug/1815989

Change-Id: I7a6a6fe5f5b23e76948b59a85ca9be075a1c2d6d
Related-Bug: 1815989
2022-01-10 08:41:31 +00:00
melanie witt 50bf252250 Make the CellDatabases fixture work with fasteners >= 0.15
As of fasteners >= 0.15, the workaround code to use eventlet.getcurrent
if eventlet patching is detected has been removed and
threading.current_thread is being used instead [1]. Although we are
running in a greenlet in our test environment, we are not running in a
greenlet of type GreenThread. A GreenThread is created by calling
eventlet.spawn and spawn is not used to run our tests. At the time of
this writing, the eventlet patched threading.current_thread method
falls back to the original unpatched current_thread method if it is not
called from a GreenThead [2] and that breaks our tests involving this
fixture. We can work around this by patching threading.current_thread
with eventlet.getcurrent during creation of the lock object.

[1] https://github.com/harlowja/fasteners/commit/467ed75ee1e9465ebff8b5edf452770befb93913
[2] https://github.com/eventlet/eventlet/blob/v0.32.0/eventlet/green/threading.py#L128

Change-Id: I168fffac8002f274a905cfd53ac4f6c9abe18803
2022-01-06 17:33:07 +00:00
Zuul b49b7663e1 Merge "Re-add python 3.6 functional testing" 2021-12-20 19:32:10 +00:00
Zuul 14bfbaa50e Merge "[rt] Apply migration context for incoming migrations" 2021-12-15 13:32:58 +00:00
songwenping 2af7eb00f5 Fill the AcceleratorRequestBindingFailed exception msg info
Closes-Bug: #1950276
Change-Id: Iac1d74ebeefc8e4192896b10c76c16942dbe30fc
2021-12-14 08:27:24 +00:00
Ghanshyam Mann cb1a52a828 Re-add python 3.6 functional testing
We have updated the yoga testing runtime to keep the
py36 testing.

- https://review.opendev.org/c/openstack/governance/+/820195

Unit tests job template is also updated to keep python
3.6 as a voting job.

- https://review.opendev.org/c/openstack/openstack-zuul-jobs/+/820286

This commit re-add the python 3.6 functional tests also which we
removed in https://review.opendev.org/c/openstack/nova/+/819194
also, re-adding py3.6/3.7 versions in setup.cfg classifier.

Change-Id: I7c83f1d64f31741dc51cc736265cf50fd0dad7af
2021-12-13 19:26:19 -06:00
Stephen Finucane 5bb6d4c188 functional: Add reproducer for #1907775
You can currently remove a host that has instances scheduled to it from
an aggregate. If the aggregate is configured as part of an availability
zone (AZ), this would in turn remove the host from the AZ, leaving
instances originally scheduled to that AZ stranded on a host that is no
longer a member of the AZ. This is clearly undesirable and should be
blocked at the API level.

You can also add a host to an aggregate where it wasn't in one before.
Because nova provides a default AZ for hosts that don't belong to an
aggregate, adding a host to an aggregate doesn't just assign it to an
AZ, it removes it from the default 'nova' one (or whatever you've
configured via '[DEFAULT] default_availability_zone'). As noted in the
docs [1], people should not rely on scheduling to the default AZ, but if
they had, we'd end up in the same situation as above.

Add tests for both, with a fix coming after.

[1] https://docs.openstack.org/nova/latest/admin/availability-zones.html

Change-Id: I21f7f93ee0ec0cd3a290afba59342b31d074cf2f
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Related-Bug: #1907775
2021-12-10 18:12:55 +01:00
songwenping 2d4c77aa68 Fill the exception msg
Change-Id: Ia3fde144fafbe4f036a14258e713ac830239592f
2021-12-10 10:26:47 +00:00
Zuul 755aa11e0c Merge "Reattach mdevs to guest on resume" 2021-12-08 16:08:24 +00:00
Balazs Gibizer 32c1044d86 [rt] Apply migration context for incoming migrations
There is a race condition between an incoming resize and an
update_available_resource periodic in the resource tracker. The race
window starts when the resize_instance RPC finishes  and ends when the
finish_resize compute RPC finally applies the migration context on the
instance.

In the race window, if the update_available_resource periodic is run on
the destination node, then it will see the instance as being tracked on
this host as the instance.node is already pointing to the dest. But the
instance.numa_topology still points to the source host topology as the
migration context is not applied yet. This leads to CPU pinning error if
the source topology does not fit to the dest topology. Also it stops the
periodic task and leaves the tracker in an inconsistent state. The
inconsistent state only cleanup up after the periodic is run outside of
the race window.

This patch applies the migration context temporarily to the specific
instances during the periodic to keep resource accounting correct.

Change-Id: Icaad155e22c9e2d86e464a0deb741c73f0dfb28a
Closes-Bug: #1953359
Closes-Bug: #1952915
2021-12-07 13:32:26 +01:00
Balazs Gibizer 9f296d775d Extend the reproducer for 1953359 and 1952915
This patch extends the original reproduction
I4be429c56aaa15ee12f448978c38214e741eae63 to cover
bug 1952915 as well as they have a common root cause.

Change-Id: I57982131768d87e067d1413012b96f1baa68052b
Related-Bug: #1953359
Related-Bug: #1952915
2021-12-07 13:32:07 +01:00
Sylvain Bauza 890cd82b84 [doc] propose Review-Priority label for contribs
As we already discussed at the PTG, the consensus was to accept contributors
to use this label for asking cores to review some changes.

Documenting it first so a dependent patch would then modify Gerrit once
we agree.

Change-Id: I38e999954e2c91d049e1af5cda6dd0b4f8168a0e
2021-12-07 11:50:15 +01:00
Balazs Gibizer c59224d715 Reproduce bug 1953359
This patch adds a functional test that reproduces a race between
incoming migration and the update_available_resource periodic

Change-Id: I4be429c56aaa15ee12f448978c38214e741eae63
Related-Bug: #1953359
2021-12-06 16:36:41 +01:00
Gustavo Santos 16f7c601b6 Reattach mdevs to guest on resume
When suspending a VM in OpenStack, Nova detaches all the mediated
devices from the guest machine, but does not reattach them on the resume
operation. This patch makes Nova reattach the mdevs that were detached
when the guest was suspended.

This behavior is due to libvirt not supporting the hot-unplug of
mediated devices at the time the feature was being developed. The
limitation has been lifted since then, and now we have to amend the
resume function so it will reattach the mediated devices that were
detached on suspension.

Closes-bug: #1948705

Signed-off-by: Gustavo Santos <gustavofaganello.santos@windriver.com>
Change-Id: I083929f36d9e78bf7713a87cae6d581e0d946867
2021-12-06 12:00:34 -03:00
Lee Yarwood 159016a4c3 conf: Allow cinderclient and os_brick to independently log at DEBUG
This change adds a simple [cinder]debug configurable to allow
cinderclient and os_brick to be made to log at DEBUG independently of
the rest of Nova.

Change-Id: I84f5b73adddf42831f1d9e129c25bf955e6eda78
2021-12-03 18:21:16 +00:00