From 4bce4480b9af6ac57174c217518f54f92fd8c8a2 Mon Sep 17 00:00:00 2001 From: Balazs Gibizer Date: Fri, 31 Oct 2025 11:37:23 +0100 Subject: [PATCH] Run nova-compute in native threading mode Previous patches removed direct eventlet usage from nova-compute so now we can run it with native threading as well. This patch documents the possibility and switches both nova-compute processes to native threading mode in the nova-next job. Change-Id: I7bb29c627326892d1cf628bbf57efbaedda12f1a Signed-off-by: Balazs Gibizer --- .zuul.yaml | 7 +++++++ doc/source/admin/concurrency.rst | 4 ++-- .../notes/threaded-nova-compute-9d28661295e09d74.yaml | 9 +++++++++ 3 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 releasenotes/notes/threaded-nova-compute-9d28661295e09d74.yaml diff --git a/.zuul.yaml b/.zuul.yaml index 3a24026286..6de49f3798 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -434,6 +434,11 @@ devstack_local_conf: post-config: $NOVA_CPU_CONF: + DEFAULT: + # Added in Gazpacho. Ensures that thread statistics is logged + # each time a task is submitted to the executor so that we + # can troubleshoot hanging threads easier. + thread_pool_statistic_period: 0 libvirt: # Increase the number of PCIe ports per instance given the q35 # machine type attaches more devices by default than pc @@ -519,6 +524,7 @@ 'SYSTEMD_ENV_VARS["n-api-meta"]': OS_NOVA_DISABLE_EVENTLET_PATCHING=true 'SYSTEMD_ENV_VARS["n-cond-cell1"]': OS_NOVA_DISABLE_EVENTLET_PATCHING=true 'SYSTEMD_ENV_VARS["n-super-cond"]': OS_NOVA_DISABLE_EVENTLET_PATCHING=true + 'SYSTEMD_ENV_VARS["n-cpu"]': OS_NOVA_DISABLE_EVENTLET_PATCHING=true devstack_services: # Disable OVN services br-ex-tcpdump: false @@ -555,6 +561,7 @@ FORCE_CONFIG_DRIVE: True # Added in Yoga. NOVNC_FROM_PACKAGE: False + 'SYSTEMD_ENV_VARS["n-cpu"]': OS_NOVA_DISABLE_EVENTLET_PATCHING=true devstack_services: # Disable OVN services br-ex-tcpdump: false diff --git a/doc/source/admin/concurrency.rst b/doc/source/admin/concurrency.rst index 21d4e52e83..dc8f7ddd31 100644 --- a/doc/source/admin/concurrency.rst +++ b/doc/source/admin/concurrency.rst @@ -34,8 +34,8 @@ eventlet mode. If the variable is not set the above default is applied. Since nova 32.0.0 (2025.2 Flamingo) the nova-scheduler, nova-metadata, and nova-api can be switched to native threading mode. - 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-conductor and nova-compute + can also 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 diff --git a/releasenotes/notes/threaded-nova-compute-9d28661295e09d74.yaml b/releasenotes/notes/threaded-nova-compute-9d28661295e09d74.yaml new file mode 100644 index 0000000000..dcd806cf45 --- /dev/null +++ b/releasenotes/notes/threaded-nova-compute-9d28661295e09d74.yaml @@ -0,0 +1,9 @@ +--- +features: + - | + The nova-compute services now can be run in native threading + mode instead of with eventlet. This is an experimental feature that is + disabled by default. Please test the native threading mode in + pre-production before enabling it in production. Please read the + `concurrency `__ + guide for more details.