OpenStack Hibiscus (2026.2): What Changes for Production
A technical analysis of OpenStack Hibiscus (2026.2), covering confidential computing, compute, networking, storage, bare metal, security defaults, API compatibility, and production upgrade considerations.

On this page
OpenStack 2026.2, codenamed Hibiscus, was released on September 30, 2026. Where Gazpacho (2026.1) introduced the first wave of native-threading changes, Hibiscus is largely a release about hardening and cleanup: it adds confidential-computing support in Nova, EVPN and Private VLAN capabilities in Neutron, a large body of security work in Ironic, Glance, Designate, and Cyborg, and a broad set of changed defaults and removed components.
The headline features are AMD SEV-SNP and Intel TDX memory encryption in Nova, Cyborg-managed mediated devices such as vGPUs, BGP EVPN Type-5 route advertisement and Private VLANs in Neutron, a more than 15x memory reduction for ML2/OVS HA router monitoring, Weka and Lustre drivers in Manila, and substantially faster Ironic resource tracking in nova-compute.
For production operators, the features are not the main story. Hibiscus is not a SLURP release, so it can only be reached from Gazpacho. It also changes defaults that affect running clouds: native threading becomes the default for Nova compute and conductor, secure RBAC scope enforcement can no longer be disabled, Ironic defaults to TLS 1.3, NetApp drivers default to HTTPS with certificate verification, and Linux bridge VIF support, several Ironic hardware types, and the standalone Glance API server are removed.
Hibiscus rewards operators who read the upgrade notes service by service. This article summarizes the changes that most affect production planning, and points to the release notes for the details that depend on a specific deployment.
Release at a Glance
| Property | Details |
|---|---|
| Release Name | Hibiscus |
| Version | 2026.2 |
| Upstream Release Date | September 30, 2026 |
| Release Type | Standard release (not SLURP) |
| Release Status | Maintained |
| Upgrade Path | From 2026.1 Gazpacho. Nova’s release notes state that a rolling upgrade from 2025.2 is not possible and that operators must upgrade to 2026.1 first. |
| Previous Release | Gazpacho (2026.1) , a SLURP release |
| Official Release Documentation | OpenStack Hibiscus |
| Release Highlights | Hibiscus Release Highlights |
Because Hibiscus is not a SLURP release, operators who prefer to upgrade once a year can remain on Gazpacho and target the next SLURP release, 2027.1. Operators already on Gazpacho who want the features below can upgrade directly to Hibiscus.
The release highlights page is compiled directly from project-team input and describes itself as unprocessed. Where this article relies on it alone, the service-specific release notes and documentation should be treated as authoritative.
Key Technical Changes
Nova — Compute
Confidential Computing: AMD SEV-SNP and Intel TDX
What changed
Nova can now launch instances with AMD SEV-SNP (Secure Nested Paging) memory encryption. SEV-SNP adds stronger integrity protection than SEV-ES and enables platform attestation, so guest owners can verify the integrity of their virtual machines through signed attestation reports.
Nova also supports Intel Trust Domain Extensions (TDX) on 5th Gen Xeon Scalable processors or later, providing hardware-enforced memory encryption and CPU state isolation that protects guests from the hypervisor and other privileged software. Attestation is supported through the Quote Generation Service.
Both are requested with the hw:mem_encryption_model flavor extra spec (amd-sev-snp or intel-tdx) or the matching image property. Glance’s metadata definitions were also updated to include amd-sev-snp, and can be refreshed with glance-manage db load_metadefs.
Why it matters
Confidential computing lets organizations run sensitive workloads on shared infrastructure while protecting guest memory even from privileged host software. Attestation gives workload owners a way to verify what they are running on.
Operational impact
These features depend on hardware, firmware, and kernel support that must be validated per host.
Two upgrade behaviors deserve attention:
nova-computewith the libvirt driver now fails to start if any instance on the host requires AMD SEV-ES memory encryption while the host hardware also has SEV-SNP enabled (detected through thesev_snpparameter of thekvm_amdkernel module). Existing SEV-ES instances should be migrated or deleted before SEV-SNP is enabled in the hardware.- The deprecated
[libvirt] num_memory_encrypted_guestsoption has been removed, because the maximum number of memory-encrypted guests is now detected automatically through the libvirt API.
Sources:
Cyborg-Managed Mediated Devices (vGPU)
What changed
Nova’s libvirt driver can now use mediated devices (such as vGPUs) managed by Cyborg, through a new MDEV accelerator request binding type. Operators can choose to manage the vGPU/mdev lifecycle through Cyborg as an alternative to Nova’s native vGPU support.
Both management paths can coexist. Nova now reports a new OWNER_NOVA trait on the resource providers it manages (root compute node providers, and child providers for pGPUs, memory encryption, and PCI devices), and a scheduler prefilter adds it as a required trait so that Nova-managed and Cyborg-managed devices do not collide.
Why it matters
Operators running accelerated or AI workloads gain a choice in how GPU resources are provided and managed, without having to give up Nova’s existing vGPU support.
Operational impact
The OWNER_NOVA requirement is version-gated: it only activates when all nova-compute services report service version 73 or higher. During a rolling upgrade, Nova logs a warning for each scheduling request in which the trait cannot yet be added. Operators should expect those warnings and verify scheduling behavior once all computes have been upgraded.
Source: Nova 2026.2 Release Notes
Availability Zone Unpinning and Re-pinning
What changed
A new microversion (2.104 is the latest supported in 2026.2) allows a user to remove or restore an instance’s availability zone pin through PUT /servers/{server_id} with pinned_availability_zone. Operators can unpin an instance, migrate it to another availability zone, and optionally re-pin it there, without deleting and recreating it. When re-pinning, only the instance’s current availability zone is accepted.
Operational impact
Automation that manages availability zones can use this to move workloads between zones. Clients must negotiate the new microversion to use it.
Source: Nova 2026.2 Release Notes
Manila virtiofs Shares: Migration and Security
What changed
Cold migration and resize are now supported for instances with virtiofs Manila share attachments. Shares are transparently re-mounted on the destination host and remain available on the source until the resize is confirmed, allowing a clean rollback. The feature requires all nova-compute services to be at service version 74 or later.
Nova compute also reconciles stale Manila share access rules at startup and periodically, controlled by [DEFAULT] stale_share_access_reconcile_interval (default 1800 seconds; 0 or a negative value disables the periodic task).
CephFS shares now use a per-instance, per-host cephx identity instead of a single shared nova identity. Previously, a cephx key recovered from one instance or compute host could grant access to every CephFS share in the cloud.
Operational impact
Grants created before the upgrade keep the shared nova identity until the instance next mounts the share (for example on start, reboot, or migration). The new reconcile task does not revoke legacy shared nova CephFS grants, so draining those remains an operator task.
Source: Nova 2026.2 Release Notes
Native Threading by Default and Graceful Shutdown
What changed
Native threading is now the default concurrency mode for almost all Nova services, including nova-conductor and nova-compute, which were experimental opt-in in Gazpacho. The console proxies (nova-novncproxy, nova-serialproxy, nova-spicehtml5proxy) gained threading support but remain on Eventlet by default, as do the CLI entry points.
A new [DEFAULT] concurrency_backend option accepts auto (default), threading, or eventlet. The OS_NOVA_DISABLE_EVENTLET_PATCHING environment variable takes precedence when both are set. Eventlet mode is deprecated and will be removed no earlier than 2027.2.
Graceful shutdown now uses task tracking. When nova-compute, nova-conductor, or nova-scheduler receives SIGTERM, the service logs its in-progress tasks and waits only until they complete or until manager_shutdown_timeout is reached, instead of always sleeping for the full timeout.
Why it matters
Task tracking shortens routine restarts and gives operators logs of which operations completed and which were cut off, which helps them re-run interrupted work and tune the shutdown timeouts.
Operational impact
Nova recommends separating the version upgrade from the concurrency-mode change: either test native threading for compute and conductor already on Gazpacho (where it is available as an experimental option), or explicitly configure Eventlet mode before the upgrade and switch only after the upgrade has succeeded.
There is a known issue to plan around: a migration-related task tracked on a destination compute service can be left in progress if an error on the source ends the operation without notifying the destination. In that case, shutting down the destination nova-compute may take the full manager_shutdown_timeout. The two documented cases are a live migration rolled back during pre_live_migration, and a cold migration that fails on the source before handing off to finish_resize.
Source: Nova 2026.2 Release Notes
Large Ironic Deployments
What changed
Nova and Ironic coordinated to improve resource tracking in nova-compute services that run the Ironic driver. Nova now avoids repeated per-instance lookups at startup, limits vTPM and pCPU startup validation to the libvirt driver, avoids deep-copying the full Placement provider tree for each Ironic node, and can update per-node resources concurrently through the new [compute] update_resources_max_workers option.
Operational impact
The option defaults to 1, which preserves the previous sequential behavior. Operators of large Ironic deployments can raise it to reduce update_available_resource startup and periodic-task latency, at the cost of additional nova-compute CPU usage and Placement API concurrency.
Sources:
Neutron — Networking
BGP EVPN, Route Leaking, and Private VLANs
What changed
Neutron adds an EVPN service plugin and an OVN agent extension that provision BGP EVPN Type-5 route advertisements, allowing tenant network prefixes to be advertised into the data center fabric through FRR.
The OVN BGP service plugin also gains a leak_routes subnet attribute. When an administrator sets it to True on a Geneve subnet attached to a router with an external gateway, the subnet’s CIDR is advertised as a static route on the BGP main logical router and redistributed to BGP peers through FRR. External hosts can then reach tenant workloads directly, without floating IPs. The attribute is admin-only by default.
A new Private VLAN (PVLAN) service plugin provides an additional port isolation model. Ports can be promiscuous (communicate with any port), isolated (communicate only with promiscuous ports), or part of a community (communicate with community members and promiscuous ports). Ports must belong to a network with the new pvlan property. When PVLAN and security groups both apply to a port, PVLAN takes precedence, and the feature does not support networks or ports with port security disabled.
Why it matters
EVPN Type-5 advertisement and route leaking are relevant to private clouds built on routed data center fabrics. PVLAN provides an isolation option for environments where security-group-based isolation is not the preferred model.
Operational impact
Route leaking has a documented limitation. OVN connects the BGP main logical router to the network’s logical switch, which operates at the network level rather than the subnet level. The IP addresses of all subnets on that network are advertised to the fabric as host routes, but only the leaked subnets are actually routable, so traffic sent to the other addresses is dropped. Subnets that need route leaking should be placed on dedicated networks.
The Neutron API also no longer allows creating VLAN networks when the ovn-bgp service plugin is enabled, because the plugin requires a spine-and-leaf topology that is incompatible with VLAN segregation.
PVLAN requires enabling its service plugin, and the new network and port attributes are exposed in the OpenStack SDK and client.
Sources:
OVN L3 Scheduling and Routing
What changed
ML2/OVN gains support for the L3 agent scheduler API, including a ha_chassis_priority field that exposes gateway failover ordering within an HA_Chassis_Group (the highest value is the active gateway chassis). The OVN L3 scheduler now uses the HA_Chassis_Group and HA_Chassis tables instead of the deprecated Gateway_Chassis table, and a maintenance task automatically migrates existing references.
Indirect floating IPs are supported for OVN routers through the floating-ip-router-writable extension, which lets callers select the router that hosts a floating IP. An OVN agent extension also supports separate logical switches per VLAN segment, allowing multiple segments per host for routed networks.
Operational impact
For indirect floating IPs, operators must configure routes across every transit hop. Neutron does not validate reachability to the fixed IP subnet and does not protect intermediate router interfaces or static routes from changes that can interrupt connectivity.
The ovn_router_indirect_snat option now defaults to True, so external gateways enable SNAT for nested networks that are indirectly connected through other routers. The option is itself deprecated, because the underlying fix is included in OVN v24.03.4 and later.
Source: Neutron 2026.2 Release Notes
ML2/OVS HA Router Memory Footprint
What changed
The neutron-keepalive-state-change monitor has been rewritten as a POSIX shell script. Neutron reports that the new implementation uses less than 6 MB of RAM per monitor, compared to roughly 100 MB with the previous Python implementation, a reduction of more than 15x.
Why it matters
On clouds running thousands of HA routers on ML2/OVS, per-router monitor memory adds up quickly.
Operational impact
The L3 agent performs a one-time automatic cleanup of legacy Python-based monitor processes at startup, so no manual intervention is required. Two new logging options in l3_agent.ini (router_log_files_in_ha_confs, which defaults to True and keeps the previous behavior, and per_router_log_files) control where the monitor logs.
Source: Neutron 2026.2 Release Notes
Other Neutron Additions
- A
security-groups-default-statefulnessAPI extension configures the defaultstatefulattribute of new security groups per project or system-wide, which is useful where stateless security groups are preferred (for example DPDK deployments). By default only administrators can change the setting. - A DNS forwarder OVS extension enables internal DNS resolution for instances without relying on external connectivity.
[ovn] ovs_create_tapand the new[OVS_DRIVER] ovs_create_tapnow default toTrue, so os-vif pre-creates the TAP device, which reduces live-migration downtime. Both flags are deprecated and the behavior is expected to stay enabled permanently.- A per-project
quota_router_routequota (default 30) replaces the globalmax_routesoption. - HAProxy timeouts for the metadata proxy are now configurable in a
[metadata_haproxy]group. Operators with slow metadata backends, such as dynamic vendordata, may need to raisetimeout_server.
Source: Neutron 2026.2 Release Notes
Cinder — Block Storage
New Drivers and Backend Capabilities
What changed
Cinder adds a new driver for HPE Alletra MP supporting iSCSI, FC, and NVMe/TCP. The Dell PowerFlex driver gains NVMe/TCP support and support for PowerFlex 5.0, which uses an erasure-coded (EC) architecture. Hitachi, HPE/XP, and NEC drivers add Data Reduction Shared (DRS) configuration, and Hitachi adds temporarily immutable snapshots. NetApp’s ASAr2 support now uses an SVM as a pool, and the ONTAP driver adds single-consistency-group replication. The Pure Storage (Everpure) driver implements generic volume group replication actions, and the Quobyte driver adds thin provisioning.
Why it matters
These changes expand the storage platforms and configurations that can be integrated into OpenStack environments.
Operational impact
Backend-specific notes matter here:
- PowerFlex 5.0 (EC generation) is not backward compatible with 4.x (Mirroring generation), and in-place upgrades from 4.x to 5.0 are not supported.
hitachi_manage_drs_volumesnow defaults toTrue. Cinder’s notes warn that setting it toFalsemay cause failures on volume resize and delete operations after cloning.- While a Pure Storage replicated group is failed over, cloning a volume, creating a volume from a snapshot, and retyping are rejected, and some group-level operations are unsupported for asynchronously replicated groups.
Driver availability does not imply that every capability is supported identically across backends.
Source: Cinder 2026.2 Release Notes
Secure Defaults and Dependencies
What changed
Several defaults change in ways that can interrupt existing backends:
[oslo_policy] enforce_scopeandenforce_new_defaultsnow default toTrue, enabling the RBAC new defaults. Operators who still rely on the old defaults must explicitly setenforce_new_defaults = Falsebefore upgrading and plan their migration.- NetApp ONTAP drivers now default to HTTPS with certificate verification enabled. Backends with self-signed ONTAP certificates must set
netapp_ssl_cert_pathto a trusted CA bundle, or temporarily setnetapp_ssl_cert_verify = false, which is not recommended for production. Backends that setnetapp_server_port = 80while relying on the previous implicit HTTP default must also setnetapp_transport_type = httpor move to port 443. - The KIOXIA KumoScale and Lightbits drivers no longer call
urllib3.disable_warnings()at import time. Deployments using them will now seeInsecureRequestWarningmessages that were previously hidden process-wide. Thesuppress_requests_ssl_warningsoption controls them, and the Lightbits driver no longer writes its JWT to debug logs. boto3,google-api-python-client, andpython-swiftclientare no longer required directly and must be installed when the S3, GCS, or Swift backup drivers are used.- The IBM FlashSystem drivers have been removed.
image_conversion_cpu_limitandimage_conversion_address_space_limitwere renamedimage_introspection_cpu_limitandimage_introspection_address_space_limit, and the old names are deprecated.
Source: Cinder 2026.2 Release Notes
Data Integrity Fixes
What changed
Cinder’s notes include several fixes for data-integrity problems:
- Restoring an incremental backup chain to a newly created volume with the chunked backup drivers (Swift, S3, Google Cloud Storage, POSIX/NFS) could corrupt data, because the all-zero-chunk optimization was wrongly applied to incrementals.
- The Ceph backup driver could silently truncate a restored sparse volume (such as a LUKS-encrypted one) while reporting success.
- Concurrent creation or deletion of incremental backups sharing a parent could make the dependent-backup counter drift and leave the parent undeletable.
- Rebuilding a boot-from-volume instance on the RBD driver deleted all of the volume’s snapshots from the backend while Cinder still showed them as available.
Operational impact
The dependent-backup counter fix prevents future drift but does not repair values that have already drifted. A backup that wrongly reports dependents continues to do so until its database row is corrected. Operators should audit existing backups, and should treat restores performed with affected versions as candidates for verification.
Source: Cinder 2026.2 Release Notes
Ironic — Bare Metal Provisioning
A Cleanup and Hardening Release
What changed
Ironic describes the cycle as centered on cleanup and stabilization, and reports that it resolved a record number of security vulnerabilities in 2026. Its notes urge operators to read the security sections and the OSSAs and OSSNs issued this year before upgrading.
The SNMP and iLO/iLO5 hardware types have been removed, with Redfish serving as the primary way to manage most hardware, and the iRMC driver has been retired as well. The configuration molds feature has been removed, including the idrac-redfish import/export configuration steps. Python 3.10 support has been dropped.
Why it matters
Removed hardware types are a hard compatibility boundary for operators who still manage servers through those drivers.
Operational impact
Operators using the SNMP, iLO, or iRMC hardware types should migrate to the redfish hardware type before upgrading. Users of the idrac-redfish molds steps need an alternative.
Source: Ironic 2026.2 Release Notes
TLS and Security Defaults
What changed
Ironic adds TLS hardening options across its communication paths, and tightens defaults:
- The default minimum TLS version for the API, JSON-RPC, and agent communication, and for outbound connections to image web servers, is now
1.3(it was1.2). Ironic notes that TLS 1.3 is required for post-quantum key exchange, and operators whose infrastructure does not support it can settls_minimum_version = 1.2. - Redfish BMC connections have new
[redfish] tls_minimum_versionandtls_ciphersoptions, also overridable per node. No default minimum is enforced, to avoid breaking older BMC firmware. [agent_containers]defaults no longer disable registry TLS verification, andpull_optionsandrun_optionsare now list-valued.- Installation of bootloaders by the Ironic Python Agent is disabled by default (
enable_bios_bootloader_installnow defaults toFalse). [conductor]/file_url_allowed_pathsnow defaults to/var/lib/ironiconly.- Kernel parameter options are strictly parsed. Values that fail parsing must be corrected, or
conductor.disable_kernel_parameter_parsingcan be set toTrue, which Ironic discourages. pxe_templateoverrides are disabled by default, and thepxe_templatedriver field is deprecated for removal in the 2027.2 release.- The IPMI
send_rawvendor-passthru step is disabled by default. - The API rejects oversized or deeply nested JSON bodies through configurable limits, a new
[api] enable_ramdisk_endpointsoption can disable the/v1/lookup,/v1/heartbeat, and/v1/continue_inspectionendpoints on public API instances in split-horizon deployments, and per-step RBAC policies (baremetal:step:execute:<interface>.<step>) anddisallow_*_stepsoptions restrict which steps can run.
Operational impact
Operators should verify that image servers, Ironic Python Agent ramdisks, and API clients support TLS 1.3, that deployments needing grub-install from the agent re-enable it explicitly, and that any customized file URLs, kernel parameters, or container-step registries still work with the stricter defaults.
Operators who deployed Gazpacho with the autodetect deploy interface should note a security fix: previously, the interface could silently skip cleaning if automated cleaning started before a deployment had been attempted, leaving the previous tenant’s data on disk. This is fixed in 2026.2.
Source: Ironic 2026.2 Release Notes
API, Runbook, and Firmware Changes
What changed
Ironic’s API advances through microversions 1.112 to 1.115 during the cycle. Runbooks gain a traits field and a description, so eligibility is no longer implied by the runbook’s name (microversion 1.112). The firmware endpoint exposes vendor, model, and serial_number (1.114), and node_history gains state, target_provision_state, and duration_seconds (1.115).
The dedicated firmware interface is now the recommended path for firmware updates, and the equivalent methods on the management interface are deprecated.
Other additions include a container console provider for conductors that run in Docker or Podman containers, a new ironic-manage utility that lists installed hardware types and interfaces, optional polling after Redfish virtual media insertion, retries for BMCs that transiently reject power-on, and a [redfish] read_timeout option.
Operational impact
Upgrades include database changes: an online data migration (migrate_runbook_names_to_traits) seeds the new runbook traits table, and a schema migration adds three nullable columns to firmware_information. The online migration runs as part of ironic-dbsync online_data_migrations and can be executed in batches while the service is running.
Ironic also ships several intermediate releases in a cycle: the Hibiscus release page lists versions 36.0.0 through 39.0.0, and operators should consult the release notes for each.
Source: Ironic 2026.2 Release Notes
Manila — Shared Filesystems
Native Threading by Default
What changed
All Manila services now use Python’s native threading by default. The scheduler, share, and data services no longer require Eventlet monkey patching, and manila-api is unaffected when deployed behind an external WSGI server. Gazpacho offered this only as a technology preview.
Operational impact
Operators who need to revert temporarily can set OS_MANILA_DISABLE_EVENTLET_PATCHING=False in the service environment. The Eventlet backend is deprecated and will be removed in a future release.
Source: Manila 2026.2 Release Notes
New Drivers, Migration API, and Snapshot Access
What changed
Manila adds share drivers for the Weka and Lustre parallel filesystems, aimed at AI/ML and HPC workloads. The Weka driver operates with driver_handles_share_servers=False and maps each Manila project to its own Weka organization, which requires a multi-tenant Weka cluster. The Lustre driver also runs in DHSS=False mode on a pre-provisioned filesystem and requires Lustre 2.16 or later.
Existing drivers gain capabilities: Dell PowerStore adds manage/unmanage for shares and snapshots and QoS (requires PowerStore API 4.1.0.0 or later), Dell PowerScale adds QoS (OneFS 9.5 or later) and asynchronous revert-to-snapshot, and the HPE Alletra MP B10000 driver adds snapshot operations (firmware 10.6.0 or later). Drivers can now perform asynchronous revert-to-snapshot operations.
Share migration APIs graduated from experimental status at API version 2.96, so the X-OpenStack-Manila-API-Experimental header is no longer required from that version on. A new GET endpoint reports migration progress. Mountable snapshots can inherit their parent share’s access rules through the snapshot_inherit_share_access_support extra spec (API 2.99).
Operational impact
Driver prerequisites determine whether the new features are usable on a given backend.
Source: Manila 2026.2 Release Notes
TLS Verification and RBAC Defaults
What changed
Certificate verification is now enabled by default in the Pure Storage FlashBlade, Hitachi HSP, and NetApp ONTAP share drivers. NetApp backends that do not set netapp_transport_type now use HTTPS.
The [oslo_policy] enforce_scope option has been removed, so scope enforcement is always active. The deprecated cephfs_volume_path_prefix option has been removed.
Operational impact
Operators with self-signed or private-CA certificates must supply a CA bundle, install the certificate in the system trust store, or explicitly disable verification (not recommended) before upgrading, or driver initialization will fail. Deployments that had not completed the RBAC transition should review their policy configuration.
Source: Manila 2026.2 Release Notes
Glance — Image Service
What changed
Eventlet has been removed completely, and the standalone glance-api process has been removed. Glance must be deployed under a WSGI server using native threading, with the application glance.wsgi.api:application. Options for the removed HTTP server (bind_host, bind_port, workers, backlog, and others) have been dropped, and [task] task_executor = eventlet is no longer accepted.
Glance now defaults to strict GPT/MBR safety checks on images, ending the transition period in which MBR checks were non-fatal. Images with invalid GPT or protective-MBR data are rejected.
A group of Server-Side Request Forgery fixes covers the web-download and glance-download import methods, OVF processing, the legacy Task API import path, and HTTP(S) image locations. Glance now rejects import and location URIs that target loopback or link-local addresses unless the host is explicitly allowed. Hostnames that resolve to such addresses are also rejected, and private RFC 1918 addresses are not blocked. The web-download plugin now honors image_size_cap, whose default of 1 TiB the notes suggest operators review.
New capabilities include cache clean and prune APIs (Image API 2.18), store preference when downloading images (prefer query parameter), parallel multi-store image import (max_parallel_stores), filesystem store timeouts that return HTTP 503, and credential-free S3 location URLs.
Operational impact
Operators running standalone glance-api must move to a WSGI deployment before upgrading. Operators should audit existing images for invalid GPT/MBR data and review which import methods and hosts they need to allow.
Sources:
Horizon — Dashboard
What changed
Horizon is ready for the new secure RBAC defaults: enforce_scope and enforce_new_defaults are now enabled by default, and domain-scoped tokens are no longer preferred.
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 gains search filters, activate/deactivate actions, and a new image metadata form. Instance passwords can now be changed from the dashboard, which requires the QEMU Guest Agent in the guest. A new /auth/switch_name/<project-name> endpoint switches projects by name, and the admin Hypervisors page is faster on deployments that expose vGPU resource providers (with a SHOW_RESOURCE_PROVIDER_SUMMARY option to hide the overview on clouds with many hypervisors).
Horizon officially supports Python 3.14, and Python 3.9 and 3.10 support has been dropped.
Operational impact
Deployments should review their policy configuration before upgrading, and test any customized dashboards or plugins against the new defaults.
Source: Hibiscus Release Highlights
Cyborg, Designate, Freezer, and Watcher
What changed
- Cyborg addressed CVE-2026-40213 and CVE-2026-40214 by scoping requests to projects, requiring service-token validation, and tightening access to hardware management APIs. It adds opt-in persona-based policy defaults for reader, member, manager, service, and admin roles, with the default change planned for 2027.1, and the generic PCI driver returns to fully supported status.
python-cyborgclient3.0.0 removes the deprecated v1 API, including the nativecyborgCLI shell, in favor of theopenstack acceleratorcommands. - 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. It also gained TSIG hardening, post-quantum-cryptography readiness tooling with a check mode that can block service startup on quantum-vulnerable certificate algorithms or outdated TLS versions, a BIND9-based backend for split-horizon DNS, and TLSA record support for DANE.
- Freezer removed its v1 API, finalized its centralized scheduler (which can run with
servicecredentials and multiple instances for high availability), and is now usable throughopenstack backupcommands as an OpenStack Client plugin. - Watcher services now run on native threading by default, event-driven optimization triggers are protected by access-control policy by default, and two new actions (delete and shelve) were added.
Operational impact
Operators of these services should test startup behavior, policy configuration, and any integrations against the new defaults. Operators using the Freezer v1 API or the Cyborg v1 client must migrate.
Sources:
Deprecations, Removals, and Compatibility
Cross-Cutting Changes
- Python 3.10 support is dropped in services including Nova, Glance, and Ironic (the minimum is Python 3.11), and Horizon drops Python 3.9 and 3.10.
- Scope enforcement can no longer be disabled. The deprecated
[oslo_policy] enforce_scopeoption was removed in oslo.policy 6.0.0, and the release notes for Nova, Neutron, Cinder, Manila, Glance, Ironic, and Placement state that scope checks are now always enforced when oslo.policy 6.0.0 is installed. Without that upgrade, scope-enforcement behavior does not change. - Eventlet is being retired. Glance removed it completely, Manila, Watcher, and almost all Nova services now default to native threading, and Eventlet mode is deprecated in Nova and Manila.
Sources:
- Nova 2026.2 Release Notes
- Neutron 2026.2 Release Notes
- Cinder 2026.2 Release Notes
- Manila 2026.2 Release Notes
- Glance 2026.2 Release Notes
- Ironic 2026.2 Release Notes
Nova Removals
Linux bridge VIF support has been removed from Nova. Instances with binding:vif_type=bridge ports fail to start on upgraded compute nodes, and existing instances using Linux bridge VIFs cannot be managed by upgraded computes until they are migrated. Operators must move to a supported backend such as Open vSwitch or OVN before upgrading. Neutron removed Linux bridge support in 2025.1.
Nova also fails to start nova-compute with file-backed memory enabled unless [DEFAULT] reserved_host_memory_mb is 0.
Source: Nova 2026.2 Release Notes
Neutron Removals and Policy Changes
[DEFAULT] api_workershas been removed. The number of API workers is determined solely by the uWSGIprocessessetting, and the default RPC worker count, whenrpc_workersis unset, is half the number of CPU threads (capped by available memory). Thebind_hostandbind_portoptions, left over from the removedneutron-serverservice, are also removed.- The
max_routesoption has been removed in favor of thequota_router_routequota.neutron-status upgrade checkwarns ifmax_routesis still configured with a non-default value. - The
OwnershipValidationHookhas been removed, and network access validation for port creation is now handled by thecreate_portpolicy. Operators who customizedcreate_portshould review their overrides. - The default
delete_portpolicy now denies deletion ofcompute:,baremetal:, andmanila:ports by regular project users. Admins, service users, and project members or network owners whose request carries a service token (as Nova’s does during server delete) are still allowed. - Allowed address pairs containing multicast addresses are now rejected (
aap-reject-multicast). Pairs created earlier may remain in the database and can interfere with later updates, and the notes suggest clearing multicast pairs during an upgrade. - The
filter-validationextension is enabled by default for ML2 and service plugins, so queries using an invalid filter attribute return HTTP 400. - New default policy rules cover address group operations and default security group creation, and
PROJECT_MANAGERhas been removed from several default port policies. Several of these changes are shared with the 2026.1 stable series. - The
fip64extension support was removed from floating IP pools, which now return only IPv4 subnets. - An upgrade check detects RBAC policies whose
target_projectis neither*nor a valid UUID, which are silently ineffective.
Source: Neutron 2026.2 Release Notes
Ironic, Freezer, and Glance Removals
- Ironic removed the SNMP, iLO, and iLO5 hardware types, and retired iRMC.
- Freezer removed its v1 API, which allowed secure RBAC policies and tied backup resources to projects rather than individual users.
- Glance removed the standalone
glance-apiserver.
Sources:
Upgrade Considerations for Production
1. Validate the Upgrade Path
Hibiscus is not a SLURP release. Operators must be on Gazpacho (2026.1) before upgrading to Hibiscus, and a rolling upgrade from 2025.2 is not possible. Operators who upgraded Gazpacho as a skip-level upgrade from Epoxy are already in the right place.
Operators who prefer an annual cadence can stay on Gazpacho and plan for the next SLURP release, 2027.1, rather than upgrading to Hibiscus.
As with any release, the deployment framework, storage drivers, networking backend, and vendor integrations must support the upgrade path. A deployment tool’s support for Gazpacho does not imply support for Hibiscus.
2. Separate Version Upgrades from Concurrency Changes
Nova changes the default concurrency mode of nova-conductor and nova-compute to native threading in this release. Nova recommends decoupling this from the version upgrade, either by testing native threading on Gazpacho first (where compute and conductor offered it as experimental options), or by explicitly configuring Eventlet mode before upgrading and switching only after the upgrade has succeeded.
Review the thread-pool and concurrency tuning described in the Nova concurrency guide, and review graceful shutdown behavior and the graceful_shutdown_timeout and manager_shutdown_timeout values. The known issue with migration tasks left in progress on destination computes can extend shutdown times.
Similar considerations apply to Manila, Watcher, and Glance, where native threading is now the default or the only option.
3. Audit Policy and RBAC
Scope enforcement can no longer be disabled once oslo.policy 6.0.0 is installed. Cinder additionally changes the new-defaults setting to True, and Horizon enables both settings by default.
Operators should inventory customized policy files across services, test representative custom roles against the new defaults, and use neutron-status upgrade check and the equivalent upgrade checks for other services before upgrading. Neutron’s changes to create_port, delete_port, and address group policies deserve particular attention.
4. Check TLS and Certificate Assumptions
Several defaults now require valid, trusted certificates and modern TLS:
- Ironic’s minimum TLS version defaults to 1.3 for API, JSON-RPC, agent, and web server connections.
- Cinder and Manila NetApp backends default to HTTPS with certificate verification, and the Manila FlashBlade and Hitachi HSP drivers verify certificates by default.
- Ironic’s
[agent_containers]defaults no longer disable registry TLS verification.
Backends that rely on self-signed certificates or on HTTP will fail until their configuration is updated.
5. Remove or Migrate Retired Components
Before upgrading, confirm that no workloads depend on:
- Linux bridge VIFs in Nova.
- SNMP, iLO, iLO5, or iRMC hardware types in Ironic.
- The standalone
glance-apiserver. - The Freezer v1 API or the Cyborg v1 client.
- The IBM FlashSystem Cinder drivers.
6. Review Database and Online Migrations
Plan for migrations that add indexes or columns. Nova adds two indexes to the migrations table, which can take time on environments with large migration tables. Ironic adds columns to firmware_information and seeds a runbook traits table through an online data migration that runs with ironic-dbsync online_data_migrations. Neutron’s maintenance task migrates Gateway_Chassis references to HA_Chassis_Group configuration automatically.
Rehearse these on a copy of production data to estimate duration.
7. Review API Automation
Automation should be tested against the new microversions and behaviors that clients negotiate:
- Nova API microversion 2.104 and availability zone pinning.
- Ironic API microversions up to 1.115, including runbook changes.
- Manila’s migration APIs no longer requiring the experimental header from API 2.96.
- Neutron’s stricter filter validation, which returns HTTP 400 for invalid filter attributes.
8. Track Stable Point Releases
Several relevant fixes appear in the 2026.2 stable series after the initial release. Neutron’s startup check that refuses to start when network_vlan_ranges no longer covers a VLAN ID held by a network segment is listed among changes following the 29.0.0 tag. Nova’s notes list a fix after the 34.0.0 tag for a regression in 2026.1 in which all requests to the deprecated /os-volumes_boot API failed with HTTP 500. Operators should deploy the latest tagged stable point release of each service and confirm that the fixes they depend on are included in the version they run.
9. Establish Post-Upgrade Verification
A production upgrade should include explicit verification criteria rather than relying solely on service availability.
Recommended checks include:
- OpenStack service and API health.
- Instance creation, deletion, resize, and live and cold migration.
- Volume creation, attachment, detachment, backup, and restore, including restores from incremental chains.
- Network provisioning, routing, floating IP, and security-group behavior, plus BGP and OVN checks where applicable.
- Image import and upload, with representative formats and sources.
- Bare metal deployment, cleaning, and inspection, including TLS connectivity to BMCs and agents.
- Identity authentication and authorization with representative custom roles.
- Messaging, database, and service health metrics.
- Application-level tests using representative tenant workloads.
These are general operational recommendations, not additional Hibiscus-specific release requirements.
Architectural Assessment
Confidential Computing and Trusted Infrastructure
SEV-SNP and TDX support gives private clouds a path to hardware-backed isolation and attestation for sensitive workloads. The benefit depends on host hardware, firmware, and kernel support, and on how attestation is integrated into tenant workflows. These features are best evaluated on a dedicated set of hosts before being offered broadly.
AI and Accelerated Workloads
Cyborg-managed mediated devices, Weka and Lustre support in Manila, and faster Ironic resource tracking in Nova address common requirements of GPU and HPC platforms. Operators should evaluate each capability against their accelerator hardware, parallel filesystem, and bare metal scale rather than adopting them because they are available.
Networking and Infrastructure Integration
EVPN Type-5 advertisement, route leaking, and Private VLANs expand the options for integrating Neutron with routed data center fabrics. Route leaking in particular has network-level semantics that require careful subnet and network layout, and the ovn-bgp plugin’s incompatibility with VLAN networks is a design constraint to account for early.
Security Posture
Hibiscus continues a pattern of changing defaults toward safer behavior: TLS 1.3 in Ironic, certificate verification in storage drivers, strict image safety checks and SSRF protections in Glance, and mandatory RBAC scope enforcement. These changes improve security posture, and they also convert latent configuration shortcuts into upgrade failures, so they should be treated as migration work rather than incidental changes.
Platform Engineering and Day-2 Operations
Hibiscus reinforces the need to treat OpenStack upgrades as coordinated platform changes. Concurrency models, policy defaults, TLS requirements, database migrations, and removed components all interact with deployment tooling and automation. Organizations using GitOps, Ansible, or other infrastructure-as-code approaches should build configuration validation, policy testing, and repeatable post-upgrade checks into their release management processes.
Conclusion
OpenStack 2026.2 Hibiscus combines notable new capabilities, including confidential computing, vGPU management through Cyborg, EVPN and Private VLAN networking, and new parallel filesystem drivers, with a substantial set of default changes and removals.
For cloud operators, the most consequential changes are the ones that apply to every deployment: the requirement to be on Gazpacho first, mandatory scope enforcement, native threading as the default in Nova compute and conductor, stricter TLS and certificate defaults, and the removal of Linux bridge VIF support, several Ironic hardware types, and the standalone Glance API server.
Organizations considering Hibiscus should begin by confirming their position on the upgrade path, reading the service-specific release notes for the services they run, and testing the changes against their actual deployment architecture. Operators who prefer an annual cadence can wait for the next SLURP release, 2027.1, and plan the same validation against it.
Official Resources
- OpenStack Hibiscus (2026.2) Release Page
- Hibiscus Release Highlights
- Hibiscus Release Schedule
- OpenStack Hibiscus Announcement
- Nova 2026.2 Release Notes
- Neutron 2026.2 Release Notes
- Cinder 2026.2 Release Notes
- Ironic 2026.2 Release Notes
- Manila 2026.2 Release Notes
- Glance 2026.2 Release Notes
- OpenStack Documentation
- OpenStack Releases Index

