Yoga Series Release Notes

20.0.1

Bug Fixes

  • Bug #1929223: Fixed HTTPS certificate validation was disabled in PowerFlex connector.

  • Bug #1965847: Fixed issue where importing a backup record for a backup_id that currently existed had the unfortunate side effect of deleting the existing backup record.

  • IBM Spectrum Virtualize Family driver: Bug #1968159: Fix for retype failure for replicated volume-type. Controlling chfcmap call for rc_controlled fcmap for replication-type volumes during retype operation.

  • Bug #1970768: Fixed status of temporary volumes when creating backups and reverting to a snapshot, preventing accidental manual deletion of those resources.

  • HPE 3PAR driver Bug #1958122: Fixed issue of multi-detach operation in multi host environment.

  • NetApp ONTAP: Fix check QoS minimum support for SVM scoped account. See: Bug #1924798.

20.0.0

Prelude

Welcome to the Yoga release of the OpenStack Block Storage service (cinder). With this release, the Block Storage API version 3 has reached microversion 3.68. The Cinder team would like to bring the following points to your attention. Details may be found throughout this document.

  • Microversion 3.67 is introduced as a marker to indicate that any instance of the Block Storage API 3.67 or greater treats a project_id in the URL as optional. This change is backward compatible: the API can handle legacy URLs containing a project_id as well as URLs without a project_id. This is the case regardless of what microversion specified in a request. See the “New Features” section for details.

  • Microversion 3.68 introduces a new volume action, os-reimage, that allows a user to replace the current content of a specified volume with the data of a specified image supplied by the Image service (glance). See the “New Features” section for details.

  • Some new backend storage drivers have been added, and many current drivers have added features and fixed bugs.

New Features

  • Add microversion 3.68 to support the ability to re-image a volume with a specific image. Specify the os-reimage action in the request body.

    A volume in available or error status can be re-imaged directly. To re-image a volume in reserved status, you must include the reimage_reserved parameter set to true. When reimaging a volume, the volume state will be changed to downloading first.

    Note that this is a destructive action, that is, all data currently contained in a volume is destroyed when the volume is re-imaged.

    Two new policies are introduced to govern this functionality:

    • volume:reimage - users who satisfy this policy may re-image a volume in status available or error

    • volume:reimage_reserved - users who satisfy this policy may re-image a volume in status reserved

    The default setting for both policies allows an administrator or the volume owner to perform the associated action. See the Policy configuration documentation in the Cinder Service Configuration guide for details.

  • Lightbits LightOS driver: new Cinder driver for Lightbits(TM) LightOS(R). Lightbits Labs (http://www.lightbitslabs.com) LightOS is software-defined, cloud native, high-performance, clustered scale-out and redundant NVMe/TCP storage that performs like local NVMe flash.

  • Hitachi driver: Support AIX as host OS type. When running cinder attachment-create command with the option --ostype aix, AIX is set as host OS type.

  • Hitachi driver: Add target port assignment. Defining particular ports in extra spec hbsd:target_ports determines which of the ports specified by the hitachi_target_ports or the hitachi_compute_target_ports parameters are used to create LUN paths during volume attach operations for each volume type.

  • IBM Spectrum Virtualize Family driver: Added support for clean_rate parameter. Clean_rate parameter can now be passed as extra-spec in volume-type or fetched from cinder.conf.

  • IBM Spectrum Virtualize Family driver: Added support to manage host attachment using portsets for code level >= 8.4.2.0

  • LVM driver: Added support for the NVMe TCP transport protocol. Configuration option is target_protocol = nvmet_tcp when using nvmet as the target_helper.

  • Added backend FC and iSCSI drivers for NEC V series Storage.

  • The inclusion of a project_id in API URLs is now optional. The Block Storage API V3 reference guide continues to show URLs with a project_id because the legacy behaviour continues to be supported.

    A new API microversion V3.67 is introduced to inform clients when inclusion of a project_id in API URLs is optional. The V3.67 microversion is only used as an indicator that the API accepts a URL without a project_id, and this applies to all requests regardless of the microversion in the request. For example, an API node serving V3.67 or greater will accept a URL without a project_id even if the request asks for V3.0. Likewise, it will accept a URL containing a project_id even if the request asks for V3.67.

  • Pure Storage FlashArray driver: Enabled support for Active/Active replication for the FlashArray driver. This allows users to configure FlashArray backends in clustered environments.

  • Pure Storage driver adds volume metadata describing the backend array name (array_name) and volume name (array_volume_name). This allows easier identification and location of a cinder volume when multiple clusters are using the same backend arrays, or when the cinder scheduler has multiplae backends to choose from.

  • New FC cinder volume driver for TOYOU NetStor Storage.

Known Issues

  • Just before release, Bug #1965847 was reported. When importing a backup record for a backup_id that currently exists, the import fails as expected. However, this operation has the unfortunate side effect that the existing backup record is deleted. Initial analysis of the bug indicates a small, isolated solution that should be backportable to stable branches.

  • When the Ceph backup driver is used for the backup service, restoring a backup to a volume created on a non-RBD backend fails. The Cinder team has developed a fix but decided to do more thorough testing before including it in a release. When ready, the solution is expected to be backported to a future release in the Yoga series. The issue is being tracked as Bug #1895035.

  • Creating a volume of an encrypted volume type from an image in the Image service (Glance) using the generic NFS driver results in an unusable volume. The Cinder team is working on a solution which is expected to be backported to a future release in the Yoga series. The issue is being tracked as Bug #1888680.

  • Cinder use of cgroups v1

    This note applies to deployments that are using the Cinder configuration option volume_copy_bps_limit in its non-default value (the default is 0).

    The cinder-volume service depends on Linux Kernel Control Groups (cgroups) version 1 to control i/o throttling during some volume-copy and image-convert operations. Some Linux distributions, however, have changed to using cgroup v2 by default and may have discontinued cgroups v1 support completely. Consult your Linux distribution’s documentation for details.

    The cinder team is working on a throttling solution using cgroup v2, but it was not ready at the time of this release. The solution is expected to be backported to a future release in the Yoga series. This issue continues to be tracked as Bug #1942203.

  • NVMe-oF issues

    Cinder and Nova use the os-brick library to facilitate connections to volumes. The nvmeof os-brick connector has been refactored over the past few development cycles. In between the time of the Yoga os-brick release (os-brick 5.2.0) and this cinder release, several bugs were discovered in this connector. You can find these in the bug tracker with this query:

    https://bugs.launchpad.net/os-brick/+bugs?field.tag=nvme

Upgrade Notes

  • Two new policies are introduced to govern the volume reimage functionality introduced with microversion 3.68:

    • volume:reimage - users who satisfy this policy may re-image a volume in status available or error

    • volume:reimage_reserved - users who satisfy this policy may re-image a volume in status reserved

    The default setting for both policies allows an administrator or the volume owner to perform the associated action. See the Policy configuration documentation in the Cinder Service Configuration guide for details.

  • RBD driver: Enable Ceph V2 Clone API and Ceph Trash auto purge

    In light of the fix for RBD driver bug #1941815, we want to bring the following information to your attention.

    Using the v2 clone format for cloned volumes allows volumes with dependent images to be moved to the trash - where they remain until purged - and allow the RBD driver to postpone the deletion until the volume has no dependent images. Configuring the trash purge is recommended to avoid wasting space with these trashed volumes. Since the Ceph Octopus release, the trash can be configured to automatically purge on a defined schedule. See the rbd trash purge schedule commands in the rbd manpage.

  • The QNAP driver has been marked as unsupported and is now deprecated. enable_unsupported_drivers will need to be set to True in cinder.conf to continue to use it.

  • Nimble Storage became a part of the HPE family of Storage solutions. The cinder Nimble driver has been relocated to the cinder.volume.driver.hpe module to reflect this. The impact on operators is that the module path cinder.volume.drivers.nimble.NimbleISCSIDriver and cinder.volume.drivers.nimble.FCDriver should now be updated to cinder.volume.drivers.hpe.nimble.NimbleISCSIDriver and cinder.volume.drivers.hpe.nimble.NimbleFCDriver respectively in cinder.conf

  • Upgrades are not affected by the new functionality whereby a project_id is no longer required in API URLs. The legacy behaviour in which a project_id is included in the URL continues to be supported.

    Detection of whether a URL includes a project_id is based on the value of a new project_id_regex option. The default value matches UUIDs created by Keystone.

  • Pure Storage: Minimum supported FlashArray Purity//FA is changed to 5.3.0. All FlashArray backends must be at at least this minimum version or the driver will not initialize.

Deprecation Notes

  • The QNAP driver has been marked as unsupported and is now deprecated. enable_unsupported_drivers will need to be set to True in cinder.conf to continue to use it.

Bug Fixes

  • Bug #1918889: Add support for iSCSI IPv6 in XtremIO driver.

  • Bug #1935688: Cinder only supports uploading a volume of an encrypted volume type as an image to the Image service in raw format using a bare container type. Previously, os-volume_upload_image action requests to the Block Storage API specifying different format option values were accepted but would result in a later failure. This condition is now checked at the API layer, and os-volume_upload_image action requests on a volume of an encrypted type that specifies unsupported values for disk_format or container_format now result in a 400 (Bad Request) response.

  • IBM Spectrum Virtualize Family driver Bug #1939145: Updating create_relationship and create_rccg calls with the system_id in the place of system_name to fix the issues while creating a mirror volume or creating a consistency group.

  • IBM Spectrum Virtualize Family driver: Bug #1941694: Fixed detaching volume from second instance for multi-attach type volumes.

  • RBD driver bug #1941815: Fixed deleting volumes with snapshots/volumes in the ceph trash space.

  • IBM Spectrum Virtualize family driver Bug #1943682: Updating rccg_name property to volume metadata for the resultant volumes of a clone_group from a source_group or a group_snapshot.

  • Bug #1944577: Managing a volume to an encrypted type was never a good idea because there was no way to specify an encryption key ID so that the volume could be used. Requests to manage a volume to an encrypted volume type now result in an invalid request response.

  • RBD driver bug #1947518: Corrected a regression caused by the fix for Bug #1931004 that was attempting to access the glance images RBD pool with write privileges when creating a volume from an image.

  • IBM Spectrum Virtualize Family driver Bug #1949061: Fixed retype issue of mirror-volume to mirror-volume-type with different mirror pool

  • IBM Spectrum Virtualize Family driver Bug #1920870: Reduce multiple lsiogrp, lsvdisk calls in Retype operation to optimize the code.

  • Bug #1953168: Fixed missing parameter in the capacity filter log message.

  • IBM Spectrum Virtualize family driver Bug #1953185: Fixed revert to snapshot issue for replicated volumes which are a part of group.

  • Bug #1947134: Fixed the initialization of GPFS NFS driver when gpfs_images_share_mode is set to copy_on_write by correcting _same_filesystem functionality.

  • Bug #1947123: Fixed the volume creation issue in GPFS NFS driver when gpfs_images_share_mode is set to copy_on_write.

  • Pure Storage driver Bug #1945824: Fixed missing DB values when creating new consistency group from CG snapshot.

  • Bug #1916980: Fixed stale volume notification information on volume detach.

  • Bug #1935011: Fixed missing detach.start notification when deleting an attachment in reserved state.

  • Bug #1937084: Fixed race condition between delete attachment and delete volume that can leave deleted volumes stuck as attached to instances.

  • Bug #1960019: Fixed value of the x-openstack-request-id header when Cinder is using noauth.

  • Bug #1960020: Fixed duplicated request-id values in logs for different requests, happens only on request to / to get available API versions.

  • Bug #1960021: Fixed missing request id headers in requests to / to get available API versions.

  • Bug #1960329: Fixed wrong request ID on middleware filters.

  • Bug #1924643: Fixed the NetApp cinder driver sub-clone operation that might be used by extend operation in case the extended size is greater than the max LUN geometry.

  • Bug #1950474: Fixed policy authorization for transfer accept API. Previously, setting enforce_new_defaults=True in oslo_policy section would break the transfer accept API which is fixed in this release.

  • HPE 3PAR driver Bug #1940069: Fixed issue of connection rejected by reusing existing session.

  • PowerMax driver bug #1930290: This fixes the QoS conflict issue on a child storage group by not setting QoS on a parent storage group.

  • PowerMax driver : Enhancement to use an existing initiator group even if there is no entry for the contained initiator(s) in the login table. This is permissable so long as the initiator(s) in the connector object match.

  • PowerMax driver bug #1938572 : Legacy PowerMax OS fix to convert an int to a string if the generation of snapVX is returned as an int from REST so that a 0 does not equate to False in python.

  • Pure Storage Driver: Add internal check to allow for FlashArray with joint FC and NVMe-FC support

  • Pure Storage: Remove all API version checks in driver as the new minimum FlashArray Purity//FA version supports all previously version-gated features and functionality support.

  • Bug #1935057: Fixed sometimes on a detach volume may end in available and detached yet have an attachment in error_detaching.

  • NetApp SolidFire driver Bug #1932964: Fixed a name exception that occurs on any volume migration.

  • NetApp SolidFire driver Bug #1942090: Fixed a status exception that occurs on volume retype with migration.

Other Notes

  • The optional driver feature “Snapshot Attachment” has been removed from the Cinder Driver Support Matrix. It is an enhancment used for backups, it is not exposed via the Block Storage API, and its presence in the Support Matrix was misleading.

  • Pure Storage: FlashArray minimum Purity//FA version is increased to 5.3.0. All FlashArray backends must be at at least this minimum version or the driver will not initialize.

  • SolidFire driver: Driver no longer stores attach timestamp and instance as metadata on the storage array. Any metadata remaining in the array must be considered outdated and incorrect.