Default native threading for sch, api and metadata

This patch switches the default concurrency mode to native threading
for the services that gained native threading support in Flamingo:
nova-scheduler, nova-api, and nova-metadata.

The OS_NOVA_DISABLE_EVENTLET_PATCHING env variable still can be used to
explicitly switch the concurrency mode to eventlet by

  OS_NOVA_DISABLE_EVENTLET_PATCHING=false

We also ensure that the cover, docs, py3xx and functional tox targets
are still running with eventlet while py312-threading kept running
with native threading.

Change-Id: I86c7f31f19ca3345218171f0abfa8ddd4f8fc7ea
Signed-off-by: Balazs Gibizer <gibi@redhat.com>
This commit is contained in:
Balazs Gibizer
2025-11-03 13:25:55 +01:00
parent 0afb72e883
commit 35207ee8b5
8 changed files with 71 additions and 13 deletions
+11 -2
View File
@@ -56,12 +56,14 @@ commands =
env TEST_OSPROFILER=1 stestr run --combine --no-discover 'nova.tests.unit.test_profiler'
stestr slowest
[testenv:{unit,py3,py310,py311,py312}]
[testenv:{unit,py3,py310,py311,py312,py313}]
setenv =
{[testenv]setenv}
# we do not have any greenlet leaks in unit tests so enforce that
# by making greenlet leaks a failure.
NOVA_RAISE_ON_GREENLET_LEAK=True
# run the test with eventlet
OS_NOVA_DISABLE_EVENTLET_PATCHING=False
[testenv:py312-threading]
setenv =
@@ -81,7 +83,7 @@ commands =
stestr run {posargs} --exclude-list /tmp/exclude.txt
stestr slowest
[testenv:functional{,-py310,-py311,-py312}]
[testenv:functional{,-py310,-py311,-py312,-py313}]
description =
Run functional tests.
setenv =
@@ -89,6 +91,8 @@ setenv =
# we do not have any greenlet leaks in functional tests so enforce that
# by making greenlet leaks a failure.
NOVA_RAISE_ON_GREENLET_LEAK=True
# run the test with eventlet
OS_NOVA_DISABLE_EVENTLET_PATCHING=False
# As nova functional tests import the PlacementFixture from the placement
# repository these tests are, by default, set up to run with openstack-placement
# from pypi. In the gate, Zuul will use the installed version of placement (stable
@@ -208,6 +212,8 @@ commands =
setenv =
{[testenv]setenv}
PYTHON=coverage run --source nova --parallel-mode
# run the test with eventlet
OS_NOVA_DISABLE_EVENTLET_PATCHING=False
extras =
commands =
coverage erase
@@ -244,6 +250,9 @@ commands =
sphinx-build -W --keep-going -b html -j auto doc/source doc/build/html
# Test the redirects. This must run after the main docs build
whereto doc/build/html/.htaccess doc/test/redirect-tests.txt
setenv =
OS_NOVA_DISABLE_EVENTLET_PATCHING=False
[testenv:pdf-docs]
description =