269 Commits

Author SHA1 Message Date
c48b75c459 Switch to 2023.1 Python3 unit tests and generic template name
This is an automatically generated patch to ensure unit testing
is in place for all the of the tested runtimes for antelope. Also,
updating the template name to generic one.

See also the PTI in governance [1].

[1]: https://governance.openstack.org/tc/reference/project-testing-interface.html

Change-Id: Ieecbed5216c1ed47743bc2b74745c0a91bb105a3
2022-09-16 10:02:19 +00:00
Zuul
72f7e89db1 Merge "Test setting the nova job to centos-9-stream" 2022-09-14 13:26:08 +00:00
Jay Faulkner
c7b865c79b nova-live-migration tests not needed for Ironic
Ironic does not support live migration, so we will skip these tests
if the only changed files are in Ironic virt driver to ensur we
don't waste resources or time trying to run unneeded tests.

Change-Id: Ieb5ac3bb93af6a950acff4d76d0276096a6a24dd
2022-08-17 11:31:39 -07:00
Balazs Gibizer
bf654e3a4a Remove double mocking... again
I thought we fixed all the double mocking issues with
I3998d0d49583806ac1c3ae64f1b1fe343cefd20d but I was wrong.

While we used both mock and unittest.mock the fixtures.MockPatch
used the mock lib instead of the unittest.mock lib.
The path Ibf4f36136f2c65adad64f75d665c00cf2de4b400 (Remove the PowerVM driver)
removed the last user of mock lib from nova. So it is also
removed the mock from test-requirements. This triggered that
fixtures.MockPatch athat started using unittest.mock too.

Before Ibf4f36136f2c65adad64f75d665c00cf2de4b400 a function can be mocked
twice once with unittest.mock and once with fixtures.MockPatch (still
using mock). However after that patch both path of such double
mocking goes through unittest.mock and the second one fails.

So this patch fixes double mocking so far hidden behind
fixtures.MockPatch.

Also this patch makes the py310 and functional-py310 jobs voting at
least in the check queue to prevent future changes adding double mocks.

Change-Id: Ic1352ec31996577a5d0ad18a057339df3e49de25
2022-08-08 19:50:02 +02:00
Ade Lee
9a7028f02c Test setting the nova job to centos-9-stream
Depends-On: https://review.opendev.org/c/openstack/tempest/+/831607

Change-Id: Ic8da6ee0313a911d742190ea5b0d4362cb6aef2f
2022-07-13 14:08:03 +00:00
Sylvain Bauza
4fb2aa4682 zuul: Put Centos9 Stream job periodic-weekly and experimental
This patch is a followup on 45c0a3884b6b4c0b9a6b1b3cef47651f5504502e

As agreed on the Nova weekly meeting [1], we won't put back C9S job to voting
and we'll rather put it on both experimental and periodic-weekly pipelines.
In order to insure we will monitor the status of those runs, we'll check
the status of the job during every Nova meeting happening weekly.

In order to trigger potential race conditions, it was acted to provide an
experimental job for C9S too.

[1] https://meetings.opendev.org/meetings/nova/2022/nova.2022-07-05-16.00.log.html#l-52

Change-Id: I2de4d90202fd7e735026150f79409d51f2d70e0e
2022-07-12 09:58:39 +02:00
Sean Mooney
cbf9b2b873 update nova-next and nova-ovs-hybrid-plug to disable linuxbridge
neutron now declares linuxbridge experimental and requires
it to be enabled by a new config option. We do not set
that in these jobs so the neutron server fails to load
since we enable the linux bridge mech driver.

we do not actully use linuxbridge in these jobs so this patch
just disables the mech driver.

Change-Id: I129a850c3327498d26d899c7709f5749622afdd8
Closes-Bug: #1980948
2022-07-07 12:46:32 +01:00
Sylvain Bauza
45c0a3884b zuul: Temporarly put Centos9 Stream job non-voting
Due to the bug below, all the nova patches are failing. I accordingly
propose to make the job non-voting as it would allow our gate to ressurect.

Of course, this is a transient solution and we need a proper fix for the
job in order to have Centos 9 Stream support back in place ASAP.

When the job is back OK, please make it voting again by reverting this patch.

Change-Id: I5c3fff65fd6d9e4f3632d1ec62ae3f1f9cfbe626
Related-Bug: #1979047
2022-06-17 12:04:13 +02:00
Lee Yarwood
512aab83c8 Revert "zuul: Skip block migration with attached volumes tests due to bug #1931702"
This reverts commit 7c478ac0992d9713c0fd7ea0a0498f0b7f92ce0d.

With the resolution of bug #1945983 in devstack we should also be able
to start testing block migration with attached volumes once again.

Closes-Bug: #1931702
Depends-On: https://review.opendev.org/c/openstack/devstack/+/812391
Depends-On: https://review.opendev.org/c/openstack/devstack/+/812925
Change-Id: I1cb7a8f76c372d19227315361ecf5ff730ec6c36
2022-05-18 11:23:35 +00:00
Zuul
4939318649 Merge "Drop lower-constraints.txt and its testing" 2022-05-17 00:01:41 +00:00
Zuul
a4312a67f9 Merge "Add Python 3.10 functional jobs" 2022-05-13 15:15:46 +00:00
Stephen Finucane
9063e3a1fd Add Python 3.10 functional jobs
These are currently non-voting since we don't care about this stuff for
Zed. It does get us ready for a 3.10-having future, however.

Change-Id: I7740dafd6523eca27fa4e725d7eaf8558e434779
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2022-05-06 15:53:09 +00:00
Balazs Gibizer
a3a593ad55 Enable live_migration_events in nova-ovs-hybrid-plug
The flag was added to prevent the source host neutron agents to trigger
a vif-plugged event too early during a live migration. But actually it
can be used in a more generic sense as the code filter on migration_to
binding profile attribute.

We saw too early vif-plugged events from neutron during evacuation in
post part of the nova-ovs-hybrid-plug job. So this patch enables the
workaround flag for this job too.

Closes-Bug: #1971563
Change-Id: Ifd20ece3a4f126da16f077247c2f1e072edb7163
2022-05-04 14:20:56 +02:00
Ghanshyam Mann
4c339c10e3 Drop lower-constraints.txt and its testing
As discussed in TC PTG[1] and TC resolution[2], we are
dropping the lower-constraints.txt file and its testing.
We will keep lower bounds in the requirements.txt file but
with a note that these are not tested lower bounds and we
try our best to keep them updated.

[1] https://etherpad.opendev.org/p/tc-zed-ptg#L326
[2] https://governance.openstack.org/tc/resolutions/20220414-drop-lower-constraints.html#proposal

Change-Id: Ifbc383f6d4c858189cee55e67b4d4274d9c3358a
2022-04-29 20:56:30 -05:00
Zuul
833022a74b Merge "Add nova-emulation to the experimental queue too" 2022-04-29 11:55:48 +00:00
Ghanshyam Mann
5f5551448d Move centos stream testing to centos-9-stream
In Zed cycle testing runtime, we are targetting the centos 9 stream
- https://governance.openstack.org/tc/reference/runtimes/zed.html

With dropping the python 3.6 support, project started adding python 3.8
as minimum, example nova:
- 56b5aed08c/setup.cfg (L13)

with that, centos 8 stream job is failing 100%
- https://zuul.openstack.org/build/970d029dc96742c3aa0f6932a35e97cf
- https://zuul.openstack.org/builds?job_name=tempest-integrated-compute-centos-8-stream&skip=0

QA is dropping the centos-8-stream testing and support
- https://review.opendev.org/q/topic:drop-c8s-testing

This commit replace tempest-integrated-compute-centos-8-stream job to
tempest-integrated-compute-centos-9-stream.

Depends-On: https://review.opendev.org/c/openstack/tempest/+/839274
Change-Id: I516b9d732ccea6e12904a1612530bce273d06587
2022-04-25 18:11:12 -05:00
Ghanshyam Mann
7c8b800867 Update python testing as per zed cycle teting runtime
In Zed cycle, we have dropped the python 3.6/3.7[1] testing
and its support. Removing the py36 centos8 job as well as
updating the python classifier also to reflect the same.

[1] https://governance.openstack.org/tc/reference/runtimes/zed.html

Change-Id: Iba5074ea6f981a7527e86cfc98edd1ed7dd3086f
2022-04-21 22:06:22 +00:00
Balazs Gibizer
abfd692285 Add nova-emulation to the experimental queue too
This job was moved to periodic in the past to save CI resources. However
sometimes it can be valuable to trigger it on a given review. To be able
to do that easily this patch also adds the job to the experimental
queue.

Then the following gerrit comment can be used to trigger it:
        check experimental

Change-Id: I6a018b57de5afe772c2478aff836b39227dce228
2022-04-06 12:12:06 +02:00
Zuul
ac0cec7c05 Merge "Move FIPS jobs to experimental and periodic queue" 2022-03-29 06:23:19 +00:00
Zuul
de10013328 Merge "Add Python3 zed unit tests" 2022-03-19 11:29:29 +00:00
Zuul
dde15d9c47 Merge "Attempt to thin out nova-ceph-multistore" 2022-03-15 00:33:56 +00:00
Dan Smith
16a463a68f Attempt to thin out nova-ceph-multistore
This job is pretty heavy and has been triggering OOMs that take out
mysqld lately. This disables swift (and c-bak as a result) to try to
reduce the runtime footprint. Losing coverage of these services
should not be a problem for the goal of this job.

Change-Id: Icc18ddd847465069aea34b226851afaeb94594fc
2022-03-14 11:48:00 -07:00
afariasa
6ab6969550 Move FIPS jobs to experimental and periodic queue
Change-Id: Id8d29ac00102c958ddc6f8d0c217fb11282a7d08
2022-03-14 11:54:51 +00:00
3d20fd3fd1 Add Python3 zed unit tests
This is an automatically generated patch to ensure unit testing
is in place for all the of the tested runtimes for zed.

See also the PTI in governance [1].

[1]: https://governance.openstack.org/tc/reference/project-testing-interface.html

Change-Id: Ia141d43de268b1153b157b1adccb111955f36fd6
2022-03-11 09:54:50 +00:00
Jonathan Race
43f13acab5 Changes Emulation CI to weekly-periodic
Due to initial release of emulated architecture feature the CI
has been changed to run less frequent to save CI hours. This
will be revisited in later releases as feature gains greater
support and capabilities.

Implements: blueprint pick-guest-arch-based-on-host-arch-in-libvirt-driver
Signed-off-by: Jonathan Race <jrace@augusta.edu>
Change-Id: I7b085c2086a720a049c9b04a6ff10a0e5cc9d650
2022-03-10 13:21:50 -05:00
Zuul
3d9d328727 Merge "Add grenade-skip-level irrelevant-files config" 2022-03-07 20:36:44 +00:00
Zuul
1fe1624e95 Merge "Enable unified limits in the nova-next job" 2022-03-05 07:25:29 +00:00
melanie witt
9ec6afe893 Enable unified limits in the nova-next job
This configures the nova-next job to enable the new experimental
unified limits functionality.

This also adds basic testing for nova "global" limits in keystone in
the post-test-hook for the nova-next job. These can't be tested in
tempest because they involve modifying global quota limits that would
affect any other server tests running in parallel.

Related to blueprint unified-limits-nova

Depends-On: https://review.opendev.org/c/openstack/devstack/+/789962
Depends-On: https://review.opendev.org/c/openstack/tempest/+/790186
Depends-On: https://review.opendev.org/c/openstack/tempest/+/804311

Change-Id: I624b2684867305a9095e8964ead786c7b0c28242
2022-03-04 03:42:14 +00:00
Dan Smith
219c360dc1 Add grenade-skip-level irrelevant-files config
Change-Id: I28218488e3aa9bc906c4d699ebec8fa35f302ade
Depends-On: https://review.opendev.org/c/openstack/tempest/+/830670
2022-03-02 09:34:40 -08:00
Jonathan Race
1b2ff083eb zuul-job for Adds Pick guest CPU architecture based on host arch
in libvirt driver support

This is split 3 of 3 for the architecture emulation feature.

Added initial ci content for tempest test.

Implements: blueprint pick-guest-arch-based-on-host-arch-in-libvirt-driver
Signed-off-by: Jonathan Race <jrace@augusta.edu>
Change-Id: I0159baa99ccf1e76040c197becf2a56c3d69d026
2022-02-25 16:55:43 -05:00
Zuul
851402b81b Merge "nova-next: Drop NOVA_USE_SERVICE_TOKEN from subnode" 2022-02-21 20:57:52 +00:00
Zuul
cc794b3641 Merge "skip test_tagged_attachment in nova-next" 2022-02-05 00:36:44 +00:00
Sean Mooney
b00ce99dd4 skip test_tagged_attachment in nova-next
This change adds
tempest.api.compute.servers.test_device_tagging.TaggedAttachmentsTest.test_tagged_attachment
to the tempest exclude regex

over the past few weeks we have noticed this test failing intermitently
and it has not started to become a gate blocker. This test is executed in other
jobs that use the PC machine type and is only failing in the nova-next
job which uses q35. As such while we work out how to address this properly
we skip it in the nova-next.

Change-Id: I845ca5989a8ad84d7c04971316fd892cd29cfe1f
Related-Bug: #1959899
2022-02-04 12:28:10 +00:00
Artom Lifshitz
0b0f40d1b3 Revert "Revert resize: wait for events according to hybrid plug"
This reverts commit 7a7a223602ca5aa0aca8f65a6ab143f1d8f8ec1b.

That commit was added because - tl'dr - upon revert resize, Neutron
with the OVS backend and the iptables security group driver would send
us the network-vif-plugged event as soon as we updated the port
binding.

That behaviour has changed with commit 66c7f00e1d9. With that commit,
we started unplugging the vifs on the source compute host when doing a
resize. When reverting the resize, the vifs had to be re-plugged again,
regarldess of the networking backend in use. This renders commit
7a7a223602ca5aa0aca8f65a6ab143f1d8f8ec1b. pointless, and it can be
reverted.

Conflicts - most have to do with context around this commit's code:

nova/compute/manager.py

    a2984b647a4 added provider_mappings to
    _finish_revert_resize_network_migrate_finish()'s signature

    750aef54b19 started using
    _finish_revert_resize_network_migrate_finish() in
    _finish_revert_snapshot_based_resize_at_source()

nova/network/model.py

    8b33ac06445 added get_live_migration_plug_time_events() and
    has_live_migration_plug_time_event()

    7da94440db1 added has_port_with_allocation()

nova/objects/migration.py

    f203da38387 added is_resize() and is_live_migration()

nova/tests/unit/compute/test_compute.py

    a0e60feb3ec added request_spec to the test

nova/tests/unit/compute/test_compute_mgr.py

    be278006a58 added unit tests below ours

nova/tests/unit/network/test_network_info.py

    7da94440db1 (again) added tests for has_port_with_allocation()

nova/tests/unit/virt/libvirt/test_driver.py and
nova/virt/libvirt/driver.py are different in that attempting to
identify individual conflicts is a pointless exercise, as so much has
changed (mdev, vtmp, the recent wait for events during hard reboot
workaround config option, etc). They can be treated as
manual removal of any code that had to do with the bind-time events
logic (though guided by the conflict markers in git).

TODO(artom) There was a follow up commit,
78a08d44ea68b31e27ce344f452756886ad309bd, that added the migration
parameter to finish_revert_migration(). This is no longer needed, as
the migration was only used to obtain plug-time events. We'll have to
undo that as well.

Closes-bug: 1952003
Change-Id: I3cb39a9ec2c260f422b3c48122b9db512cdd799b
2022-01-31 13:10:59 +00:00
Artom Lifshitz
ded6168ad7 Add nova-ovs-hybrid-plug job
We have a gap in our testing of the exernal events interaction between
Nova and Neutron. The nova-next job tests with the OVS network
backend, and Neutron has jobs that test the OVN network backend, but
nothing tests OVS + the iptables security group firewall driver, aka
"hybrid plug". Add a job to test that.

Related-bug: 1952003
Change-Id: Ie42eaa2a39ef097b0eb69b8863bb342bae007fff
2022-01-31 13:08:50 +00:00
Zuul
f87a63a46e Merge "Add check job for FIPS" 2022-01-25 01:34:55 +00:00
Zuul
ae779740c5 Merge "nova-next: Deploy noVNC from source instead of packages" 2022-01-22 02:18:09 +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
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
8c714c76ae Merge "Enable min pps tempest testing in nova-next" 2022-01-12 10:38:44 +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
Lee Yarwood
40c0f7fdd9 nova-next: Deploy noVNC from source instead of packages
To help improve early detection of issues with newer noVNC releases the
nova-next job now deploys directly from source.

Depends-On: https://review.opendev.org/c/openstack/devstack/+/816736

Change-Id: Ic14d2b13cbf0369fc752d457d73d65488e6df3f9
2021-12-03 12:09:03 +00:00
Lee Yarwood
2bbef87e59 nova-next: Drop NOVA_USE_SERVICE_TOKEN from subnode
I68f7b7e78cc8a7f22f3e495b1b20a311dacff6c5 missed this when removing it
from the controller.

Change-Id: Ibc9dea963dc1f9683bd47da7e1bd8d0241176211
2021-12-03 12:08:52 +00:00
Zuul
7670303aab Merge "Remove broken tempest-full-py3-opensuse15 job" 2021-12-01 19:48:17 +00:00
Ghanshyam Mann
9dd0070ce6 Updating tests with Yoga testing runtime
Yoga testing runtime is updated now
- https://governance.openstack.org/tc/reference/runtimes/yoga.html

which needs to test py38 and py39. Unit tests update are
handled by the job template change in openstack-zuul-job and
this commit makes changes to fucntional job to run py39 as voting
and updating the metdata in setup file.

Change-Id: I314fd61f20f2c3551f6231d191b7dcaaefabd2b5
2021-11-25 17:38:32 +00:00
Zuul
69b0d31d20 Merge "Add a WA flag waiting for vif-plugged event during reboot" 2021-11-18 20:06:43 +00:00
Balazs Gibizer
ed3abea3b2 Apply common irrelevant_files for centos 8 job
Apply the common nova irrelevant files filter for the new
tempest-integrated-compute-centos-8-stream job

Change-Id: I0bacb8884a75b5ae604383d73d60fc618123a8d3
2021-11-09 17:46:12 +01:00
Balazs Gibizer
68c970ea99 Add a WA flag waiting for vif-plugged event during reboot
The libvirt driver power on and hard reboot destroys the domain first
and unplugs the vifs then recreate the domain and replug the vifs.
However nova does not wait for the network-vif-plugged event before
unpause the domain. This can cause that the domain starts running and
requesting IP via DHCP before the networking backend finished plugging
the vifs.

So this patch adds a workaround config option to nova to wait for
network-vif-plugged events during hard reboot the same way as nova waits
for this event during new instance spawn.

This logic cannot be enabled unconditionally as not all neutron
networking backend sending plug time events to wait for. Also the logic
needs to be vnic_type dependent as ml2/ovs and the in tree sriov backend
often deployed together on the same compute. While ml2/ovs sends plug
time event the sriov backend does not send it reliably. So the
configuration is not just a boolean flag but a list of vnic_types
instead. This way the waiting for the plug time event for a vif that is
handled by ml2/ovs is possible while the instance has other vifs handled
by the sriov backend where no event can be expected.

Change-Id: Ie904d1513b5cf76d6d5f6877545e8eb378dd5499
Closes-Bug: #1946729
2021-11-04 16:09:12 +01:00
Balazs Gibizer
5d2f2da0af Enable min pps tempest testing in nova-next
Note that the existing qos min bw tests was running in nova next before
but the test file was renamed in
https://review.opendev.org/c/openstack/tempest/+/806255 in a way that
now need the modification of the tempest exclude patter in the job to
still run those tests and the new ones.

Depends-On: https://review.opendev.org/c/openstack/tempest/+/806257
Depends-On: https://review.opendev.org/c/openstack/neutron/+/805391
Change-Id: Iaa0bdd12c07fd51b3cab4c80371f2c868126ccc8
2021-11-04 08:11:01 +00:00
Ghanshyam Mann
f08d9aaa04 Remove broken tempest-full-py3-opensuse15 job
tempest-full-py3-opensuse15 is failing all the time[1] and
opensuse is not tested/supported distro in testing runtime
or devstack anymore. So let's remove opensuse broken job from
tempest too.

Needed-By: https://review.opendev.org/c/openstack/tempest/+/816569

[1] https://zuul.opendev.org/t/openstack/builds?job_name=tempest-full-py3-opensuse15

Change-Id: I7b0363dc9bd759a3432c838e717c3f090afb887d
2021-11-03 15:55:47 -05:00