From f73a23b4d49cbcc0df772409f1881ff39fcdab3e Mon Sep 17 00:00:00 2001 From: Balazs Gibizer Date: Fri, 5 Dec 2025 11:30:46 +0100 Subject: [PATCH] Upgrade note for concurrency mode default change This is a follow up for the release notes added in the commit 35207ee8b5f9f117c2ceb9f941c1461582c6a8b4 that changed the default mode for the scheduler and the API services. At that time we missed to note the upgrade impact of such change. So this patch extends the reno with an upgrade note. Change-Id: I280e7eb9c1da6eeaf50e96e8b19e296961f2651a Signed-off-by: Balazs Gibizer --- doc/source/admin/concurrency.rst | 17 ++++++++++++++++- ...y-default-sch-api-meta-d2534ce9c7b69d8a.yaml | 17 +++++++++++++++-- 2 files changed, 31 insertions(+), 3 deletions(-) diff --git a/doc/source/admin/concurrency.rst b/doc/source/admin/concurrency.rst index 52b12fa7cf..7a9fa1cf76 100644 --- a/doc/source/admin/concurrency.rst +++ b/doc/source/admin/concurrency.rst @@ -24,7 +24,7 @@ Selecting concurrency mode for a service Since nova 33.0.0 (2026.1 Gazpacho) the nova-scheduler, nova-api, and nova-metadata are using native threading by default. The rest of the services are using eventlet by default in this release. The concurrency mode -can be configured via setting the environment variable +can be configured per service via setting the environment variable ``OS_NOVA_DISABLE_EVENTLET_PATCHING``. Setting that variable to ``true`` requests the native threading mode while setting it to ``false`` requests the eventlet mode. If the variable is not set the above default is applied. @@ -37,6 +37,10 @@ eventlet mode. If the variable is not set the above default is applied. Since nova 33.0.0 (2026.1 Gazpacho) also the nova-conductor can be switched to native threading mode. + Since nova 33.0.0 (2026.1. Gazpacho) the nova-scheduler, nova-metadata, and + nova-api using native threading mode by default but still can be switched + back to eventlet if needed. + Tunables for the native threading mode -------------------------------------- @@ -114,3 +118,14 @@ adding the `read_timeout`__ connection parameter to the connection string. We recommend using both in deployments where Nova services are running in native threading mode. + +Upgrading to nova 33.0.0 (2026.1. Gazpacho) or newer +---------------------------------------------------- + +In nova 33.0.0 (2026.1. Gazpacho) the default concurrency mode of +nova-scheduler, nova-api, and nova-metadata service are switched to native +threading. We recommend to decouple the upgrade from the concurrency mode +change to reduce the risk of issues. To do that either test and tune the native +threading mode of these services already in 2025.2 (Flamingo) or ensure that +your service configuration is explicitly using the eventlet mode before you +upgrade and only change to threading mode after the upgrade was successful. diff --git a/releasenotes/notes/threading-by-default-sch-api-meta-d2534ce9c7b69d8a.yaml b/releasenotes/notes/threading-by-default-sch-api-meta-d2534ce9c7b69d8a.yaml index f4dd831ed7..f874481c2c 100644 --- a/releasenotes/notes/threading-by-default-sch-api-meta-d2534ce9c7b69d8a.yaml +++ b/releasenotes/notes/threading-by-default-sch-api-meta-d2534ce9c7b69d8a.yaml @@ -3,7 +3,20 @@ features: - | The default concurrency mode is now switched from eventlet to native threading for nova-scheduler, nova-api, and nova-metadata services. - The concurrency mode can still be switched back to eventlet if needed. - Please read the + The concurrency mode can still be switched back to eventlet if needed + per service. Please read the `concurrency `__ guide for more details. +upgrade: + - | + When you are upgrading to 2026.1 (Gazpacho) or newer the default + configuration of nova-scheduler, nova-api, and nova-metadata services + change to run these services with native threading mode by default + instead of the legacy eventlet mode. We recommend to decouple the + upgrade from the concurrency mode change to reduce the risk of issues. + To do that either test the native threading mode of these services already + in 2025.2 (Flamingo) or ensure that your service configuration is + explicitly using the eventlet mode before you upgrade and only change to + threading mode after the upgrade was successful. Please read the + `concurrency `__ + guide for more details on how to configure the mode.