Current Series Release Notes

25.0.0.0rc1-62

New Features

  • A new module, cinder.wsgi, has been added as a place to gather WSGI application objects. This is intended to ease deployment by providing a consistent location for these objects. For example, if using uWSGI then instead of:

    [uwsgi]
    wsgi-file = /bin/cinder-wsgi
    

    You can now use:

    [uwsgi]
    module = cinder.wsgi.api:application
    

    This also simplifies deployment with other WSGI servers that expect module paths such as gunicorn.

  • Ceph driver: Add config option to keep only the last n snapshots per backup to save disk space on the source volume storage. Enabling this option can cause incremental backups to become full backups instead under special circumstances. Please take a look at the Ceph backup driver docs for more information.

  • Fujitsu Eternus DX driver: Added support SSH key.

    Added the method for connecting to Eternus Storage using SSH key. The connection method can be selected by setting the value of parameter fujitsu_passwordless, which has a default value of True.

    • When fujitsu_passwordless is set to True, SSH key is used for connecting to the storage. Additionally, fujitsu_private_key_path needs to be set to the path of the SSH private key.

    • When fujitsu_passwordless is set to False, password is used for SSH connection to the storage.

    See the Fujitsu ETERNUS DX driver documentation for details.

  • Lightbits driver: allows administrators to better manage and optimize storage performance by associating QoS policies with volume types.

    • Administrators must first create the required QoS policy on the vendor side.

    • Once the QoS policy is created, it can be linked to a volume type in the system using the policy’s unique UUID.

    Example:

    openstack volume type create LightbitsWithQos --property volume_backend_name=<backend_name> --property=lightos:qos_policy=<uuid>
    
  • Added a new cinder-manage command to handle the situation where database purges would not complete due to the volumes table holding references to deleted services. The new command makes sure that all volumes have a reference only to the correct service_uuid, which will allow old service records to be purged from the database.

    Command: cinder-manage volume update_service

  • When Cinder creates a new cinder-volume service, it now also immediately updates the service_uuid for all volumes associated with that cinder-volume host. In some cases, this was preventing the database purge operation from completing successfully.

Upgrade Notes

  • Fujitsu Eternus DX driver: Added SSH key and password connection switching

    Added the method for connecting to Eternus Storage using SSH key. The connection method can be selected by setting the value of parameter fujitsu_passwordless, which has a default value of True.

    For upgrading from previous versions that relied on password authentication, you must explicitly set fujitsu_passwordless = False in the configuration. This ensures backward compatibility with the legacy password-based workflow.

    The default True value enforces key-based auth for new deployments, aligning with security best practices at the cost of a minor configuration adjustment for existing users.

  • Quobyte driver: The python psutil module is no longer a requirement for cinder, so it may need to be installed separately if you are using Quobyte. This can be done by specifying quobyte extras if installing via pip (for example, pip install cinder[quobyte]) or by installing psutil from the package appropriate for your operating system and ensuring that it is accessible to the cinder volume service.

Bug Fixes

  • NFS driver bug #1989514: When creating a snapshot of an attached volume, the volume attachment format was not updated in its connection_info and could have resulted in an unbootable guest. This has been fixed.

  • Fixed the volume property signature_verified propagating to images created from volumes. That property could later conflict with the same property being added again when creating a new volume from such image, preventing the volume from being created successfully. This volume property is created whenever a volume is created from an image for the purpose of indicating that the image signature was verified on creation, and was not intended to be propagated further if a new image is created from such volume.

  • Dell PowerMax Driver Bug #2089656: Fixed the issue that multiple detach requests caused race conditions in Dell PowerMax driver. Also, improved trace logs for PowerMax RESTAPI requests.

  • Fujitsu Eternus DX driver bug #2048850: Added parsing of error messages when CLI execution fails.

  • Hitachi driver bug #2033448: Fixed to initialize lock counter for resource group

  • HPE 3PAR driver Bug #2080927: Fixed: Retype thin volume to deco volume (dedup + compression)

  • Bug 1823445: Fix an issue with bulk updates of volume Glance metadata when keys exist but are unchanged.

  • HPE Nimble: Report max oversubscription ratio according to backend configuration max_over_subscription_ratio

  • Bug #2083532: [Pure Storage] Fixed creation of volumes with only IOPS qos.

  • Bug #2065713: Due to incorrect exception handling, ImageNotFound errors in the RBD driver’s get_manageable_volumes operation would propagate up to the API layer rather than being caught and handled in the driver.

Other Notes

  • HPE 3PAR: Documented that existing driver supports the new Alletra MP backend. HPE Alletra MP is newer version of existing HPE Alletra 9k backend.

  • HPE 3PAR driver: In get_volume_stats response, updated the logic to calculate free_capacity

  • Use the new implementation in os-brick for communicating with the StorPool API and reading StorPool configuration files.

    The StorPool backend no longer requires the OpenStack nodes to have the Python packages storpool and storpool.spopenstack installed.