Current Series Release Notes¶
34.0.0-81¶
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, setenabled = Trueunder the[oslo_middleware_tracing]group innova.confand install the optional OpenTelemetry exporter packages, which ship as extras ofoslo.middleware:oslo.middleware[tracing-http]for the OTLP HTTP exporter oroslo.middleware[tracing-grpc]for the OTLP gRPC exporter. Enabling the middleware without these packages installed will cause the service to fail at startup.
Known Issues¶
The image signature verification against user provided trusted certificates feature does not always verify the image signature. There are multiple issues.
The signature verification only happens when the image is downloaded from Glance. If the image is already in the compute node’s image cache when a new VM or an incoming cold migration requests the feature the image download code is skipped and therefore the image signature is not verified against the certificates the owner provided in the VM’s definition.
Additionally during cross cell cold migration Nova does not copy the trusted certificates list attached to the VM from the source cell to the destination cell DB so no image signature verification happen in the destination cell for this VM any more.
During shelve Nova creates a snapshot of the VM and uploads it to Glance. Nova does not sign the uploaded image so during unshelvig of the VM no signature verification happens.
Upgrade Notes¶
The
nova-novncproxy,nova-serialproxyandnova-spicehtml5proxyservices now default to native threading mode with the default[DEFAULT] concurrency_backend = autosetting. With that every Nova service defaults to native threading, only thenova-manage,nova-policyandnova-statusCLI 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 = eventletin 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 = threadingexplicitly for these CLIs may remove that setting.
The deprecated
[workarounds] disable_libvirt_livesnapshotoption 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_backendconfiguration 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) orthreadingshould remove the option from their configuration; operators still usingeventletshould first migrate to native threading. See the concurrency admin guide for migration guidance.
Bug Fixes¶
Bug #2160158: Fixed the
supports_virtio_fscapability 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_typeoption is set toqemuorkvm.
Fixed pagination of
GET /servers/{server_id}/os-volume_attachmentsto applylimitandoffsetafter excluding block device mappings that are not visible in the response. Previously, local disks and, from microversion 2.89, volumes without an attachment ID consumed positions in pages. This could produce short or empty pages while attachments remained, or repeated attachments when clients advanced the offset by the number of returned attachments.
Fixes a regression in 2026.1 where all requests to the deprecated
/os-volumes_bootAPI failed with an unhandledHTTP 500due to aKeyError: '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.