Current Series Release Notes

34.0.0-76

New Features

  • Added support for the OpenTelemetry tracing middleware provided by oslo.middleware. The middleware is wired into the Nova API paste pipeline and is disabled by default, acting as a zero-overhead passthrough when off. To enable distributed tracing, set enabled = True under the [oslo_middleware_tracing] group in nova.conf and install the optional OpenTelemetry exporter packages, which ship as extras of oslo.middleware: oslo.middleware[tracing-http] for the OTLP HTTP exporter or oslo.middleware[tracing-grpc] for the OTLP gRPC exporter. Enabling the middleware without these packages installed will cause the service to fail at startup.

Upgrade Notes

  • The nova-novncproxy, nova-serialproxy and nova-spicehtml5proxy services now default to native threading mode with the default [DEFAULT] concurrency_backend = auto setting. With that every Nova service defaults to native threading, only the nova-manage, nova-policy and nova-status CLI entry points still default to the eventlet mode. Each console proxy service can be reverted individually to the legacy eventlet mode by setting [DEFAULT] concurrency_backend = eventlet in the configuration file of that service. Please read the concurrency guide for more details.

  • The nova-manage, nova-policy, and nova-status CLI entry points now default to native threading. This completes the migration: all Nova services and CLI tools now run in native threading mode by default. Operators who previously set [DEFAULT] concurrency_backend = threading explicitly for these CLIs may remove that setting.

  • The deprecated [workarounds] disable_libvirt_livesnapshot option has been removed.

  • The deprecated aliases of quota related options in the [DEFAULT] section have been removed. Use the options in the [quota] section instead.

Deprecation Notes

  • The [DEFAULT] concurrency_backend configuration option is now deprecated for removal. It was introduced to facilitate migration from eventlet-based to native-threading concurrency. Once eventlet support is removed (no earlier than 2027.2), the option will serve no purpose and will be removed at the same time. Operators using the default (auto) or threading should remove the option from their configuration; operators still using eventlet should first migrate to native threading. See the concurrency admin guide for migration guidance.

Bug Fixes

  • Bug #2160158: Fixed the supports_virtio_fs capability always reported by the libvirt driver regardless of virtualization type. This feature is supported by only QEMU. Now the capability is reported only when the [libvirt] virt_type option is set to qemu or kvm.

  • Fixes a regression in 2026.1 where all requests to the deprecated /os-volumes_boot API failed with an unhandled HTTP 500 due to a KeyError: 'body' in the request body validation.

  • Previously, if a request to detach a Cinder volume failed at the call to delete the attachment via Cinder API, the volume status remained “detaching” instead of being returned to “in-use”. The “detaching” status prevented subsequent retries of a detach request from being able to succeed as they were rejected for the volume not being “in-use”. This has been fixed to roll back the volume status to “in-use” if a volume detach fails at the Cinder API call. See bug 2016173 for more details.