Current Series Release Notes

29.0.0.0rc1-28

New Features

  • Infinidat driver: Added support for snapshot promotion, available in InfuzeOS 8.1 and later. Creating volumes from existing volumes or snapshots now uses snapshot promotion when supported by the storage system, producing independent volumes without copying data. Systems without this capability continue to use generic data copy.

    Promoted volumes follow the same provisioning and compression settings as newly created volumes. The san_thin_provision option selects thin or thick provisioning, and infinidat_use_compression controls compression. When infinidat_use_compression is unset, the configured pool’s compression setting is applied. Volumes are extended when the requested size exceeds the size inherited from the source.

  • NetApp ONTAP driver: Added pool-level capability netapp_san_active_active that exposes the ONTAP 9.19.1 SVM-level san_multipathing property (active_active or local_active) as a schedulable extra spec. Operators can steer volume placement toward Active-Active or Local-Active backends via volume types using netapp_san_active_active=<is> True or netapp_san_active_active=<is> False. The ZAPI client uses a lazy, cached RestNaServer to query this REST-only property without requiring migration to the full REST client. The REST client queries it natively. The capability is injected into each pool’s SSC data during update_ssc() and excluded from ASAr2 backends where Active-Active is inherent. A version gate ensures the capability is only advertised on clusters running ONTAP 9.19.1 or later; older releases omit the key entirely.

  • NetApp ONTAP driver: Added a new boolean configuration option netapp_use_metrics_based_utilization (default True). When enabled, the driver forces use of the REST client (regardless of netapp_use_legacy_client) and derives the pool utilization value from the ONTAP REST node metrics endpoint instead of the legacy counter-based calculation, reducing ONTAP management API load. ONTAP 9.8 or later is required. This REST override is intentional because the node metrics API is REST-only; operators who must keep the ZAPI/legacy client should set netapp_use_metrics_based_utilization = False. ASA r2 (disaggregated) backends always use the REST client regardless of this option, but this option still controls their utilization value: True reports the metrics-based value averaged across cluster nodes, False always reports the default utilization value since ASA r2 has no counter-based fallback.

Upgrade Notes

  • Infinidat driver: The minimum required InfiniSDK version is now 250.0.0. Install or upgrade infinisdk before restarting the cinder-volume service. The driver will not initialize if the library is missing or older than the required version. This requirement also applies to systems that use generic data copy.

  • The cinder-manage db sync command for this version of cinder will add an additional database index backups_volume_id_data_timestamp_idx on the backups table. Depending on the table size, this will take time to complete.

Bug Fixes

  • IBM Spectrum Virtualize family driver: Bug #2167561 https://bugs.launchpad.net/cinder/+bug/2167561 Fixed an issue where driver initialization unconditionally executed iSCSI IP discovery (``lsip`) even when Fibre Channel (FC) was configured, which caused setup failure on backends without configured iSCSI IPs.

  • Bug #1696715: Optimize getting parent backup for new incremental by not fetching all backups from the database, but using a DB query to find the suitable parent. Alongside, a previous bug with finding parents for snapshot backups was fixed. Previously this could select an ineligible parent when backing up a snapshot older than existing backups; that case now raises an error instead of silently creating an incremental against the wrong parent. Additionally the backup status of RESTORING was added to the list of valid status, as a restoring backup is indeed a valid, read-only source for a new incremental backup.

  • Dell PowerFlex driver: Fixed image cache vTree size check to count only direct child volumes of the cache volume. Previously, the driver used query_vtree_statistics, which counted all descendants in the vTree, including snapshots and deeper nested volumes. This could incorrectly block clone creation before the cache volume reached the configured direct-child limit. The driver now uses query_vtree_volumes with the ancestorVolumeId filter to count only immediate children. The powerflex_max_image_cache_vtree_size configuration option name and behavior are preserved.

  • [Everpure] Fixed an issue where replicated volume types could be added to a non-replicated consistency group without error.

  • Everpure driver: The backend is now reported to the scheduler as a single pool named after volume_backend_name. The scheduler only emits capacity.pool and capacity.backend notifications for backends that report a pools list, so capacity telemetry had never been produced for FlashArray backends. Existing host#pool values and capabilities.<metric> references are unchanged.

  • Bug #2160366: Fixed an issue in the Pure Storage FlashArray driver where several operations could silently fail when an array limit (such as the maximum volume or snapshot count) had been reached. The py-pure-client REST response was not checked, so the operation was reported to Cinder as successful even though the array did nothing. The driver now inspects the response and fails with a clear error. Affected operations include volume create, volume create from snapshot, cloned volume create, volume extend, revert to snapshot, snapshot create, consistency group create, consistency group snapshot create, consistency group clone and replication failover.

  • Bug #2160366: Fixed the Pure Storage FlashArray driver revert to snapshot operation, which passed the snapshot and volume names in the wrong order and so was silently rejected by the array (the error was previously ignored). Revert to snapshot now correctly overwrites the volume with the snapshot contents.