Commit Graph

345 Commits

Author SHA1 Message Date
Zuul e700b18f2b Merge "Replace remaining usage of Ubuntu Jammy" 2025-09-01 11:30:28 +00:00
Takashi Kajinami 583d88308f Replace remaining usage of Ubuntu Jammy
Ubuntu Jammy is no longer supported since 2025.2 . Replace it by
Ubuntu Noble which is used in the other jobs.

Change-Id: I790fb06ede2c41cb80b3d2e8ff7faa7315c84016
Signed-off-by: Takashi Kajinami <kajinamit@oss.nttdata.com>
2025-08-31 16:36:44 +09:00
Balazs Gibizer 83eed99a9f Run unit test with threading mode
The py312-threading tox target will run the currently working unit tests
with threading mode. We have an exclude list, those tests are
failing or hanging. Also the current test list might still have unstable
tests.

This also adds a non voting zuul job to run the new target.

Change-Id: Ibf41fede996fbf2ebaf6ae83df8cfde35acb2b7e
Signed-off-by: Balazs Gibizer <gibi@redhat.com>
2025-08-27 19:01:35 +02:00
Balazs Gibizer d6a3f86329 Run nova-api and -metadata in threaded mode
It turns out that nova-api and nova-metadata only depend on spawning
threads via scatter-gather. The scatter-gather already supports both
eventlet and threading mode so we can switch these services.

Our WSGI services (nova-api, nova-metadata) are not relying on
oslo.service to fork worker processes, but expect the web server to
handle that (uwsgi, apache mod_wsgi). This means we don't need to handle
any forking issues as no nova code runs before the fork.

Change-Id: Id3a339c605dfc730bdb7994c3ca45baafeb5af80
Signed-off-by: Balazs Gibizer <gibi@redhat.com>
2025-08-14 13:39:25 +02:00
Balazs Gibizer 3e33b58092 Run nova-next with n-sch in threading mode
Depends-On: https://review.opendev.org/c/openstack/devstack/+/948436

Change-Id: I36c68740fae3e3a9bd3286a1b66d86fd3341aff5
Signed-off-by: Balazs Gibizer <gibi@redhat.com>
2025-08-12 07:51:02 -07:00
Balazs Gibizer dec761b680 Disable NOVA_COMPILE_MDEV_SAMPLES to unblock CI
The nova-next is blocked by missing kernel sources during compilation
disabling it until we find a solution. The result is not yet used by the
nova job so it is safe to disable.

Related-Bug: #2110545
Change-Id: Idb4be7d7537fe08f639b9c91b9f9bc261076884f
2025-05-13 14:22:33 +02:00
Balazs Gibizer a5bcaf69b1 Remove python 3.9 support
OpenStack recently dropped python3.9 support for global requirements[1]
as it was removed from the Flamingo supported runtimes[2].

So this patch removes 3.9 support from nova too.

[1]https://review.opendev.org/c/openstack/requirements/+/948285
[2]https://governance.openstack.org/tc/reference/runtimes/2025.2.html#python

Change-Id: I8aea971d7972959c32d5175926cbaddb21839f8e
2025-04-29 09:32:24 +02:00
Michael Still cbc263f6bc libvirt: allow direct SPICE connections to qemu
This patch adds a new console type, "spice-direct", which provides
the connection information required to talk the native SPICE protocol
directly to qemu on the hypervisor. This is intended to be fronted
by a proxy which will handle authentication separately.

A new microversion is introduced which adds the type "spice-direct"
to the existing "spice" protocol.

An example request:

POST /servers/<uuid>/remote-consoles
{
  "remote_console": {
    "protocol": "spice",
    "type": "spice-direct"
  }
}

An example response:

{
  "remote_console": {
    "protocol": "spice",
    "type": "spice-direct",
    "url": "http://localhost:13200/nova?token=XXX";
  }
}

This token can then be used to lookup connection details for the
console using a request like this:

GET /os-console-auth-tokens/<consoletoken>

Which returns something like this:

{
  "console": {
    "instance_uuid": <uuid>,
    "host": <hypervisor>,
    "port": <a TCP port number>,
    "tls_port": <another TCP port number>,
    "internal_access_path": null
  }
}

APIImpact

Change-Id: I1e701cbabc0e2c435685e31465159eec09e3b1a0
2025-02-22 08:25:38 +11:00
Sean Mooney d4f40976d0 move nova-ovs-hybrid-plug to deploy with spice and fix qxl default
In centos/rhel 9 qemu supprot for the qxl model was removed
with the removal of spice support.
In ubuntu 24.04 qemu support for qxl and spice supprot
has now also been removed.
debian 12 bookworm still support spice in there qemu package.

When we updated the default video model to virtio for x86 we
left a config driven special case for spice to default to qxl
since that nolonger works on centos or ubuntu based distos that
default is not helpful so this change removes the special case
making virtio the default for x86 regardless of the console used.

This change also updates the nova-ovs-hybrid-plug to test with spice
so that we have at least one job using it. to enable that the job is
moved to debian.

Closes-Bug: #2097529
Change-Id: I265ad2ced3729bed41bf53c58dcebadb775ce1f7
2025-02-19 17:09:09 +00:00
Zuul 12bc65f942 Merge "Disable the heal instance info cache periodic task" 2025-02-17 20:46:07 +00:00
Sean Mooney b3f8815720 Disable the heal instance info cache periodic task
The _heal_instance_info_cache periodic task predates
the introduction of the server external events API
which is now the canonical way to refresh the cache.

This change updates the default value of
``[compute]heal_instance_info_cache_interval``
to -1 disabling it by default.

The nova-ovs-hybrid-plug job is extended to test the
legacy configuration value and the config override is removed
from nova-next

Closes-Bug: #1996094
Related-Bug: #2089225
Change-Id: I33ac91bb4f3ead51af2f7005002d5eb5078540d9
2025-02-05 19:49:01 +00:00
Ghanshyam Mann bb8ee15106 Cleanup RBAC jobs in check/gate pipeline
This commit does the following changes in gate testing:

- Test tempest-integrated-compute-rbac-old-defaults (Test the
  RBAC old defaults which are deprecated but still supported)
  in periodic weekly pipeline instead of check/gate pipeline.

  Reason: Old defaults are deprecated and it will be rare to
  have any changes in those. These should be ok to run weekly
  to know if anything is broken for old defaults.

- Remove tempest-integrated-compute-enforce-scope-new-defaults
  This test the new defaults which are enabled by default and
  tested in every job.

  Reason: We kept this job for cinder because their new defaults
  are not enabled by default. To test nova new defaults combination
  with cinder new defaults, we have Tempest job running in tempest
  gate (tempest-full-enforce-scope-new-defaults).

Change-Id: I3a1634ff71b39c722401dea8e77092228f9cc064
2025-02-04 19:37:17 +00:00
Zuul 8c953d4d25 Merge "zuul: Add missing context comments for nova-next" 2025-01-28 22:32:50 +00:00
Zuul 932866d078 Merge "Run nova-next without periodic cache healing" 2025-01-22 18:30:38 +00:00
Zuul 3d21445b73 Merge "Add whitebox-devstack-multinode job to periodic" 2025-01-20 21:08:50 +00:00
Bogdan Dobrelya 26d174b65d Run nova-next without periodic cache healing
Neutron networking backends today are expected to work without
the periodic healing of the cache in Nova. Turn it off to gain
additional performance and in order to start testing this
setup in advance, before we are ready to change the default
value to it.

Change-Id: Ic90949cae840290dc376af7a7a3056babe2539f2
Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com>
2025-01-16 15:19:44 +01:00
Stephen Finucane ac48ebd08a zuul: Add missing context comments for nova-next
Spotted while trying to ascertain if unified limits was being tested
anywhere.

Change-Id: Ib0f19a8153bdcc1222bc48ae518b3a9c9fde35a8
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2024-11-19 16:57:27 +00:00
Ghanshyam Mann 3abab88784 Update gate jobs as per the 2025.1 cycle testing runtime
As per 2025.1 testing runtime[1], we need to test on Ubuntu
Noble (which will be taken care by tempest and devstack
patches to move base jobs to Noble (depends-On)) and at least single
job to run on Ubutnu Jammy (for smooth upgrade from previous
releases).

This commit keep rbac old default job continue running on Jammy
which can be moved to noble in next cycle.

Depends-On: https://review.opendev.org/c/openstack/tempest/+/932156
[1] https://governance.openstack.org/tc/reference/runtimes/2025.1.html

Change-Id: I99c0eb76d63a5902555f5527dbfdaf96c47a098f
2024-11-18 17:12:49 -08:00
Takashi Kajinami b476f0c615 Skip functional tests on pre-commit config update
This file is used only in code style checks.

Change-Id: Ia1787dc618a12aca23f6302c3d9c7db44676be88
2024-11-11 15:54:15 +00:00
Artom Lifshitz 877e449a11 Add whitebox-devstack-multinode job to periodic
Whitebox is a tempest plugin whose scope specifically includes peaking
behind the curtain. It is used for integration tests that cannot
perform their assertions based on just the REST API, which is the
limit in Tempest proper. Whitebox allows things like examining the
instance XML and querying the database. While it is not limited to
Nova in theory, in practice at the time of this commit, it only
contains compute-related tests.

This patch adds the basic integration job that whitebox uses in its
own CI to Nova's periodic weekly pipeline. Whitebox does a lof of
tests around CPU pinning, and therefore uses nodepool labels that
provide nested KVM support. For that reason, it's considered wasteful
to run it against every single Nova patch, so periodic is being
proposed here.

As a periodic job, its status will have to be a recurring item on the
Nova team meeting, similar to how the Placement periodic job is
treated.

In addition, we also add it to the experimental pipeline to allow for
manual trigger if deemed necessary on any particular patch.

Change-Id: I0e1b754d0b94194cf9baeb6e188036b03be727db
2024-10-22 13:53:22 -04:00
Balazs Gibizer 7344a87bdf Revert "Test live migration between hosts with differnet cpu_shared_sets"
The nodepool provides different VMs as computes it can have 8 or 4 cpus.
So the reverted commit breaks the test runs that uses 4 cpu computes. We
need a smarter solution and until then we need to get back to a stable
CI.

This reverts commit aca63b66e5.

Change-Id: Id48c6143533fa97f0b79936a4551f0e19751db44
2024-10-14 14:42:43 +02:00
Sean Mooney aca63b66e5 Test live migration between hosts with differnet cpu_shared_sets
This change modifes the nova-live-migration job to define
[compute]cpu_shared_set to different ranges on the controller
and compute node. in ci we have 8 cpus so the controller is set
to 0-5 and the compute uses 2-7

6 cores with our default allocation ratio should be sufficent
for our current level of concurrancy. This change also adds
the remaining cores as cpu_dedicated_set, they will currently
be unused but are thre if we want to enable pinned cpu testing
in the future.

Change-Id: I0d8463cf584d6ac141a5e1cb492d17996db458e0
2024-08-30 01:31:45 +00:00
Sean Mooney 804bc98759 update nova-next to use ubuntu 24.04
This change updates the nova-next nodeset
to use openstack-two-node-noble and revert to
using qemu without nested virt.

using nested virt was a tempory messure to mitigate the kernel
panics we were seeing related to volume detach while we also explored
using split kernel images. since then we have reverted the other
jobs back to using normal whole disk images and we have not
seen a marked uptic in kernel panics.

as such this change drop the use of nested virt since the other jobs
are not using it an updates the nodeset to move nova-next to test on
ubuneu 24.04 (noble) on python 3.12

Depends-On: https://review.opendev.org/c/openstack/devstack/+/922427
Change-Id: I5059ba3c519efb18947a8f3d24868ce1c9289e3d
2024-08-30 02:29:38 +01:00
Sean Mooney c69a9eb87f Skip new image format tests
The nova-ceph-multistore job is currently
not configured properly for the new image format
tests. This change skips them until we decided
how to fix this.

Change-Id: I3de7588ba224453c24beabf8a799c71677603ba7
2024-08-13 19:32:47 +01:00
Zuul 73012258e7 Merge "[CI] Replace deprecated regex" 2024-07-24 23:38:49 +00:00
Dan Smith c0ff2386ed Fix disk_formats in ceph job tempest config
Tempest currently defaults to disk_formats[0] for images it creates,
which is 'ami'. However, it's actually using a qcow2 disk image by
default, which means we're lying to glance when we create those.

Change-Id: I737e9aa51c268a387f1eed24cf717618d057d747
2024-07-02 12:52:36 -07:00
Elod Illes 9b77bae8a3 [CI] Replace deprecated regex
Latest Zuul drops the following warnings:

  All regular expressions must conform to RE2 syntax, but an
  expression using the deprecated Perl-style syntax has been detected.
  Adjust the configuration to conform to RE2 syntax.

  The RE2 syntax error is: invalid perl operator: (?!

This patch replaces the 'irrelevant-files' to 'files' with explicitly
listing the pattern which files should be the tests run against.

Change-Id: If287e800fb9ff428dbe6f9c4c046627f22afe3df
2024-06-18 16:18:33 +02:00
Sean Mooney 3811c7f648 tweak emulation job to avoid OOM errors
This change increases the swap in the emulation job form
1G to 8G
This change updates the default cirrors image form 0.5.2
to 0.5.3 to avoid know kernel bugs
this change reduces the tb_cache_size: to 128
The tempest concurrency is reduced to 4 to avoid
no valid host error in the resize tests

Change-Id: Ic1dde3d54f5ca12408ef53218773a27d55760705
2024-05-27 14:19:02 +01:00
Zuul 4e3a41f0a4 Merge "Stop using split UEC image (mostly)" 2024-05-22 19:03:32 +00:00
Zuul 61ad4f1f27 Merge "Enable virtio-scsi in nova-next" 2024-05-20 21:41:24 +00:00
Dan Smith eed3e2b47f Stop using split UEC image (mostly)
This reverts us back to using the standard disk image for most of our
tests, which is more representative of how people actually use nova.
This leaves the UEC image on a few jobs for the sake of comparison
data for the time being, and because we should actually test that
code path if we're going to say we support it.

Change-Id: I16ed92d342464325d4bef33c1e22b328bcfbe7d6
2024-05-20 08:24:18 -07:00
Dan Smith 84b0a481fe Enable OCaaS for several nova jobs
This uses the OCaaS feature in devstack which saves *minutes* of time
running devstack by effectively caching the openstackclient startup
instead of taking that hit for every invocation.

Change-Id: I78308128c6249f7f871e0231ce717b1ec0f88509
2024-05-20 08:24:18 -07:00
Dan Smith 50b180023f Make python 3.12 unit and functional voting
Change-Id: I6de86f3e3e283ba404f927ea4c8164f791df3989
2024-05-15 12:29:14 -07:00
Dan Smith 32546d9c1b Enable virtio-scsi in nova-next
This lets us test the direct-lun volume attachment model.

Change-Id: Ibc7bff377cc5b5572e2a11006116401babaac347
Depends-On: https://review.opendev.org/c/openstack/tempest/+/918457
2024-05-07 11:49:21 -07:00
Stephen Finucane 8b70e29487 Remove SQLAlchemy tips jobs
The most recent SQLAlchemy and Alembic versions are now in
upper-constraints. As a result, this job has served its purpose and can
be removed. For more information, see [1].

[1] https://lists.openstack.org/archives/list/openstack-discuss@lists.openstack.org/thread/RBHXHTO3GUOOXVSZXD4C2O3TKDOH2QSC/

Change-Id: I9d0261aad8dbca3f05600c8d8879411be232886e
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Depends-on: https://review.opendev.org/c/openstack/requirements/+/879743
2024-04-12 11:41:45 +01:00
Sean Mooney 3b25b1e94c add multinode ironic shard job
This change adds the
ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode-shard
to the periodic-weekly and experimental pipelines replacing
the existing ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode
job in the experimental line.

&policies-irrelevant-files is moved to the job defintions to
make workign on jobs simpler when commeting out jobs during devleopemt
yes this is unrelated but it make our lives simpler.

Change-Id: I1ee8f7f7d0cbcfb3a8cd61b5fec201b4ba4bf671
2024-03-01 00:20:40 +00:00
Sean Mooney e123055530 bump nova-lvm to use 8G of swap from 4G
nova-lvm ocationally has OOM events causing
g-api to get killed. This can result in test failures
with a 502 form glance so we bump the swap to 8G
like the ceph jobs to avoid that.

Change-Id: Ib88f9feb692ee440b8f73e9b3dca56c08dadb665
2024-02-19 16:54:04 +00:00
Zuul fed123085d Merge "Lower num_pcie_ports to 12 in the nova-next job" 2024-01-11 05:00:33 +00:00
melanie witt d3181bf202 Set UEC image vars for jobs not defined in Nova
This is another follow up for change
I1a6468fbfa51eedec0ab91d73f313784a9a618a0 which missed setting the
*uec_image_vars for jobs that are not defined in Nova. For example,
the tempest-integrated-compute job is not defined in Nova and if we
don't set *uec_image_vars for it, it will not use the UEC image and
will instead use the default full image.

This also sets *uec_image_vars for one job defined in Nova,
nova-osprofiler-redis, that was missed in the original change.

Change-Id: Ia8741d46c28277e9addadf0e2a568c3ad86fb8dc
2023-12-06 19:01:06 +00:00
melanie witt 07d4138a43 Remove redundant setting of DEFAULT_IMAGE_NAME(_FILE)
This is a follow up for change
I1a6468fbfa51eedec0ab91d73f313784a9a618a0 which had residue from an
earlier PS that set DEFAULT_IMAGE_NAME and DEFAULT_IMAGE_FILE_NAME
intended to override project.vars. The project.vars approach did not
work because we needed to set IMAGE_URLS as well and the
devstack-tempest ancestor job sets IMAGE_URLS which overrides
project.vars.

The approach was changed to use YAML anchors instead of project.vars to
reduce duplication, which made the setting of DEFAULT_IMAGE_NAME and
DEFAULT_IMAGE_FILE_NAME in nova-next redundant as the default values
from Devstack can be used.

This removes the setting of DEFAULT_IMAGE_NAME and
DEFAULT_IMAGE_FILE_NAME in nova-next.

Change-Id: I3929b6c55d77575a6c0bd205f933cc2a690db91e
2023-12-05 22:30:52 +00:00
melanie witt 326279962b Use split kernel/initramfs Cirros UEC image by default in jobs
This change is in attempt to reduce the occurrence of guest kernel
panics in the APIC timer handler that we have been seeing in job
failures more recently.

We will try using the split kernel/initramfs image by default for jobs
and use the full disk image in the nova-next job to cover testing of
the full image.

The approach follows the example of CI improvements that were made in
the Neutron project in the past:

  https://review.opendev.org/c/openstack/neutron/+/843237
  https://review.opendev.org/c/openstack/neutron-tempest-plugin/+/821067

Depends-On: https://review.opendev.org/c/openstack/tempest/+/902609

Change-Id: I1a6468fbfa51eedec0ab91d73f313784a9a618a0
2023-12-05 07:24:48 +00:00
melanie witt 283eece679 Lower num_pcie_ports to 12 in the nova-next job
This change is being proposed in response to guest kernel panics that
are happening occasionally in the nova-next CI job. In these particular
cases, we see messages like the following in the guest console log dump
[1]:

  pci 0000:00:03.6: BAR 13: no space for [io  size 0x1000]
  pci 0000:00:03.6: BAR 13: failed to assign [io  size 0x1000]

which seems to indicate the guest is running out of memory to allocate
to the pcie devices.

This lowers num_pcie_ports to 12 from 24 in an effort to use less
memory.

[1] https://pastebin.com/raw/cVDem0Xr

Change-Id: Ibfa65a00dd91e6c3f28fef837a7e172221f72f42
2023-11-29 17:14:09 +00:00
Zuul e5e5e00579 Merge "Make sqlalchemy-2x job voting again" 2023-11-14 18:24:48 +00:00
Zuul 338ee65c4c Merge "Fix unit tests broken by olso.utils" 2023-11-10 02:55:21 +00:00
Takashi Kajinami f4f056dda8 Make sqlalchemy-2x job voting again
... because the new oslo.utils version is now used in CI.

Depends-on: https://review.opendev.org/c/openstack/requirements/+/900517
Related-Bug: #2042886
Change-Id: I916a2b64d8d611f0e2bd4583bbe68fdc3bd00511
2023-11-09 15:49:10 +00:00
Takashi Kajinami e04d20a8bc Fix unit tests broken by olso.utils
Some of the object unit tests grub Mock object unintentionally, and
that results in failure during initializing an versioned object,
because the Mock object does not present its version correctly.

This fixes that problem

The sqlalchemy-2x job is made non-voting because this job requires
oslo.utils 6.3.0 which is blocked by this problem.

Closes-Bug: #2043116
Related-Bug: #2042886
Change-Id: Id1c1b77c020e2d8f0ac61c2aee86c9f37d388d53
2023-11-09 15:41:57 +00:00
Sylvain Bauza b64ecb0cc7 Adding server actions tests to grenade-multinode
We recently found a rolling-upgrade bug on rebuild so we need to make
sure that grenade-multinode can verify all our instance actions.

Given we pin the compute RPC API version to the N-1 compute one, we are
sure that all RPC calls continue to behave the previous release.

NOTE : Given the previous cycle was already supporting 6.2 RPC version,
we can't test here the previous problems hence why this is the last
patch from the series.

Change-Id: I1d8deb139922494dd74ff32965fd7dd74d1d768b
Related-Bug: #2040264
2023-10-30 10:17:57 -07:00
Zuul 16d4e1d455 Merge "disable ovn based testing of test_live_migration_with_trunk" 2023-10-29 21:06:30 +00:00
Dan Smith 82f4da91ab Compile mdev samples for nova-next
Change-Id: If44964f2b99ee0482600ec31e85ea1d4caeea1b3
2023-10-12 08:57:35 -07:00
Zuul 9246630058 Merge "Add job to test with SQLAlchemy master (2.x)" 2023-10-03 16:00:57 +00:00