Victoria Series Release Notes

17.0.0-2

Bug Fixes

  • RBD driver Bug #1898918: Fix thread block caused by the flatten operation during cloning a volume. Now the flatten operation is executed in a different thread.

17.0.0

Prelude

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

  • Microversion 3.61 adds the cluster_name attribute to the volume detail response when called in an administrative context.

  • Microversion 3.62 adds API calls to manage the default volume type for a specific project. See the Default volume types (default-types) section of the Block Storage API v3 Reference for more information.

  • The handling of the default volume type for a cinder installation has been improved in this release.

  • The cinder backup service has added support for the popular Zstandard compression algorithm. (The default is the venerable Deflate (zlib) algorithm.)

  • Many backend storage drivers have added features and fixed bugs.

New Features

  • Nimble driver now supports discard.

  • Added Multi-attach feature in Nimble driver.

  • Added an included_domain_ips option to the Dell EMC SC driver. This option takes a comma separated list of target IP addresses listed under the fault domains to whitelisted. This option only applies to the ISCSI driver.

  • Added new APIs on microversion 3.61 to show cluster_name attribute in the response body of volume details for admin.

  • We can now limit the number of concurrent backup/restore operations that a Cinder backup service can perform using the backup_max_operations configuration option.

  • SolidFire driver now supports IPv6 for management IP.

  • The NFS driver now supports the creation of encrypted volumes.

  • Add Dell EMC PowerStore Storage Driver (iSCSI, FC).

  • The oslo.middleware /healthcheck is now activated by default in the Cinder api-paste.ini. Operators can use it to configure HAproxy or the monitoring of Cinder APIs. Edit the api-paste.ini file and remove any healthcheck entries to disable this functionality.

  • New Cinder Hitachi driver based on REST API for Hitachi VSP storages.

  • NetApp ONTAP: Added support for Adaptive QoS policies that have been pre-created on the storage system, with the NetApp driver and clustered ONTAP version 9.4 or higher. To use this feature, configure a Cinder volume type with the following extra-specs:

    netapp:qos_policy_group=<name_of_precreated_aqos_policy>
    netapp:qos_policy_group_is_adaptive="<is> True"
    

    Note that a cluster scoped account must be used in the driver configuration in order to use QoS in clustered ONTAP.

  • This PowerMax driver moves the legacy shared volume from the masking view structure in Ocata and prior releases (when SMI-S was supported) to staging masking view(s) in Pike and later releases (U4P REST). In Ocata, the live migration process shared the storage group, containing the volume, among the different compute nodes. In Pike, we changed the masking view structure to facilitate a cleaner live migration process where only the intended volume is migrated without exposing other volumes in the storage group. The staging storage group and masking views facilitate a seamless live migration operation in upgraded releases.

  • PowerMax for Cinder driver now supports the ability to transition to a new primary array as part of the failover process if the existing primary array is deemed unrecoverable.

  • PowerMax for Cinder driver now supports Port Group and Port load balancing when attaching Nova Compute instances to volumes on the backend PowerMax.

  • Added support for project specific default volume types. Microversion 3.62 of the Block Storage API introduces new calls to set, get, and unset a default volume type for a specific project. Project specific defaults have higher priority than the default_volume_type option in cinder.conf

  • Add reverting to snapshot support in Pure Storage Cinder driver.

  • NetApp SolidFire driver: Added inter-cluster volume migration (storage assisted) support. This allows users to efficiently migrate volumes between different SolidFire backends.

  • Added the option storwize_svc_retain_aux_volume to IBM Storwize Driver which takes True or False. This option is to enable or disable retaining of auxiliary volume on secondary storage during delete of the volume on primary storage or moving the primary volume from mirror to non-mirror with replication enabled. The default value is False.

  • Added support to cinder backup for use of the Zstandard compression algorithm. To use it, set the backup_compression_algorithm to zstd in the cinder configuration file. (The default value for this option is zlib.)

Known Issues

  • The Brocade Fibre Channel Zone Manager driver was marked ‘unsupported’ in the Ussuri release because the vendor declined to support Python 3, whereas all OpenStack releases beginning with Ussuri support Python 3 only.

    In order to provide operators with a choice of FCZM drivers, the Cinder community decided to continue supporting the Brocade FCZM driver on a best-effort basis. See the “Bug Fixes” section of these notes for changes made to allow the driver to run in a Python 3 environment.

    While the driver has been tested against the first Release Candidate for the cinder Victoria release, be aware that it does not have ongoing third-party CI. If you choose to use the driver, the configuration option enable_unsupported_driver must be set to True in the fc-zone-manager section in cinder.conf to allow its use in this release.

Upgrade Notes

  • Nimble specific extra-spec nimble:multi-initiator is removed. Common extra-spec multiattach is added.

  • The default_volume_type configuration option is now required to have a value. The default value is __DEFAULT__, so you should see no change in behavior whether or not you have set a value for default_volume_type. See Bug #1886632 for more information about this change.

  • The Brocade Fibre Channel Zone Manager driver was marked ‘unsupported’ in the Ussuri release, and it continues as ‘unsupported’ in this release. If you choose to use the driver, the configuration option enable_unsupported_driver must be set to True in the fc-zone-manager section in cinder.conf to allow its use.

  • The fix for Bug #1823200 requires os-brick version 3.1.0 or greater.

  • Due to the fix for Bug #1740950, the host_name field in any object in the attachments array of the volume detail response is populated only when the call is made in an administrative context. Otherwise, its value is the JSON null value. This is consistent with prior API behavior, as it has always been possible for the value of that field to be null.

  • IBM Spectrum Virtualize Family (previously known as Storwize) driver cannot delete volume which has host mapping in some rare cases while code_level of IBM Spectrum Virtualize Family storage lower than 7.7.0.0. Please upgrade to latest code to avoid this kind of issue.

  • The default value of the configuration option, glance_num_retries, has been changed to 3 in this release. Its former value was 0. The option controls how many times to retry a Glance API call in response to a HTTP connection failure, timeout or ServiceUnavailable status. By this change, Cinder can be more resilient to temporary failure and continue the request if a retry succeeds.

  • The “cinder-manage shell” set of commands has been removed.

  • RBD driver: the rbd_keyring_conf configuration option, which was deprecated in the Ussuri release, has been removed. If it is present in a configuration file, its value will silently be ignored. For more information, see OSSN-0085: Cinder configuration option can leak secret key from Ceph backend.

  • Prior to the Ussuri release, os-reset_status notifications for volumes, snapshots, and backups were sent to nonstandard publisher_ids. This behavior was deprecated in Ussuri, and notifications were sent to both the standard and nonstandard publisher_ids. In this release, os-reset_status notifications, like all other notifications for volume, snapshot and backup, are sent only to the following standard publisher_ids:

    • ‘volume’ for volume status resets

    • ‘snapshot’ for snapshot status resets

    • ‘backup’ for backup status resets

  • Dell EMC VxFlex OS has been rebranded to PowerFlex. The driver cinder.volume.drivers.dell_emc.vxflexos.driver.VxFlexOSDriver has been renamed to cinder.volume.drivers.dell_emc.powerflex.driver.PowerFlexDriver. Although in this release the volume manager will recognize the old driver name, that functionality will be removed in the Wallaby release, and thus we recommend that you update the driver name in cinder.conf at your earliest convenience.

    Existing vxFlex OS configuration options, whose usage was DEPRECATED in the Stein release, will no longer be recognized in this release. Thus all driver configuration options that start with vxflexos must be updated to powerflex in your cinder.conf before you deploy this release.

    Before the Rocky release, this driver was named cinder.volume.drivers.dell_emc.scaleio.driver.ScaleIODriver. That name was deprecated in the Rocky release. In this release, the pre-Rocky name for this driver is no longer recognized and support for configuration options beginning with sio has been removed. Thus any driver configuration options that start with sio must be updated to powerflex in your cinder.conf before you deploy this release.

    The online documentation has been updated to reflect these changes.

Deprecation Notes

  • Cinder TSM Backup Driver is deprecated and will be removed in Wallaby release.

Security Issues

  • It was possible under certain circumstances for the host name of an instance to be leaked in the volume detail response. This has been fixed in the current release. The host_name field in any object in the attachments array of the volume detail response is populated only when the call is made in an administrative context. Otherwise, its value is the JSON null value.

Bug Fixes

  • Bug #1886632: The system defined __DEFAULT__ volume type is now treated as a regular volume-type and may be updated or deleted. Since the configured default_volume_type cannot be deleted, however, the __DEFAULT__ volume type may not be deleted if it is the value of that configuration option.

  • Bug #1888550: Fix UnboundLocalError on the Brocade lookup driver on southbound client creation failure during the device mapping retrieval.

  • Bug #1888548: Add Python 3 support to the Brocade Zone Manager driver.

  • Bug #1866860: Fix AttributeError on the Brocade ZM driver when using setting REST_HTTP or REST_HTTPS as the fc_southbound_protocol option and an exception is raised by the client.

  • Bug #1823200: This release contains an updated Dell EMC VxFlex OS driver. It must be used with os-brick version 3.1.0 or greater and requires that a new configuration file be deployed on compute nodes, cinder nodes, and anywhere you would perform a volume attachment in your deployment. See the Dell EMC VxFlex OS (ScaleIO) Storage driver documentation for details about the configuration file, and see OSSN-0086 for more information about the security vulnerability.

  • Bug #1828386: Fix the bug that a volume retyped from another volume type to a replicated or multiattach type cannot have replication or multiattach enabled in rbd driver.

  • Bug #1859652: Fix to allow retyping an attached volume to SolidFire.

  • Bug #1869746: Cinder no longer allows an incremental backup to be created while having the parent backup in another project.

  • Bug #1874134: Fix for NetApp ONTAP driver allowing an iSCSI or FCP volume to be extended to a size up to 16TB regardless of its original size, even if it’s attached to an instance.

  • Bug #1874541: Fix a ZeroDivisionError when the SolidFire driver tried to update cluster capabilities.

  • Bug #1875570: Fixed issue with NFS backend where the image-volume cache was never used to create a volume, even when the cache was enabled.

  • Bug #1879578: A regression in the Train release caused Cinder to assign the default volume type too aggressively when a volume type was not specified in a volume-create request. As a result, some alternative methods of specifying the volume type were ignored and the default type (either configured by the operator or the system default) would be assigned.

    This release restores the intended behavior, which is described as follows:

    If a volume_type is not specified when a volume is created, Cinder tries to infer the volume type from other information in the volume-create request:

    • if a source_volid is supplied in the request, the volume type is inferred from the source volume’s volume type

    • if a snapshot_id is supplied in the request, the volume type is inferred from the volume type associated with the snapshot

    • if an imageRef is supplied in the request, and the image has a cinder_img_volume_type image property, the volume type is inferred from the value of that image property

    Otherwise, the volume type is the default volume type configured by the operator, and if no volume type is so configured, the volume type is the system default volume type, namely, __DEFAULT__.

    When a volume type is specified explicitly in a volume-create call, Cinder will use the specified type. If the specified type cannot be assigned due to a conflict with other parameters in the volume-create call, however, the call will result in a 400 (Bad Request) response.

  • Bug #1887908: In NEC driver, fix live-migration failure with FC.

  • Bug #1890241: During delete_group_snapshot on IBM storwize, in case of multiple snapshots in the group, delete flow exits if any one snapshot deletion fails, but it should update error state and continue with deleting other snapshots.

  • Bug #1890586: IBM Storwize: Fixed issues in check_flashcopy_rate that impacts the performance during Group Snapshot/Clone operations for bulk volumes.

  • Bug #1890588: IBM Storwize: Fixed issues in select_io_group that impacts the performance during Create_volume, Group Snapshot/Clone operations for bulk non-hyperswap volumes.

  • Bug #1896087: Volume status will be rolled back to the previous state if backup creation fails when backup service is not available

  • Bug #1870367 : Partially fixed NFS and Quobyte drivers by no longer allowing extending a volume while it is attached, to prevent failures due to Qemu internal locking mechanisms.

  • Bug #1873738: RBD Driver: Added cleanup for residue destination file if the copy image to encrypted volume operation fails.

  • Bug #1697422: Fix HPE 3PAR driver issue where volumes that were live migrated to it would end up being inaccessible. We would no longer be able to use the volume for any operation, such as attach, detach, delete, snapshot, etc.

  • Bug #1858119: Fix the HPE 3PAR driver’s attempt to rename the backend volume after it was migrated. If the original volume resides on the same 3PAR backend then the pre and post migration volume names are swapped. Otherwise, the newly migrated volume is renamed to match the original name.

  • Fixed volume group action in Active/Active HA deployment:

  • Bug #1740950: the host_name field in any object in the attachments array of the volume detail response is populated only when the call is made in an administrative context. Otherwise, its value is the JSON null value.

  • Bug #1886042: Fix unique_fqdn_network configuration option for the Kaminario driver, as it was being ignored when defined in the driver section, which used to work.

  • Bug #1880971: Fix leaving mapped volumes on offline volume migration and revert to snapshot operations failure.

  • Bug #1883490: Fixed incorrect response of listing volumes with filters.

  • Fixed a problem with volume retype not honoring the existing volume’s Availability Zone if one isn’t specified.

  • Bug #1884268: Fixed issue where non-admin users could not show a volume transfer by name.

  • HPMSA driver: The HPE MSA driver was updated to avoid using deprecated command syntax that has been removed in the latest version of the MSA API. This is required to support the newest firmware in the MSA 2060/1060.

  • Bug #1839384: NetApp ONTAP: Detaching any instance from multiattached volume terminates connection. Now the connection is terminated only if there’re no other instances using the same initiator.

  • Bug #1875478: PowerMax Driver - Concurrent live migrations can sometimes fail when one thread deletes a storage group that another thread may need.

  • Bug #1894086: PowerMax Cinder driver addresses an issue whereby Unisphere REST iterators expire before all data can be read from them. The iterator expiration is now set to 180mins and deleted once all data has been read so no artifacts are left behind.

  • Bug #1889758: Fix revert to snapshot not working for non admin users when using the snapshot’s name.

  • Additionally, the following bugs were addressed:

    • Bug #1888831: PowerMax Driver - Volume updates for volumes in groups not performed during failover

    • Bug #1867906: group-create-from-src doesn’t work in active/active mode

    • Bug #1886662: PowerMax Driver - Volumes not cleaned up after exception during migrate, retype, srdf protect creates/deletes blocks subsequent operations

    • Bug #1874187: PowerMax driver - Exception was not handled and breaks the flow while add/remove volumes to generic volume group

    • Bug #1886689: Rekey fails when provider is legacy provider class

    • Bug #1877976: PowerMax Driver - RDFG suspended on vol create exception

    • Bug #1877445: Pure Storage Driver - doesn’t handle synchronous replication CIDR filters properly

    • Bug #1875953: Virtuozzo driver - missing context in create_cloned_volume call

    • Bug #1863021: Eventlet monkey patch results in assert len(_active) == 1 AssertionError

    • Bug #1875640: PowerMax Driver - Failover lock not released during U4P failover during exception

    • Bug #1875959: NetApp ONTAP NFS driver - Unable to perform flexclone from glance share

    • Bug #1875433: PowerMax Driver - Retype from rep to rep leaving storage group suspended

    • Bug #1875432: PowerMax Driver - Live migration fails when an instance has more than one replication device

    • Bug #1871744: Glance retry failed: TypeError: get() got an unexpected keyword argument ‘schema_name’

    • Bug #1873463: Virtuozzo driver - copy_volume_to_image() needs to support glance multistore

    • Bug #1892057: PowerMax Driver - Missing force flag for rep group volume adds

    • Bug #1892718: PowerMax Driver - SRDF suspend can fail during _create_replica

Other Notes

  • Beginning with the Train release, untyped volumes (that is, volumes with no volume-type) have been disallowed. To facilitate this, a __DEFAULT__ volume-type was included as part of the Train database migration. In this release, handling of the default volume-type has been improved:

    • The default_volume_type configuration option is required to have a value. The default value is __DEFAULT__.

    • A request to delete the currently configured default_volume_type will fail. (You can delete that volume-type, but you cannot do it while it is the value of the configuration option.)

    • There must always be at least one volume-type defined in a Cinder installation. This is enforced by the type-delete call.

    • If the default_volume_type is misconfigured (that is, if the value refers to a non-existent volume-type), requests that rely on the default volume-type (for example, a volume-create request that does not specify a volume-type) will result in a HTTP 500 response.

  • In order to provide operators with a choice of Fibre Channel Zone Manager drivers, the Cinder community has decided to continue supporting the Brocade FCZM driver, which was marked ‘unsupported’ in the Ussuri release, on a best-effort basis.

    The driver has been tested against the first Release Candidate for the cinder Victoria release, but it does not have ongoing third-party CI. If you use this driver, and would be interested in running third-party CI for it, please contact the Cinder project team.

  • PowerMax driver - the minimum version of Unisphere for PowerMax required for Victoria is 9.2, so all the latest 92 REST endpoints will be used.