Note
These are significant changes reported directly from the project teams and have not been processed in any way. Some highlights may be more significant than others. Please do not take this list as a definitive set of highlights for the release until the Open Infrastructure Foundation marketing staff have had a chance to compile a more accurate message out of these changes.
Notes:
Cyborg strengthened multi-tenant security and operator control for accelerator resources and addressed CVE-2026-40213 and CVE-2026-40214 by scoping requests to projects, requiring service-token validation, and tightening access to hardware management APIs.
New opt-in persona-based policy defaults for reader, member, manager, service, and admin roles aligned Cyborg with OpenStack’s secure RBAC model and provided a migration path before the planned 2027.1 default change.
Operators gained safer upgrade tooling and finer-grained control over which Intel SR-IOV NIC devices Cyborg managed, while Cyborg restored standards-compliant API microversion handling for OpenStack clients.
The generic PCI driver returned to fully supported status, while expanded testing and documentation improved release confidence and made Cyborg easier to deploy, upgrade, and use.
Notes:
Security & Maintenance Toil: Designate fixed OSSA-2026-034 (CVE-2026-71193, CVE-2026-71194), a cross-tenant zone ownership bypass that let a tenant create a subzone, superzone, or duplicate of another tenant’s zone by scheduling it to a different pool, enabling DNS traffic hijacking and denial of service. Zone ownership conflict checks now search across all pools, and the previously-unscoped mDNS record/NOTIFY lookups that made the bypass exploitable have been scoped by pool.
Beyond the advisory, the team put significant effort into security hardening this cycle. A shared-zone availability bug that let one project’s malformed TXT record silently block zone publication for every other tenant sharing that zone was fixed with stricter record validation and defense-in-depth error handling in mDNS. TSIG key scope/resource_id validation was added to prevent silent authentication failures, TSIG keys are now required for zones scheduled to non-default pools, and deployments can now reject empty TSIG secrets. Designate also gained post-quantum-cryptography (PQC) readiness tooling, including a fix for a certificate validation bypass in the NSD4 backend and a new configurable check mode that can block service startup on quantum-vulnerable certificate algorithms or outdated TLS versions.
Designate added support for split-horizon DNS deployments through a new BIND9-based backend with per-view TSIG keys. The worker can now sign outgoing NOTIFY and SOA-polling messages with a pool- or nameserver-specific TSIG key, ensuring these reach the correct view in split-horizon topologies regardless of the worker’s source IP.
Designate gained support for TLSA records (RFC 6698), used for DANE certificate pinning.
The zone import API now also accepts JSON payloads carrying zone attributes (such as pool_id) alongside zonefile content.
Notes:
Work on the Centralized Scheduler has been finalized this cycle.
Now, Scheduler is capable of running on the control plane with
service credentials, while managing and lifecycling backups
with cindernative, glance and nova modes.
It is possible to run multiple instances of the Freezer Scheduler
with the same client_id for HA purpuses, while balancing jobs
between them with one of tooz-compatible coordination backends.
Freezer v1 API has been finally removed. This allowed to implement secure RBAC policies and connect backup resources to the project instead of individual users.
Pyhton Freezer Client has been refactored and now installable as plugin
to the OpenStack Client. It means, that users can use openstack backup
commands to interact with Freezer.
Horizon Plugin for Freezer has been refactored with regard to UI/UX and it allows to actually create and manage resources.
A lot of bug fixes and new features has been added both to API and scheduler parts. Make sure to check Upgrade and Deprecation release notes carefully during the upgrade.
Notes:
Shipped fixes for CVE-2026-71196, CVE-2026-71197, CVE-2026-71198 and OSSA-2026-038
Eventlet removed completely
Filesystem store timeouts handling
New APIs for cache clean and prune
S3 Credential free location URL
Download images from preferred stores
New API for list cached nodes
Parallel image import support
Notes:
Horizon is ready for the new secure RBAC defaults: oslo.policy’s
enforce_scope and enforce_new_defaults are now enabled by default
and domain-scoped tokens are no longer preferred. Deployments should
review their policy configuration before upgrading.
De-angularization of the dashboard continued. The Key Pairs panel now uses the Python/Django implementation by default, at feature parity with the deprecated AngularJS one, and the Python Images table gained search filters, activate/deactivate actions and a new image metadata form.
Instance passwords can now be changed directly from the dashboard. This requires the QEMU Guest Agent to be installed and running inside the guest operating system.
A new /auth/switch_name/<project-name> endpoint allows switching
project by name rather than by UUID, with an optional domain_id
query parameter.
The drop-down menus at the top of the window were re-arranged and grouped for a more consistent navigation experience.
The admin Hypervisors page is much faster in deployments that expose vGPU
resource providers, and the new SHOW_RESOURCE_PROVIDER_SUMMARY option
lets operators hide the resource provider overview entirely on clouds
with many hypervisor nodes.
The migration to openstacksdk progressed further. The last remaining neutronclient calls were removed, and flavors, key pairs, availability zones and Nova services are now retrieved through the SDK.
Horizon now officially supports Python 3.14, with a voting
openstack-tox-py314 job. Python 3.9 and 3.10 support was dropped, the
Django 5.2 job is voting, a non-voting Django 6.0 job was added and the
Django constraint was removed from requirements.txt.
Horizon no longer depends on Enmerkar for translation message extraction. The extraction logic now lives in Horizon itself, removing an unmaintained dependency from the translation toolchain.
Packaging and developer tooling were modernised: setup and coverage
configuration moved to pyproject.toml and linters now run through
pre-commit. The same pyproject.toml layout is documented for
Horizon plugins.
Notes:
Ironic developers have coordinated with Nova to significantly improve performance of the resource tracking in nova-compute services running the Ironic driver.
Ironic has weathered more security bugs in the 2026.2 cycle than any other 6 month period in the project’s history. This has led to a significant amount of stability and hardening improvements in this cycle.
Substantial gains on improving TLS controls for Post-Quantum cryptography policy enforcement.
Added a container console provider that manages graphical console containers directly through compatible container engines.
Traits supported by a runbook are no longer implied by their name, but instead are treated as a list that can be managed via API.
Ironic’s dedicated firmware interface is now the recommended path for managing device firmware updates. The legacy firmware update methods previously available through the management interface have been deprecated for removal in a future release.
Notes:
All Manila services now use python’s native threading by default instead of eventlet. The deprecated oslo service eventlet concurrency backend can be used but support will be removed in a future release. Set OS_MANILA_DISABLE_EVENTLET_PATCHING=False to force the legacy behavior while migrating to the native threading backend.
Share migration APIs have graduated from experimental status. Migration actions no longer require the X-OpenStack-Manila-API-Experimental header.
Drivers can now perform asynchronous revert-to-snapshot operations by returning a new in-progress status.
New share drivers for Weka and Lustre parallel filesystems are now available, expanding Manila’s support for high-performance parallel filesystem workloads such as AI/ML and HPC.
The Dell PowerStore driver now supports manage and unmanage operations for both shares and snapshots.
The Dell PowerScale driver now supports asynchronous revert-to-snapshot operations.
The HPE Alletra MP B10000 driver now supports snapshot lifecycle operations including creation, deletion, revert, and mounting.
Mountable snapshots can now inherit access rules from their parent share via the snapshot_inherit_share_access_support extra spec.
Manila now prevents resource locks to be filtered by a project UUID in case the requester is not an admininistrator or a member of the project they are attempting to look up.
TLS certificate verification is now enabled by default in the Pure Storage FlashBlade, Hitachi HSP, and NetApp ONTAP drivers. Operators using self-signed certificates must supply a CA bundle or install the certificate in the system trust store before upgrading.
RBAC policy scope enforcement is now always active following the removal of the [oslo_policy] enforce_scope option. Deployments that had not yet completed the RBAC transition should review their policy configuration before upgrading.
Notes:
A new EVPN service plugin and OVN agent extension were added to provision BGP EVPN Type-5 route advertisements, enabling tenant network prefixes to be advertised into the data center fabric via FRR.
A new Private VLAN (PVLAN) service plugin provides an alternative port isolation model using promiscuous, isolated, and community ports on PVLAN-enabled networks.
The L3 Agent Scheduler API is now supported for ML2/OVN, including the ha_chassis_priority field for gateway failover ordering within an HA_Chassis_Group.
A new security-groups-default-statefulness API extension allows configuring the default stateful attribute for new security groups on a per-project or system-wide basis.
OVN BGP integration was extended to allow tenant network addresses to be directly routable from the underlay when the leak_routes attribute of a subnet is set to True.
Indirect floating IPs are now supported for OVN routers when the floating-ip-router-writable extension is enabled.
An OVN agent extension was added to support separate logical switches per VLAN segment, allowing multiple segments per host for routed networks.
The memory footprint in ML2/OVS HA router deployments was improved by using a shell script for keepalived state change monitoring instead of a daemon, resulting in over a 15x reduction.
Notes:
Nova now supports launching instances with AMD SEV-SNP memory encryption,
the third generation of AMD’s Secure Encrypted Virtualization. SEV-SNP
provides stronger integrity protection than SEV-ES and enables platform
attestation, allowing guest owners to verify the integrity of their VMs
via signed attestation reports. Use hw:mem_encryption_model=amd-sev-snp
in a flavor extra spec or hw_mem_encryption_model=amd-sev-snp image
property to request SEV-SNP instances.
Nova now supports Intel Trust Domain Extensions (TDX) for confidential
computing on Intel platforms (5th Gen Xeon Scalable or later). Intel TDX
provides hardware-enforced memory encryption and CPU state isolation,
protecting guests from the hypervisor and other privileged software. Use
hw:mem_encryption_model=intel-tdx in a flavor extra spec or
image property. Attestation is supported via the Quote Generation Service.
Nova’s libvirt driver now supports Cyborg-managed mediated devices (such
as vGPUs) via a new MDEV accelerator request binding type. Operators
can choose to manage vGPU/mdev lifecycle through Cyborg as an alternative
to Nova’s native support. Both management paths coexist safely thanks to
a new OWNER_NOVA trait that prevents scheduling collisions between
Nova-managed and Cyborg-managed devices. Additionally, Nova now reads an
optional managed parameter from Cyborg PCI attach handles, enabling
VFIO variant drivers.
Nova now supports unpinning and re-pinning the availability zone of an
instance via the PUT /servers/{server_id} API in a new microversion.
Operators can unpin an instance from its AZ, migrate it to another AZ,
and optionally re-pin it there, without deleting and recreating the
instance.
Cold migration and resize are now supported for instances with
virtiofs Manila share attachments. Shares are transparently re-mounted
on the destination host during migration and remain available on the
source until resize is confirmed, enabling clean rollback on revert.
Native threading is now the default concurrency mode for almost all Nova
services. Console proxy services (novncproxy, serialproxy,
spicehtml5proxy) also gained threading support but remain on
eventlet by default. A new [DEFAULT] concurrency_backend config
option joins the existing OS_NOVA_DISABLE_EVENTLET_PATCHING
environment variable for controlling the concurrency mode. New thread
pool tuning options are documented in the concurrency admin guide.
The legacy eventlet mode is deprecated and will be removed in a future
release.
Nova services implement task tracking as part of the ongoing graceful
shutdown feature. During shutdown, services monitor in-progress tasks
and wait for them to complete instead of waiting a fixed timeout.
Operators get detailed logs of tasks completed during shutdown, as well
as those that remain incomplete at timeout. This information helps
operators to re-perform the required operations and adjust the
graceful_shutdown_timeout and manager_shutdown_timeout settings
as needed.
Notes:
The VM Workload Consolidation strategy now considers reserved capacity in addition to live usage when consolidating workloads, and accounts for boot-from-volume and ephemeral/swap disks more accurately, producing migration plans that succeed more often.
Concurrency fixes prevent optimization work from stalling or silently dropping cluster updates, and new caching speeds up how quickly Watcher evaluates cloud resources.
All Watcher services now run on native Python threading by default, a major step in the community-wide move away from the legacy Eventlet library.
Event-driven optimization triggers are now protected by access-control policy by default, and service logs no longer risk exposing messaging credentials.
Operators can save default strategy settings directly on an audit template so routine runs work as intended without re-entering parameters.
Two new actions expand Watcher’s automation: delete permanently removes an instance and its resources, while shelve reclaims a host’s compute capacity while preserving the instance’s data.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.