Xena Release Highlights

Xena Release Highlights


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.



  • Added OpenStackClient support to python-blazarclient, allowing users to interact with Blazar using openstack reservation commands, which provides them with a similar command-line interface than when interacting with other OpenStack projects.



  • Improved handling of user quotas around the creation of temporary resources. This includes the display of information in the volume or snapshot detail response in Block Storage API microversion 3.65 concerning whether that resource consumes quota, and the ability to filter a requested list of resources according to whether they consume quota or not.

  • Block Storage API microversion 3.66 removes the necessity to add a ‘force’ flag when requesting a snapshot of an in-use volume, given that this is not a problem for modern storage systems.

  • Enhancement of the volume-type detail response to include non-sensitive “extra-specs” information in order to provide more data for automated systems to select a volume type. Additionally, the volume type list can be filtered by these non-sensitive extra-specs using the current Block Storage API list filtering syntax for extra-specs.

  • Removal of the long-deprecated Block Storage API version 2. But not to fear, Block Storage API version 3.0 was designed to be completely compatible with version 2. We’re at microversion 3.66 in the Xena release, so you’ll want to get acquainted with all our great new features anyway.

  • Many current backend storage drivers have added support for features exceeding the required driver functions, for example, multiattach and the ability to take advantage of backend optimizations.



  • Adds an option to enable the use of custom queries with the Gnocchi collector. Operators are now able to take full advantage of functions that are available on Gnocchi such as any arithmetic operation, logical operation and many others.

  • We changed the state field in cloudkitty_storage_states table. The goal is to use a more descriptive and meaningful name ( last_processed_timestamp).

  • The new “NOTNUMBOOL” mutator has been added. This mutator is, essentially, an opposite of the “NUMBOOL” mutator as it returns 1.0 when quantity is 0 and 0.0 otherwise.



  • Refactor documentation structure including API docs, user guide and contributor guide.

  • Add placement resource cleanup mechanism in cyborg-conductor to avoid orphan resources.

  • Improve Cyborg API with standard return value and add new operations for different API resources.



  • Designate now supports the CERT resource record type, enabling new use cases such as secure email and certificate revocation list publication via DNS.



  • Support for unified quotas using keystone limits

  • Moved policy enforcement in API layer



  • Horizon and all horizon plugins now support nodejs14 which is the current LTS version of nodejs.

  • Added support for creating Network QoS Policy using horizon.



  • New custom-agent deployment interface for where the agent provides knowledge of all deployment steps.

  • Redfish BIOS firmware setting description registry is now available as part of the detail list.

  • Substantial API improvements in node list retrieval performance, support for boot_mode and secure_boot state visibility on a bare metal node as well as capability to set these states as API actions.



  • Updated Ansible playbooks to allow tuning of facts for improved performance

  • Added integration with Hashicorp Vault for control plane secrets



  • Kuryr logs now provide details with indication of OpenStack Services that should be anlyzed when experiencing issues that it’s not able to recover from.

  • Kuryr allows setting the Load Balancer listener timeout by setting an annotation to the Service.

  • Kuryr can reconcile Load Balancer to correspond to the Services specification.



  • Users can specify affinity based provisioning hints when creating shares. Hints are tracked through the lifetime of the shares, and affect further lifecycle operations such as share migration.

  • Share servers can now be live migrated across storage systems by preserving network allocations. Cloud administrators have a “check” utility that verifies if a nondisruptive/live share server migration is feasible.

  • Feature parity between the manilaclient shell utility and the unified OpenStackCLI has increased significantly enhancing usability of the Shared File Systems API.

  • Performance enhancements have been committed to pagination and filtering of several resources.

  • A new share driver has been added to support Pure Storage Flashblade storage systems and it allows provisioning and managing of NFS shares.

  • The NetApp driver added support for petabyte scale filesystems. It also added support for “readable” replication of shares alongside “dr” (disaster recovery) style replication. Users can mount read-only copies of their shares provisioned across availability zones while still having read/write access to the primary share.



  • Distributed DHCP service is now available as an neutron-ovs-agent extension. It provides basic DHCP functionality locally on compute nodes where VMs are and no DHCP agents are needed in such case.

  • Support stateless security groups with the latest OVN 21.06+. The stateful=False security groups are mapped to the new allow-stateless OVN ACL verb.

  • ECMP routes are now supported by Neutron. Multiple routes with the same destination address are now consolidated into a single ECMP route.

  • A new quota driver is added DbQuotaNoLockDriver. This driver does not create a unique lock per (resource, project_id). Such locks could lead to a database deadlock state if the number of server requests exceeds the number of resolved resource creations.



  • Nova now supports Cyborg managed SmartNICs represented by Neutron ports and attached as SRIOV devices to the Nova servers.

  • Nova’s libvirt virt driver now supports any PCI devices, not just virtual GPUs, that are using the VFIO-mdev virtualization framework like network adapters or compute accelerators. See more in the spec

  • Nova stores the cinder volume connection_info in its database. Over time this information can become stale if changes are made in the environment, the most common example of which being the changing of MON IP addresses when using Ceph as the backing store for the Cinder volume service. Previously operators have had to query the database directly for an understanding of the current state of the connection_info and could only migrate or shelve the instance to force a refresh of this. Now Nova provides a set of nova-manage CLI commands to read and refresh the stale information.

  • API microversion 2.90 allows users to configure the hostname that will be exposed via the nova metadata service when creating or rebuilding their instance.



  • Using ceph-ansible 6.0 (Pacific)

  • Ansible version is updated to the ansible-core 2.11

  • OVN deployment support is significantly improved

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.