[release-announce] cinder 18.0.0 (wallaby)

no-reply at openstack.org no-reply at openstack.org
Wed Apr 14 11:10:19 UTC 2021


We are delighted to announce the release of:

cinder 18.0.0: OpenStack Block Storage

This release is part of the wallaby release series.

The source is available from:

    https://opendev.org/openstack/cinder

Download the package from:

    https://tarballs.openstack.org/cinder/

Please report issues through:

    https://bugs.launchpad.net/cinder/+bugs

For more details, please see below.

18.0.0
^^^^^^


Prelude
*******

Welcome to the Wallaby release of the OpenStack Block Storage service
(cinder).  With this release, the Block Storage API version 3 has
reached microversion **3.64**.


New Features
************

* The cinder-manage command now includes a new "quota" category with
  two possible actions "check" and "sync" to help administrators
  manage out of sync quotas on long running deployments.


Known Issues
************

* **Anomalies with encrypted volumes**

  For the most part, users are happy with the cinder feature Volume
  encryption supported by the key manager
  (https://docs.openstack.org/cinder/wallaby/configuration/block-
  storage/volume-encryption.html). There are, however, some edge cases
  that have revealed bugs that you and your users should be aware of.

  First, some background.  The Block Storage API supports the creation
  of volumes in gibibyte (GiB) units.  When a volume of a non-
  encrypted volume type of size *n* is created, the volume contains
  *n* GiB of usable space. When a volume of an encrypted type is
  requested, however, the volume contains less than *n* GiB of usable
  space because the encryption metadata that must be stored within
  that volume in order for the volume to be usable consumes an amount
  of the otherwise usable space.

  Although the encryption metadata consumes less than 1% of the
  volume, suppose that a user wants to retype a volume of a non-
  encrypted type to an encrypted type of the same size.  If the non-
  encrypted volume is "full", we are in the position of trying to fit
  101% of its capacity into the encrypted volume, which is not
  possible under the current laws of physics, and the retype should
  fail (see Known Issues
  (https://docs.openstack.org/cinder/wallaby/configuration/block-
  storage/volume-encryption.html) for volume encryption in the cinder
  documentation).

  (Note that whether a volume should be considered "full", even if it
  doesn't contain exactly *n* GiB of data for an *n* GiB volume, can
  depend upon the storage backend technology used.)

  A similar situation can arise when a user creates a volume of an
  encrypted volume type from an image in Glance.  If the image happens
  to be sized very close to the gibibyte boundary given by the
  requested volume size, the operation may fail if the image data plus
  the encryption metadata exceeds the requested volume size.

  So far, the behavior isn't anomalous; it's basically what you'd
  expect once you are aware that the encryption metadata must be
  stored in the volume and that it consumes some space.

  We recently became aware of the following anomalies, however, when
  using the current RBD driver with a Ceph storage backend.

  * When creating an encrypted volume from an image in Glance that
    was created from a non-encrypted volume uploaded as an image, or
    an image that just happens to be sized very close to the gibibyte
    boundary given by the requested volume size, the space consumed by
    the encryption header may not leave sufficient space for the data
    contained in the image.  In this case, the data is silently
    truncated to fit within the requested volume size.

  * Similarly, when creating an encrypted volume from a snapshot of
    an encrypted volume, if the amount of data in the original volume
    at the time the snapshot was created is very close to the gibibyte
    boundary given by the volume's size, it is possible for the data
    in the new volume to be silently truncated.

  Not to put too fine a point on it, silent truncation is worse than
  failure, and the Cinder team will be addressing these issues in the
  next release. Additionally (as if that isn't bad enough!), we
  suspect that the above anomalies will also occur when using volume
  encryption with NFS-based storage backends, though this has not yet
  been reported or confirmed.


Upgrade Notes
*************

* New configuration options have been added to enable mTLS between
  cinder and glance: use "glance_certfile" and "glance_keyfile" in the
  "[DEFAULT]" section of the cinder configuration file.


Bug Fixes
*********

* PowerStore driver Bug #1920729
  (https://bugs.launchpad.net/cinder/+bug/1920729): Fix iSCSI targets
  not being returned from the REST API call if targets are used for
  multiple purposes (iSCSI target, Replication target, etc.).

* Bug #1913054 (https://bugs.launchpad.net/cinder/+bug/1913054): Fix
  for creating a clone of an encrypted volume for drivers that require
  additional information to attach.

* Bug #1917574 (https://bugs.launchpad.net/cinder/+bug/1917574):
  Fixed issue when cinderclient requests to show volume by name for
  non- admin users would result in the volume not being found for
  microversions 3.31 or later.

* LVM driver bug #1901783
  (https://bugs.launchpad.net/cinder/+bug/1901783): Fix unexpected
  delete volume failure due to unexpected exit code 139 on "lvs"
  command call.

* Bug #1917797 (https://bugs.launchpad.net/cinder/+bug/1917797): Fix
  Cinder's communication with the Glance API to correctly load mTLS
  certificates from config ("glance_certfile" and "glance_keyfile" in
  the "[DEFAULT]" section).

* Bug #1877164 (https://bugs.launchpad.net/cinder/+bug/1877164): Fix
  retyping volume with snapshots leaves the snapshots with the old
  type, making the quotas wrong inmediately for snapshots, and
  breaking them even more after those snapshots are deleted.

* Bug #1919161 (https://bugs.launchpad.net/cinder/+bug/1919161): Fix
  automatic quota refresh to correctly account for temporary volumes.
  During some cinder operations, such as create a backup from a
  snapshot, temporary volumes are created and are not counted towards
  quota usage, but the sync mechanism was counting them, thus
  incorrectly updating volume usage.

* Bug #1697906 (https://bugs.launchpad.net/cinder/+bug/1697906): Fix
  "until_refresh" configuration changes not taking effect in a timely
  fashion or at all.

* Bug #1484343 (https://bugs.launchpad.net/cinder/+bug/1484343): Fix
  creation of duplicated quota usage entries in DB.


Other Notes
***********

* 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 currently depends on Linux Kernel Control
  Groups (cgroups) version 1 (https://www.kernel.org/doc/html/latest
  /admin-guide/cgroup-v1/cgroups.html) to control i/o throttling
  during some volume-copy and image-convert operations.  At the time
  of this release, some Linux distributions may have changed to using
  cgroups v2 (https://www.kernel.org/doc/html/latest/admin-
  guide/cgroup-v2.html) by default.  Thus, you may need to take
  explicit steps to ensure that **cgroups v1** is enabled on any
  OpenStack nodes running the cinder-volume service.  This may entail
  setting specific Linux kernel parameters for these nodes.  Consult
  your Linux distribution's documentation for details.

  For more information:

  * The cinder options associated with throttling are
    "volume_copy_blkio_cgroup_name" and "volume_copy_bps_limit".  They
    are described in the sample cinder configuration file
    (https://docs.openstack.org/cinder/wallaby/configuration/block-
    storage/samples/cinder.conf.html) for the Wallaby release.

  * For an example of distribution-specific information about
    cgroups, see OpenStack and cgroups v1
    (https://www.debian.org/releases/bullseye/amd64/release-notes/ch-
    information.en.html#openstack-cgroups) in the Debian 11
    ("bullseye") release notes.

Changes in cinder 17.0.0.0rc1..18.0.0
-------------------------------------

4eb95de87 Add known issue note about encrypted volumes
4ceb0f14a Add releasenote for glance mTLS fix
f87090b86 Add release note about cgroups v1
36cfe7813 Fix: show volume by name for non-admins
b4f1ff89a Quota: Fix multiple race conditions
d12003c81 Prevent quota and reservations to go into negative
d4fcefb94 Update cinder manage quota commands
95fcb50a4 Fix quota usage duplicate entries
1b702ec11 Remove nested quota leftovers
6f2e7a543 Quota: Fix until_refresh config changes
c8cc7979c Remove unused quota python classes
26919f3f8 LVM: Fix delete volume error due to lvs failure
59d08ca2a Add quota utils to cinder-manage
460095744 Change snapshots type with volume retype
a9a9e5400 Cinder - Creating clone of encrypted volume fails
0c9512f94 Use os-brick 4.3.1
ebc12b940 Add prelude for Wallaby release notes
87a933846 Fix automatic quota sync for temporary volumes
80adbda09 Fix PowerStore iSCSI targets filtering
9623f83e0 Update TOX_CONSTRAINTS_FILE for stable/wallaby
5a0d07391 Update .gitreview for stable/wallaby
b14cb5e13 Use os-brick 4.3.0
1fba4a9e9 NetApp ONTAP: Fix FlexGroup replication
3f33542ab Imported Translations from Zanata
b406e6d35 Support mTLS when calling the glance API
bb444d4a4 Follow up NetApp ONTAP FlexGroup feature
d6895f9d2 Backup manager: Synchronously call remove_export
77127e7d4 Bug fix for revert to snapshot feature
d501d1a88 JovianDSS: add certs and snapshot restore
5be622681 Update code layout and missing Zadara features
14032d0a1 doc: Remove cryptsetup reference for compute setup
bb8771436 Add explanations on safe delete
bea458663 Fix volume OVO create method
9607e2e6e Remove unnecessary save call
779b0249f Fix old attach method
e55043ff0 Fix automatic quota sync for migrating volumes
6f1531ab1 [SVF]: Volume name is not validated for host
7576313b9 Changed whitelist to allowlist in tox
fd77dfa22 [SVF]:Storwize hyperswap volume is not deleting.
09124fa68 Resolve SADeprecationWarning for joinedload_all
5ad7fe926 Always constraint dependencies in tox
0d06d497c Add support for consistency groups in the Nimble Storage driver
81e5a9290 NFS: Fix for groups and cloning
f89d1b7b8 Dropping explicit unicode literal
6ff5591fc Add virtualenv requirement to tox.ini
0cb7322ac NetApp ONTAP: Implement FlexGroup pool
0e8807388 Add support for RBD fast-diff feature for backups stored in Ceph
8da91b74d API validation: Use cinder_host for services checks
ace174821 Support format info in fs type drivers
ec1bb005b PowerMax Driver - Release notes for 761643 and 767172
ae00a173b Add Consistency Groups support in PowerStore driver
f328341ed Add OpenStack volume replication v2.1 support in PowerStore driver
8687925ce API validation: Add cinder_host type to support ipv6 in manage
886c5b4c8 [SVF] Set volume IOPS based on volume size
79b2a4f46 Add QoS Suport for Pure Storage
24c9065df Imported Translations from Zanata
7d9dc8dec NetApp ONTAP: Add support for dynamic Adaptive QoS policy group creation
fb358e45f NetApp ONTAP: Add support for QoS minimums specs
4489ca332 PowerMax Driver - Initiator group contents check
b2f696361 PowerMax Driver - Allowing for all types of boolean in extra specs
cb02f9dfe PowerMax Driver - Offline r1 promotion fixes
8bb3f55db api-ref: Don't list HTTP 500 for backup create
2f5885e4b [SVF]: Fixed host and group failback issues
bb219d6b9 Pure Storage: check volumename length does not exceed maximum
17a25eafc [DS8K]: Support revert to snapshot
234f3358c [Pure] Add missing FC host personality support
9f0be9994 Tests: Don't assert notifier not called
cead51cea [Storwize] Provide IOPS based storage offering
6fc8086df doc: add specs repo maintenance tasks
881f72569 PowerMax Driver - Extend replicated volume
5e5ae0764 Hitachi: Trace REST API input/output logs
281dd75d3 PowerMax Driver - Fix pylint errors in test_common and provision
d57a40680 PowerMax Driver - U4P Failover SerialNumber KeyError fix
3343ca773 Hitachi: Use get_volume_stats in the base driver
2c99acd1f Fix in api-ref
41101463a [Pure] Fix failing consistency group tempest tests
ee84dd780 Resolve SAWarning SQLAlchemy warning
868646d28 Fix CI_WIKI_NAME entries
dc938a405 Use TOX_CONSTRAINTS_FILE
d99322ede Drop policy check failures to DEBUG
40d93a611 Fusionstorage Cinder Driver Support OceanStor 100D Storage.(dsware)
ca11345dc image_utils: Use QEMU_IMG_FORCE_SHARE_VERSION constant
01c9aba1f [SVF] Update volume replication properties
9b418e76a smbfs: set VHD UUID using volume UUID
11185189b TOYOU:  Abandon the target parameter and  Report SAN driver options
f8e569864 Simplify composite check strings for project personas
0c87d14f5 Make sure we pass context objects directly to policy enforcement
118da903b Properly handle InvalidScope exceptions
9fc6fab79 Update secure RBAC check strings with descriptions
3836a4927 Tests: Improve RBD v2 clone API unit tests
e175d64ca Add ports filtering support to Dell EMC XtremIO driver
2ae735bff Update to hacking 4.0.0
f26c6cac5 HPE: Add Peer Persistence support for Primera backend
4f5e9fd28 Use os-brick 4.2.0
e28e1a2f4 Move trace methods from utils to volume_utils
692b59185 Imported Translations from Zanata
2563dd3a1 Bump pylint to 2.6.0
02521d19f LVM: fix _create_vg
e7b467051 Move brick calls from cinder.utils to volume_utils
bc0fdbc7e vmware: Use cookiejar from oslo.vmware client directly
698ab86a7 mypy: annotate volume manager
5b3304cfc Add KIOXIA KumoScale NVMeOF driver
28fd75e9a Fix irrelevant-files for two devstack jobs
ff677d5ad doc: add rbd-iscsi-client info
bdbf5db85 Fix RBD_OPERATION_FEATURE_CLONE_PARENT in unittest
a99648424 Require oslo.serialization 4.1.0
85986751a Update ceph driver docs, mentioning Hyper-V support
f04140610 PowerMax Driver - Check for missing port group
f91aec586 Add encryption_key_id to volume and backup details
11704d0e8 RBD: Pass bytes type for mon_command inbuf
7dc8e486f Change the CLI document for the extend-attached-volume
203eb2cf8 Correct format string in error message
6cabe11c9 3PAR: Allow iSCSI driver to be enabled for Primera 4.2 onwards.
677ee75d5 Imported Translations from Zanata
efd836757 Log information about the Ceph v2 clone API
337248138 created s3 cinder backup driver
01f010011 Tests: Add another mock psutil in quobyte tests
56eaf475a Add ceph iscsi volume driver
fe0822b1b Add Cinder driver for TOYOU ACS5000
aa77afe31 Remove NestedQuotaDriver
3ce9d773a Label temporary files created by image_utils
1156c89c2 Update SolidFire Storage assisted migration in support-matrix
69f4f5ffe Pure: Add default value to pure_host_personality
e9d1bf8f6 Add driver for Dell EMC PowerVault ME Series
f3d116885 Imported Translations from Zanata
e9c848f5f Introduces MV to add volume type ID in volumes details
f19a92064 LVM: Support only LVM 2.02.107+
83e511e01 LVM: Use --readonly for lvs
5e2d30bd4 NetApp SolidFire: Refactor DuplicateSfVolumeNames exception
d3f4c5559 Tests: Fix rbd unit test failure due to ceph keyring file
723f1a242 Remove __unicode__() from CinderException
300353de8 doc: update release cycle tasks
d9c90cf48 tox mypy: Call mypywrap.sh directly
ce060323f pylint: run coding-checks.sh with bash
acfb3361c Hitachi: Wait until the volume can be deleted
7d705fcea Basic volume QoS doc.
f0652209f PowerMax Driver - Promotion RDF Group number fix
96f09aae5 Add docs and update support matrix for Hitachi driver
482e6a3cc Imported Translations from Zanata
f04d905a6 [RBD] Fix snapshot backup name
1631742f4 Correct group:reset_group_snapshot_status policy
d5750ea09 Imported Translations from Zanata
325001045 [goal] Deprecate the JSON formatted policy file
4ba6664de RBD: Change rbd_exclusive_cinder_pool's default
f845f9021 Imported Translations from Zanata
6231d2666 RBD: Retry delete if VolumeIsBusy in _copy_image_to_volume
d3ffa90ba Update requirements and lower-constraints
7d50d58b6 Add CHAP support to Dell EMC PowerStore driver
514ae3040 add openstack-python3-wallaby-jobs-arm64 job
114556934 [SVF]:Fix in change_vdisk_iogrp during retype
0a11cac11 Exception type is not iterable so should change it to string type
d729522ac [IBM DS8000]: Fix compatability issue in get_host
c0983a8e8 Imported Translations from Zanata
00ad39a60 PowerMax Driver - Fix assign SRP during promotion retype
6f5a3e1c2 Imported Translations from Zanata
0f04930fb Pure Storage FlashArray: Add active/active support
d56b47d33 [SVF]: Fixed host and group failover issues
3570a79a1 [SVF]:Fix clone fcmap not being deleted in cleanup
25cded9d1 Fix volume rekey during clone
e6ec3e9bf Pure Storage - bump version numbers for Wallaby
ceb502254 Tests: Move glance_stubs to glance dir
562cabc3f Clarify 'supported' reinstatement policy
a791d3032 [IBM DS8000] Support volume name template
3e607f1d8 Update doc contributor doc
ebcd36eda [Trivial]Add missing white space in the log message
c400c6d95 Imported Translations from Zanata
471a2790d Add Python3 wallaby unit tests
bb25e9550 Replace md5 with oslo version
2f5179147 doc: restrict supported Ceph versions
563c7e05f Tests: Improve get_qemu_img_version coverage
b62f250bc PowerMax Driver - Port status check
42c92cc40 NetApp SolidFire: Fix duplicate volume when API response is lost
8d0c08b4b NetApp SolidFire: Fix error on cluster workload rebalancing
0e2c5b7eb Add common RBAC personas to cinder/policies/base.py
fdc3711c9 Fix cinder-manage <category> traceback
03a8ca07d Imported Translations from Zanata
cddcc6e50 Delete TSM Backup driver
efce9c74d Update Development Environment documentation for Ubuntu
a5883f493 Doc:Storwize to Spectrum Virtualize Family
bf5e79c3c PowerMax Docs -  Victoria new features and supported software
1c5fa1921 Imported Translations from Zanata
22e008bf9 [Trivial]Fix unncessary "import xx as xx" renaming
d47aa082b Fix invalid asert_called_with statement
4394a027b [doc]Fix an invalid url link in docs
8d8d242c3 Do not fail when depth is greater than rbd_max_clone_depth
8ea6f8031 Imported Translations from Zanata
9fc2b031c Bump minimum version of oslo.log
06523d30a [SVF] RevertToSnapshot support for GM volumes
e68d33ef6 Make docs build parallel
8f28d9565 [Trivial] Fix missing print format and missing white spaces
c607a82a9 NetApp SolidFire: Fix clone and request timeout issues
d6df2c20c Remove collections.abc backwards compatibility
0359acf05 Imported Translations from Zanata
50a4592ef Fix cinder-manage cluster remove raising NoSuchOptError
6e53c264b Add mypy tox env
5f8acb5f9 Refactor some unit tests
72c6dc564 Remove six of files under cinder/test/unit
e02d90943 Remove six of dir cinder/volume/*
bafe440b9 RBD: Run flatten in a different thread when cloning a volume
dbcba9485 Import HTTPStatus instead of http_client (policy tests)
dea710d1e Preparing for removal of six.reraise()
a78a85181 Remove six of dir cinder/image/*
56ee0971b Nimble: Add support for revert to snapshot
e1e289ca8 Add Cinder driver for Open-E JovianDSS data storage
113026765 Remove six of dir cinder/tests/unit/api/*
d2346f8c6 Remove six of dir cinder/tests/unit/backup/*
6b067f2b4 Import HTTPStatus instead of http_client
04a2683b2 Remove six in files under cinder/*
02615bfe3 Remove six of dir cinder/tests/unit/volume&zonemanager/*
84975cce3 Remove six of dir cinder/tests/unit/policies&scheduler&targets/*
919cbbd4d Remove six of dir cinder/tests/functional&hacking/*
58108e1b6 Remove six of dir cinder/backup/*
b49bef7dd Remove six of dir cinder/scheduler/*
b477632a6 [IBM DS8K]: Fixed rest API issue to get bundle
18d869276 Remove six of dir cinder/brick,cinder/common,cinder/interface,cinder/objects
7be58ba69 Remove six of dir cinder/db/*
a85ce6c81 Remove six of dir cinder/api/*
6736945fe Reno: Use customized template
dc8d70908 Backup: Fix formatting errors
d739b8671 Critical fix for MSA 2060 and MSA 1060
d680a237e Fix service_get_log tests
acfc148d7 Imported Translations from Zanata
3adeb5c42 doc: update Brocade FCZM documentation
d7ff87ae5 Update new contributor doc
528af66ff [SVF]:changes in create_group_from_src for replicated groups
30571246b [Trivial]Add missing print format in log message
7d8989070 [SVF]:Reduce slowness by caching pool information
c8ce118f0 Imported Translations from Zanata
b746468b3 doc: update new driver merge deadline
91da9df53 Update master for stable/victoria
5032a6db0 [SVF]:Fixed create_flashcopy_to_consistgrp
4bb162e5e PowerMax Driver - Feedback on review 746486
568b279a8 Add support for system and domain scoped tokens
8d7a98b3e [SVF]: Support for retype operation on GM volumes
a7f9eda38 PowerMax Driver - Fix non-temporary snapshot delete
57892623d Disallow extension of attached volumes for NFS & Quobyte drivers
e1f517927 Remove install unnecessary packages
3d56b6dfd Don't create LOG if not logging
c7148b804 [api-ref]Add replication_status(optional) to List groups with details response
99d51ff67 Fix a typo in the explanatory note
a42a8e63d Stop configuring install_command in tox.
d72f738c0 Correcting the response status range in WsgiLimiterProxy
61d612e64 PowerMax Docs - Incorrect property set on volume group
a21bf4141 Fixed an issue with creating a backup from snapshot with NFS volume driver.
9893b1c95 Race in Cinder backup manager
941bf1f1a Switch from unittest2 compat methods to py3 methods
de8d05dff Remove unneeded arg from _clean_db (vol manager)
90be2b425 Add links to package metadata
e4582400b Remove lxml deprecated methods
d52ce1d53 tox: remove bash from whitelist_externals
0e92a480b Synology: Improve session expired error handling
951ffa437 3PAR: Workaround SSH logging issue
c6fc88a54 Doc: Add notes on create_cloned_volume locking
713b3572f Doc: Add max MV update step to cycle tasks


Diffstat (except docs and test files)
-------------------------------------

.gitignore                                         |    1 +
.gitreview                                         |    1 +
.zuul.yaml                                         |    6 +-
api-ref/source/v3/ext-backups.inc                  |    3 +-
api-ref/source/v3/groups.inc                       |    1 +
api-ref/source/v3/parameters.yaml                  |   64 +-
api-ref/source/v3/quota-sets.inc                   |   30 -
.../v3/samples/versions/version-show-response.json |    4 +-
.../v3/samples/versions/versions-response.json     |    4 +-
.../volumes/volumes-list-detailed-response.json    |    8 +-
api-ref/source/v3/volumes-v3-snapshots.inc         |    2 +-
api-ref/source/v3/volumes-v3-volumes.inc           |    4 +
cinder/api/api_utils.py                            |    5 +-
cinder/api/common.py                               |    6 +-
cinder/api/contrib/admin_actions.py                |   12 +-
cinder/api/contrib/backups.py                      |   10 +-
cinder/api/contrib/cgsnapshots.py                  |    9 +-
cinder/api/contrib/consistencygroups.py            |   10 +-
cinder/api/contrib/qos_specs_manage.py             |   31 +-
cinder/api/contrib/quotas.py                       |  256 +--
cinder/api/contrib/services.py                     |    7 +-
cinder/api/contrib/snapshot_actions.py             |    4 +-
cinder/api/contrib/snapshot_manage.py              |    4 +-
cinder/api/contrib/snapshot_unmanage.py            |    6 +-
cinder/api/contrib/types_extra_specs.py            |    5 +-
cinder/api/contrib/types_manage.py                 |   11 +-
cinder/api/contrib/volume_actions.py               |   32 +-
cinder/api/contrib/volume_image_metadata.py        |    5 +-
cinder/api/contrib/volume_manage.py                |    4 +-
cinder/api/contrib/volume_transfer.py              |    8 +-
cinder/api/contrib/volume_type_access.py           |    9 +-
cinder/api/contrib/volume_type_encryption.py       |    4 +-
cinder/api/contrib/volume_unmanage.py              |    6 +-
cinder/api/microversions.py                        |    4 +
cinder/api/middleware/auth.py                      |    5 +-
cinder/api/middleware/fault.py                     |    9 +-
cinder/api/openstack/api_version_request.py        |   10 +-
cinder/api/openstack/rest_api_version_history.rst  |   13 +-
cinder/api/openstack/wsgi.py                       |   52 +-
cinder/api/schemas/services.py                     |    6 +-
cinder/api/schemas/volume_manage.py                |    2 +-
cinder/api/v2/limits.py                            |    4 +-
cinder/api/v2/snapshot_metadata.py                 |    4 +-
cinder/api/v2/snapshots.py                         |    6 +-
cinder/api/v2/views/volumes.py                     |   10 +-
cinder/api/v2/volume_metadata.py                   |    4 +-
cinder/api/v2/volumes.py                           |    6 +-
cinder/api/v3/attachments.py                       |   12 +-
cinder/api/v3/consistencygroups.py                 |    4 +-
cinder/api/v3/default_types.py                     |   12 +-
cinder/api/v3/group_snapshots.py                   |   11 +-
cinder/api/v3/group_specs.py                       |    6 +-
cinder/api/v3/group_types.py                       |   15 +-
cinder/api/v3/groups.py                            |   18 +-
cinder/api/v3/messages.py                          |    4 +-
cinder/api/v3/snapshot_manage.py                   |    4 +-
cinder/api/v3/views/backups.py                     |    8 +
cinder/api/v3/views/volumes.py                     |   26 +
cinder/api/v3/volume_manage.py                     |    4 +-
cinder/api/v3/volume_metadata.py                   |   19 +-
cinder/api/v3/volume_transfer.py                   |    4 +-
cinder/api/v3/volumes.py                           |   11 +-
cinder/api/v3/workers.py                           |    4 +-
cinder/api/validation/parameter_types.py           |   16 +-
cinder/api/validation/validators.py                |    5 +-
cinder/api/versions.py                             |    4 +-
cinder/api/views/versions.py                       |    2 +-
cinder/backup/chunkeddriver.py                     |   22 +-
cinder/backup/driver.py                            |    4 +-
cinder/backup/drivers/ceph.py                      |   53 +-
cinder/backup/drivers/gcs.py                       |   17 +-
cinder/backup/drivers/s3.py                        |  376 ++++
cinder/backup/drivers/swift.py                     |   10 +-
cinder/backup/drivers/tsm.py                       |  515 -----
cinder/backup/manager.py                           |   30 +-
cinder/brick/local_dev/lvm.py                      |   21 +-
cinder/cmd/backup.py                               |    7 +-
cinder/cmd/manage.py                               |  222 ++-
cinder/cmd/status.py                               |   17 +-
cinder/common/config.py                            |    6 +
cinder/common/constants.py                         |    3 +
cinder/common/sqlalchemyutils.py                   |    1 -
cinder/context.py                                  |    5 +-
cinder/db/api.py                                   |   26 +-
cinder/db/base.py                                  |    3 +-
cinder/db/sqlalchemy/api.py                        |  766 ++++----
.../versions/132_create_default_volume_type.py     |    3 +-
.../141_add_quota_usage_unique_constraint.py       |   37 +
cinder/db/sqlalchemy/models.py                     |   19 +
cinder/exception.py                                |   17 +-
cinder/image/accelerator.py                        |    7 +-
cinder/image/cache.py                              |    9 +-
cinder/image/glance.py                             |   19 +-
cinder/image/image_utils.py                        |   20 +-
cinder/interface/base.py                           |    5 +-
cinder/interface/volume_driver.py                  |    4 +
cinder/locale/de/LC_MESSAGES/cinder.po             |  214 +-
cinder/locale/es/LC_MESSAGES/cinder.po             |  216 +-
cinder/locale/fr/LC_MESSAGES/cinder.po             |  213 +-
cinder/locale/it/LC_MESSAGES/cinder.po             |  224 +--
cinder/locale/ja/LC_MESSAGES/cinder.po             |  230 +--
cinder/locale/ko_KR/LC_MESSAGES/cinder.po          |  209 +-
cinder/locale/pt_BR/LC_MESSAGES/cinder.po          |  206 +-
cinder/locale/ru/LC_MESSAGES/cinder.po             |  204 +-
cinder/locale/zh_CN/LC_MESSAGES/cinder.po          |  199 +-
cinder/locale/zh_TW/LC_MESSAGES/cinder.po          |  180 +-
cinder/manager.py                                  |   23 +-
cinder/objects/base.py                             |   10 +-
cinder/objects/cleanable.py                        |    6 +-
cinder/objects/volume.py                           |   10 +-
cinder/objects/volume_type.py                      |    3 +-
cinder/opts.py                                     |   28 +-
cinder/policies/base.py                            |   53 +
cinder/policies/group_snapshot_actions.py          |    2 +-
cinder/policies/quotas.py                          |   12 -
cinder/policy.py                                   |   20 +-
cinder/quota.py                                    |  288 +--
cinder/quota_utils.py                              |  147 +-
cinder/rpc.py                                      |    5 +-
cinder/scheduler/base_weight.py                    |    4 +-
cinder/scheduler/evaluator/evaluator.py            |    3 +-
cinder/scheduler/filter_scheduler.py               |    2 +-
cinder/scheduler/filters/driver_filter.py          |    3 +-
cinder/scheduler/filters/json_filter.py            |    3 +-
cinder/scheduler/manager.py                        |    8 +-
cinder/scheduler/weights/goodness.py               |    3 +-
cinder/ssh_utils.py                                |    3 +-
.../volumes-list-detailed-response.json.tpl        |    8 +-
.../unit/api/contrib/test_consistencygroups.py     |  142 +-
.../contrib/test_extended_snapshot_attributes.py   |    6 +-
.../unit/api/contrib/test_qos_specs_manage.py      |    8 +-
.../unit/api/contrib/test_snapshot_actions.py      |   10 +-
.../unit/api/contrib/test_snapshot_unmanage.py     |    6 +-
.../api/contrib/test_volume_encryption_metadata.py |   33 +-
.../unit/api/contrib/test_volume_image_metadata.py |   18 +-
.../unit/api/contrib/test_volume_type_access.py    |    6 +-
.../api/contrib/test_volume_type_encryption.py     |   59 +-
.../unit/api/openstack/test_api_version_request.py |    3 +-
.../unit/api/openstack/test_versioned_method.py    |    4 +-
.../{glance/stubs.py => image/glance_stubs.py}     |    0
.../unit/policies/test_default_volume_types.py     |   25 +-
.../{glance => volume/drivers/ceph}/__init__.py    |    0
.../volume/drivers/ceph/fake_rbd_iscsi_client.py   |   25 +
.../ceph/fake_rbd_iscsi_client_exceptions.py       |  116 ++
.../unit/volume/drivers/ceph/test_rbd_iscsi.py     |  246 +++
.../test_initialize_connection_snapshot.py         |    4 +-
.../powerflex/test_revert_volume_to_snapshot.py    |    4 +-
.../drivers/dell_emc/powermax/powermax_data.py     |   35 +-
.../dell_emc/powermax/test_powermax_common.py      |  162 +-
.../dell_emc/powermax/test_powermax_masking.py     |  180 +-
.../dell_emc/powermax/test_powermax_replication.py |   35 +-
.../dell_emc/powermax/test_powermax_rest.py        |    6 +-
.../dell_emc/powermax/test_powermax_utils.py       |   50 +-
.../volume/drivers/dell_emc/powerstore/__init__.py |    4 +-
.../drivers/dell_emc/powerstore/test_base.py       |   95 +-
.../dell_emc/powerstore/test_replication.py        |  121 ++
.../test_snapshot_create_delete_revert.py          |   16 +-
.../powerstore/test_volume_attach_detach.py        |  103 +-
.../powerstore/test_volume_create_delete_extend.py |    9 +-
.../powerstore/test_volume_create_from_source.py   |   26 +-
.../test_volume_group_create_delete_update.py      |  144 ++
.../test_volume_group_create_from_source.py        |  112 ++
.../test_volume_group_snapshot_create_delete.py    |  101 +
.../unit/volume/drivers/dell_emc/test_xtremio.py   |   50 +-
.../volume/drivers/dell_emc/unity/test_adapter.py  |    6 +-
.../volume/drivers/dell_emc/vnx/test_client.py     |    2 +-
.../drivers/hitachi/test_hitachi_hbsd_rest_fc.py   |   42 +
.../unit/volume/drivers/ibm/test_ds8k_proxy.py     |  157 +-
.../volume/drivers/ibm/test_ibm_flashsystem.py     |    2 +-
.../unit/volume/drivers/ibm/test_storwize_svc.py   | 1407 ++++++++++---
.../drivers/inspur/instorage/test_fc_driver.py     |    2 +-
.../inspur/instorage/test_helper_routines.py       |   10 +-
.../drivers/netapp/dataontap/client/fakes.py       |  261 ++-
.../drivers/netapp/dataontap/client/test_api.py    |    4 +-
.../netapp/dataontap/client/test_client_base.py    |   12 +
.../netapp/dataontap/client/test_client_cmode.py   |  685 ++++++-
.../unit/volume/drivers/netapp/dataontap/fakes.py  |  129 ++
.../dataontap/performance/test_perf_cmode.py       |    9 +-
.../drivers/netapp/dataontap/test_block_base.py    |   19 +-
.../drivers/netapp/dataontap/test_block_cmode.py   |   50 +-
.../dataontap/test_block_driver_interfaces.py      |    7 +-
.../drivers/netapp/dataontap/test_nfs_base.py      |  285 ++-
.../drivers/netapp/dataontap/test_nfs_cmode.py     |  281 ++-
.../volume/drivers/netapp/dataontap/utils/fakes.py |   27 +-
.../netapp/dataontap/utils/test_capabilities.py    |  118 +-
.../netapp/dataontap/utils/test_data_motion.py     |  249 ++-
.../drivers/nexenta/test_nexenta5_jsonrpc.py       |    4 +-
.../volume/drivers/nexenta/test_nexenta5_nfs.py    |    4 +-
.../unit/volume/drivers/open_e/test_rest_proxy.py  |  325 +++
.../volume/drivers/solidfire/test_solidfire.py     |   24 +-
.../drivers/synology/test_synology_common.py       |    7 +-
.../unit/volume/drivers/test_macrosan_drivers.py   |   17 +-
.../unit/volume/drivers/toyou/test_acs5000.py      | 1362 +++++++++++++
.../drivers/veritas_access/test_veritas_iscsi.py   |    8 +-
.../volume/drivers/vmware/test_vmware_datastore.py |    2 +-
.../unit/volume/drivers/vmware/test_vmware_vmdk.py |    2 +-
.../unit/volume/flows/test_create_volume_flow.py   |   59 +-
.../zonemanager/test_brcd_http_fc_zone_client.py   |    3 +-
.../zonemanager/test_cisco_fc_zone_client_cli.py   |    1 -
.../unit/zonemanager/test_cisco_fc_zone_driver.py  |    4 +-
cinder/utils.py                                    |  271 +--
cinder/volume/api.py                               |   39 +-
cinder/volume/driver.py                            |   57 +-
cinder/volume/drivers/ceph/__init__.py             |    0
cinder/volume/drivers/ceph/rbd_iscsi.py            |  492 +++++
cinder/volume/drivers/datera/datera_api21.py       |    3 +-
cinder/volume/drivers/datera/datera_api22.py       |    3 +-
cinder/volume/drivers/datera/datera_common.py      |    2 +-
cinder/volume/drivers/datera/datera_iscsi.py       |    6 +-
cinder/volume/drivers/dell_emc/powermax/common.py  |   85 +-
cinder/volume/drivers/dell_emc/powermax/fc.py      |    5 +-
cinder/volume/drivers/dell_emc/powermax/iscsi.py   |    5 +-
cinder/volume/drivers/dell_emc/powermax/masking.py |  232 ++-
.../volume/drivers/dell_emc/powermax/provision.py  |    2 +-
cinder/volume/drivers/dell_emc/powermax/rest.py    |   10 +-
cinder/volume/drivers/dell_emc/powermax/utils.py   |   14 +-
.../volume/drivers/dell_emc/powerstore/adapter.py  |  803 +++++---
.../volume/drivers/dell_emc/powerstore/client.py   |  436 ++++-
.../volume/drivers/dell_emc/powerstore/driver.py   |  171 +-
.../volume/drivers/dell_emc/powerstore/options.py  |    7 +-
cinder/volume/drivers/dell_emc/powerstore/utils.py |   44 +
.../volume/drivers/dell_emc/powervault/__init__.py |    0
.../volume/drivers/dell_emc/powervault/client.py   |   24 +
.../volume/drivers/dell_emc/powervault/common.py   |   68 +
cinder/volume/drivers/dell_emc/powervault/fc.py    |   48 +
cinder/volume/drivers/dell_emc/powervault/iscsi.py |   51 +
.../drivers/dell_emc/sc/storagecenter_api.py       |   10 +-
.../volume/drivers/dell_emc/sc/storagecenter_fc.py |    2 +-
.../drivers/dell_emc/sc/storagecenter_iscsi.py     |    2 +-
cinder/volume/drivers/dell_emc/unity/adapter.py    |   14 +-
cinder/volume/drivers/dell_emc/unity/driver.py     |    2 +-
cinder/volume/drivers/dell_emc/vnx/client.py       |    2 +-
cinder/volume/drivers/dell_emc/vnx/driver.py       |    2 +-
cinder/volume/drivers/dell_emc/xtremio.py          |   72 +-
.../fujitsu/eternus_dx/eternus_dx_common.py        |    4 +-
cinder/volume/drivers/hitachi/hbsd_common.py       |   16 +-
cinder/volume/drivers/hitachi/hbsd_fc.py           |   48 +-
cinder/volume/drivers/hitachi/hbsd_iscsi.py        |   48 +-
cinder/volume/drivers/hitachi/hbsd_rest.py         |    3 +
cinder/volume/drivers/hitachi/hbsd_rest_api.py     |    2 +
cinder/volume/drivers/hpe/hpe_3par_base.py         |   56 +-
cinder/volume/drivers/hpe/hpe_3par_common.py       |    4 +
cinder/volume/drivers/hpe/hpe_3par_fc.py           |    6 +-
cinder/volume/drivers/hpe/hpe_3par_iscsi.py        |   26 +-
cinder/volume/drivers/huawei/huawei_utils.py       |    8 +-
cinder/volume/drivers/ibm/flashsystem_common.py    |   24 +-
cinder/volume/drivers/ibm/gpfs.py                  |    4 +-
.../volume/drivers/ibm/ibm_storage/ds8k_helper.py  |   53 +-
.../volume/drivers/ibm/ibm_storage/ds8k_proxy.py   |   42 +-
.../volume/drivers/ibm/ibm_storage/ibm_storage.py  |    4 +
cinder/volume/drivers/ibm/ibm_storage/proxy.py     |    5 +
.../volume/drivers/ibm/storwize_svc/replication.py |  120 +-
.../drivers/ibm/storwize_svc/storwize_const.py     |    5 +
.../ibm/storwize_svc/storwize_svc_common.py        |  833 +++++---
cinder/volume/drivers/infinidat.py                 |    8 +-
.../drivers/inspur/as13000/as13000_driver.py       |   66 +-
.../drivers/inspur/instorage/instorage_common.py   |   24 +-
.../drivers/inspur/instorage/instorage_fc.py       |    8 +-
.../drivers/inspur/instorage/instorage_iscsi.py    |   12 +-
.../volume/drivers/inspur/instorage/replication.py |    5 +-
.../volume/drivers/kaminario/kaminario_common.py   |   54 +-
cinder/volume/drivers/kaminario/kaminario_fc.py    |   10 +-
cinder/volume/drivers/kaminario/kaminario_iscsi.py |   11 +-
cinder/volume/drivers/kioxia/entities.py           |  467 +++++
cinder/volume/drivers/kioxia/kumoscale.py          |  490 +++++
cinder/volume/drivers/kioxia/rest_client.py        | 1055 ++++++++++
cinder/volume/drivers/macrosan/driver.py           |   34 +-
cinder/volume/drivers/nec/volume_helper.py         |    3 +-
.../volume/drivers/netapp/dataontap/block_base.py  |   20 +-
.../volume/drivers/netapp/dataontap/block_cmode.py |   26 +-
.../volume/drivers/netapp/dataontap/client/api.py  |    4 +-
.../drivers/netapp/dataontap/client/client_base.py |    8 +-
.../netapp/dataontap/client/client_cmode.py        |  448 ++++-
cinder/volume/drivers/netapp/dataontap/nfs_base.py |  207 +-
.../volume/drivers/netapp/dataontap/nfs_cmode.py   |  153 +-
.../netapp/dataontap/performance/perf_cmode.py     |   18 +-
.../drivers/netapp/dataontap/utils/capabilities.py |   90 +-
.../drivers/netapp/dataontap/utils/data_motion.py  |  177 +-
.../volume/drivers/netapp/dataontap/utils/utils.py |    6 +-
cinder/volume/drivers/netapp/options.py            |   14 +-
cinder/volume/drivers/netapp/utils.py              |  224 ++-
cinder/volume/drivers/nexenta/nfs.py               |    4 +-
cinder/volume/drivers/nexenta/ns5/jsonrpc.py       |    4 +-
cinder/volume/drivers/nexenta/ns5/nfs.py           |    4 +-
cinder/volume/drivers/nfs.py                       |   19 +-
cinder/volume/drivers/nimble.py                    |  283 ++-
cinder/volume/drivers/open_e/__init__.py           |    0
cinder/volume/drivers/open_e/iscsi.py              | 1028 ++++++++++
.../drivers/open_e/jovian_common/__init__.py       |    0
.../drivers/open_e/jovian_common/exception.py      |   88 +
.../drivers/open_e/jovian_common/jdss_common.py    |  112 ++
cinder/volume/drivers/open_e/jovian_common/rest.py |  893 +++++++++
.../drivers/open_e/jovian_common/rest_proxy.py     |  201 ++
cinder/volume/drivers/open_e/options.py            |   48 +
cinder/volume/drivers/pure.py                      |  241 ++-
cinder/volume/drivers/quobyte.py                   |    6 +
cinder/volume/drivers/rbd.py                       |   67 +-
cinder/volume/drivers/remotefs.py                  |   43 +-
cinder/volume/drivers/rsd.py                       |   23 +-
cinder/volume/drivers/solidfire.py                 |  145 +-
cinder/volume/drivers/storpool.py                  |    2 +-
cinder/volume/drivers/stx/client.py                |   87 +-
cinder/volume/drivers/stx/common.py                |    4 +-
cinder/volume/drivers/synology/synology_common.py  |    8 +-
cinder/volume/drivers/toyou/__init__.py            |    0
cinder/volume/drivers/toyou/acs5000/__init__.py    |    0
.../volume/drivers/toyou/acs5000/acs5000_common.py |  827 ++++++++
.../volume/drivers/toyou/acs5000/acs5000_iscsi.py  |  108 +
.../volume/drivers/veritas_access/veritas_iscsi.py |    8 +-
cinder/volume/drivers/vmware/vmdk.py               |    2 +-
cinder/volume/drivers/windows/smbfs.py             |   21 +-
cinder/volume/drivers/zadara.py                    |  753 -------
cinder/volume/drivers/zadara/__init__.py           |    0
cinder/volume/drivers/zadara/common.py             |  517 +++++
cinder/volume/drivers/zadara/exception.py          |   53 +
cinder/volume/drivers/zadara/zadara.py             |  729 +++++++
cinder/volume/flows/api/create_volume.py           |    3 +-
cinder/volume/flows/common.py                      |    3 +-
cinder/volume/flows/manager/create_volume.py       |    8 +-
cinder/volume/group_types.py                       |    3 +-
cinder/volume/manager.py                           |  506 +++--
cinder/volume/rpcapi.py                            |    7 +-
cinder/volume/targets/driver.py                    |    4 +-
cinder/volume/targets/nvmet.py                     |    3 +-
cinder/volume/volume_types.py                      |    8 +-
cinder/volume/volume_utils.py                      |  259 ++-
.../admin/blockstorage-consistency-groups.rst      |   49 +-
.../admin/blockstorage-volume-multiattach.rst      |   17 +-
.../configuration/block-storage/backup-drivers.rst |    2 +-
.../block-storage/backup/s3-backup-driver.rst      |   20 +
.../block-storage/backup/tsm-backup-driver.rst     |   34 -
.../block-storage/block-storage-overview.rst       |   15 +-
.../drivers/ceph-rbd-volume-driver.rst             |   59 +-
.../drivers/dell-emc-powermax-driver.rst           |  463 ++++-
.../drivers/dell-emc-powerstore-driver.rst         |  107 +-
.../drivers/dell-emc-powervault-me.rst             |  172 ++
.../drivers/dell-emc-xtremio-driver.rst            |   11 +
.../block-storage/drivers/hitachi-vsp-driver.rst   |  160 ++
.../block-storage/drivers/hp-msa-driver.rst        |    6 +-
.../block-storage/drivers/hpe-3par-driver.rst      |   10 +-
.../drivers/ibm-storwize-svc-driver.rst            |  155 +-
.../drivers/kioxia-kumoscale-driver.rst            |   67 +
.../block-storage/drivers/nimble-volume-driver.rst |    4 +-
.../drivers/open-e-joviandss-driver.rst            |  198 ++
.../block-storage/drivers/pure-storage-driver.rst  |   14 +
.../block-storage/drivers/toyou-acs5000-driver.rst |   72 +
.../block-storage/drivers/zadara-volume-driver.rst |    8 +-
.../configuration/block-storage/fc-zoning.rst      |   10 +-
.../configuration/block-storage/nested-quota.rst   |  172 --
.../block-storage/policy-config-HOWTO.rst          |    7 +
.../block-storage/samples/policy.yaml.rst          |   19 +-
.../configuration/block-storage/volume-drivers.rst |    2 +
.../block-storage/volume-encryption.rst            |    5 +-
.../configuration/tables/cinder-storwize.inc       |   48 +-
.../contributor/drivers_locking_examples.rst       |   28 +
driver-requirements.txt                            |    3 +
etc/cinder/rootwrap.d/volume.filters               |    3 -
lower-constraints.txt                              |  250 ++-
mypy-files.txt                                     |    6 +
releasenotes/notes/1899512-7a872a2c19e53536.yaml   |    4 +
releasenotes/notes/1918099-18b26dd9107f19c0.yaml   |    6 +
...abled-or-snapshot_enabled-72f669fe2719ce3d.yaml |    6 +
...evert-to-snapshot-support-ea0e06e14a8710ee.yaml |    4 +
...er_Support_OceanStor_100D-d21a300fd27b2440.yaml |    5 +
...ewlayout-support-features-ffa20694c008ba86.yaml |   14 +
...ryption-key-id-to-details-e721977fba0f2b51.yaml |    6 +
...announce-ceph-min-version-4eddb0def1c39928.yaml |   32 +
.../notes/backup_s3_driver-238e3612acd7cc06.yaml   |    7 +
...-cert-and-snapshot-revert-b34f352754ad07de.yaml |    7 +
.../bp-kumoscale-driver-3a01460f1aa83939.yaml      |    5 +
...-netapp-flexgroup-support-c462fca33f0d8906.yaml |   37 +
...netapp-ontap-adaptive-qos-45891585a91eab75.yaml |   11 +
...-ontap-min-throughput-qos-cd3812df5c7da8fd.yaml |   13 +
.../bp-powerstore-cg-support-ac1842d2041dcbfd.yaml |    4 +
...store-replication-support-700016b83437602e.yaml |   10 +
.../bp-toyou-acs5000-driver-16449ca18280def3.yaml  |    5 +
...onsistency_group_failures-bb2a976dfe9454a4.yaml |    6 +
.../notes/bug-1870103-013e314e9a5b8e08.yaml        |    7 +
...port_volume_name_template-91e1b70ece172ef8.yaml |    6 +
...ug-1887859-backup-manager-fb8dbf289eedc4b0.yaml |    6 +
.../notes/bug-1887962-643379faf20f01cf.yaml        |    7 +
...-backup-from-nfs-snapshot-2e06235eb318b852.yaml |    6 +
...s-not-deleting-in-cleanup-f5bbb467be1b889d.yaml |    8 +
...ashcopy_to_consistgrp_fix-9eeea4aaceb8a191.yaml |    7 +
...ion-is-not-saved-in-stats-22f302d941cd9fe2.yaml |    7 +
...is-not-validated-for-host-4ec0d1bd14281c77.yaml |    7 +
...nage-cluster-remove-raising-nosuchopterror.yaml |    6 +
...T-API-issue-to-get-bundle-198a3b89255759bb.yaml |    6 +
...vdisk_iogrp-during-retype-ef83ccf27d8829f5.yaml |    9 +
...lover-switch-relationship-9d3c58822a8c918c.yaml |    7 +
.../notes/bug-1898918-b24a93d7d5aff238.yaml        |    7 +
.../notes/bug-1900979-powerstore-chap-support.yaml |    5 +
...9-xtremio-ports-filtering-e68f90d47f17a7d9.yaml |    5 +
.../notes/bug-1901241-361b1b361bfa5152.yaml        |    8 +
...ype-compatability-support-a86f608d8c014a29.yaml |    6 +
.../bug-1904440-clone-rekey-fd57a2b5f6224e0f.yaml  |    8 +
...g-1904892-ipv6-nfs-manage-391118115dfaaf54.yaml |    7 +
.../notes/bug-1905564-e7dcf28fd734d3b2.yaml        |    7 +
...ume-iops-throttling-issue-b2b89e31af5973b2.yaml |    7 +
...lback-switch-relationship-b5b7320811688cda.yaml |    7 +
.../notes/bug-1907964-9277e5ddec2abeda.yaml        |   11 +
.../notes/bug-1908315-020fea3e244d49bb.yaml        |   38 +
...te-replication-properties-68c4f9ea56df212d.yaml |    7 +
...ap-volume-is-not-deleting-a94291248f8f59cd.yaml |    6 +
.../notes/bug-1913449-4796b366ae7e871b.yaml        |    7 +
...backup-remove-export-race-941e2ab1f056e54c.yaml |    8 +
...e-iscsi-targets-filtering-9623ac03da5c6721.yaml |    8 +
.../notes/bug_1870367-49b74d10a9bfcf07.yaml        |    7 +
.../notes/ceph-iscsi-driver-b515bd7fb73ce13b.yaml  |    6 +
.../cgroups-v1-status-note-b1eff0e1907aa0f2.yaml   |   30 +
...rbd_exclusive_cinder_pool-e59c528c7f728780.yaml |   17 +
.../cinder-clone-encrypted-a28338e2b1838a63.yaml   |    6 +
.../cinder-manage-quota-ed4ee17f7097d11f.yaml      |    6 +
.../delete-tsm-backup-driver-725e33f7c213fd50.yaml |    4 +
.../dell-emc-pvme-driver-9333594b2cc1e0b5.yaml     |    4 +
...son-formatted-policy-file-dc3441a7b1dbfb47.yaml |   12 +
.../fix-manage-no-action-46b023476e8cd938.yaml     |    7 +
...ix-show-volume-non-admins-1bc5238398e73981.yaml |    7 +
...-fix-delete-volume-issues-e648525e597505fd.yaml |    6 +
.../hpe-3par-pp-primera-a3442d004545b3a9.yaml      |    5 +
...pe-3par-primera-add-iscsi-5af339643dfa0928.yaml |    5 +
...Ps-based-storage-offering-1b7532f42fd6d76e.yaml |    6 +
.../joviandss-iscsi-driver-0becc6ee6a0b3c0a.yaml   |    6 +
.../notes/lvm-delete-error-f12da00c1b3859dc.yaml   |    6 +
...-minimum-version-2-02-107-df4551d088f8b5a3.yaml |    4 +
releasenotes/notes/msa2060-99150398a9c416f6.yaml   |    7 +
...-fix-for-glance-api-calls-469b992adc5f49ff.yaml |   12 +
...v-volume-type-name-and-id-5f4fd8480874fe9b.yaml |    7 +
...onsistency-groups-support-7c932d5557fa725e.yaml |    4 +
...-expand-replicated-volume-124c62ea78b1c347.yaml |    6 +
.../powermax_initiator_check-249279d30e3f8322.yaml |    6 +
...ax_port-check_enhancement-c95dd94328f31524.yaml |    6 +
.../promotion_offline_r1_fix-f7a008d0d13a3eff.yaml |    8 +
.../promotion_rdfg_num_fix-65a5838277ac8edf.yaml   |    6 +
...ure-active-active-support-dbd0d3da3ab64e64.yaml |    7 +
.../pure-storage-add-qos-37958a90beff12d6.yaml     |    4 +
.../pure_fc_personality-3cada97fc940e498.yaml      |    5 +
.../pure_tempest_cg_fix-913d405f7487de00.yaml      |    5 +
...-on-retype-with-snapshots-2d9fc7b2c75f899d.yaml |    7 +
.../quota-sync-migrating-2c99e134e117a945.yaml     |    7 +
.../quota-sync-temporary-b4103ebc2c484c89.yaml     |    8 +
...ota-until_refresh-updated-d35e8530f30c5522.yaml |    6 +
.../quota-usage-duplicates-c00725089da7bbd8.yaml   |    5 +
...emove-nested-quota-driver-8b56f03694e3a694.yaml |    6 +
...nd-request-timeout-issues-56f7a7659c7ec775.yaml |    7 +
...icate-volume-request-lost-adefacda1298dc62.yaml |   14 +
...or-on-cluster-rebalancing-515bf41104cd181a.yaml |    8 +
.../store-volume-format-info-1e17e029a9a9e578.yaml |   11 +
...for-global-mirror-volumes-e7091ac130e41cbd.yaml |    5 +
...pshot-globalmirror-volume-e70fdb9115020283.yaml |    4 +
...y-encryption-known-issues-4078b6b066e51553.yaml |   64 +
.../notes/wallaby-prelude-661b619978e1b339.yaml    |    5 +
releasenotes/source/index.rst                      |    1 +
.../locale/en_GB/LC_MESSAGES/releasenotes.po       | 2059 +++++++++++++++++++-
releasenotes/source/victoria.rst                   |    6 +
reno.yaml                                          |   84 +
requirements.txt                                   |  117 +-
setup.cfg                                          |   18 +
test-requirements.txt                              |   22 +-
tools/coding-checks.sh                             |    2 +-
tools/mypywrap.sh                                  |   24 +
tox.ini                                            |   34 +-
601 files changed, 35170 insertions(+), 12129 deletions(-)


Requirements updates
--------------------

diff --git a/driver-requirements.txt b/driver-requirements.txt
index 2330f305b..307153250 100644
--- a/driver-requirements.txt
+++ b/driver-requirements.txt
@@ -29,0 +30,3 @@ rbd # LGPLv2.1
+# RBD-iSCSI
+rbd-iscsi-client # Apache-2.0
+
diff --git a/requirements.txt b/requirements.txt
index 98695d376..48af461c4 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -5,6 +5,6 @@
-pbr!=2.1.0,>=5.4.1 # Apache-2.0
-decorator>=4.1.0 # BSD
-eventlet>=0.26.0 # MIT
-greenlet>=0.4.15 # MIT
-httplib2>=0.9.1 # MIT
-importlib_metadata>=1.7.0;python_version<'3.8' # Apache-2.0
+pbr>=5.5.1 # Apache-2.0
+decorator>=4.4.2 # BSD
+eventlet>=0.30.1 # MIT
+greenlet>=0.4.16 # MIT
+httplib2>=0.18.1 # MIT
+importlib_metadata>=3.1.1;python_version<'3.8' # Apache-2.0
@@ -13,21 +13,21 @@ jsonschema>=3.2.0 # MIT
-keystoneauth1>=3.14.0 # Apache-2.0
-keystonemiddleware>=4.21.0 # Apache-2.0
-lxml>=4.2.0 # BSD
-oauth2client!=4.0.0,>=1.5.0 # Apache-2.0
-oslo.config>=6.11.0 # Apache-2.0
-oslo.concurrency>=3.26.0 # Apache-2.0
-oslo.context>=2.23.0 # Apache-2.0
-oslo.db>=6.0.0 # Apache-2.0
-oslo.log>=3.44.0 # Apache-2.0
-oslo.messaging>=6.4.0 # Apache-2.0
-oslo.middleware>=3.31.0 # Apache-2.0
-oslo.policy>=1.44.1 # Apache-2.0
-oslo.privsep>=2.3.0 # Apache-2.0
-oslo.reports>=1.18.0 # Apache-2.0
-oslo.rootwrap>=5.8.0 # Apache-2.0
-oslo.serialization>=2.25.0 # Apache-2.0
-oslo.service>=2.0.0 # Apache-2.0
-oslo.upgradecheck>=0.1.0 # Apache-2.0
-oslo.utils>=3.40.2 # Apache-2.0
-oslo.versionedobjects>=1.31.2 # Apache-2.0
-osprofiler>=1.4.0 # Apache-2.0
+keystoneauth1>=4.2.1 # Apache-2.0
+keystonemiddleware>=9.1.0 # Apache-2.0
+lxml>=4.5.2 # BSD
+oauth2client>=4.1.3 # Apache-2.0
+oslo.config>=8.3.2 # Apache-2.0
+oslo.concurrency>=4.4.0 # Apache-2.0
+oslo.context>=3.1.1 # Apache-2.0
+oslo.db>=8.4.0 # Apache-2.0
+oslo.log>=4.4.0 # Apache-2.0
+oslo.messaging>=12.5.0 # Apache-2.0
+oslo.middleware>=4.1.1 # Apache-2.0
+oslo.policy>=3.6.2 # Apache-2.0
+oslo.privsep>=2.4.0 # Apache-2.0
+oslo.reports>=2.2.0 # Apache-2.0
+oslo.rootwrap>=6.2.0 # Apache-2.0
+oslo.serialization>=4.1.0 # Apache-2.0
+oslo.service>=2.5.0 # Apache-2.0
+oslo.upgradecheck>=1.1.1 # Apache-2.0
+oslo.utils>=4.8.0 # Apache-2.0
+oslo.versionedobjects>=2.3.0 # Apache-2.0
+osprofiler>=3.4.0 # Apache-2.0
@@ -35,17 +35,17 @@ packaging>=20.4
-paramiko>=2.7.1 # LGPLv2.1+
-Paste>=2.0.2 # MIT
-PasteDeploy>=1.5.0 # MIT
-psutil>=3.2.2 # BSD
-pyparsing>=2.2.1 # MIT
-python-barbicanclient>=4.9.0 # Apache-2.0
-python-glanceclient>=2.15.0 # Apache-2.0
-python-keystoneclient>=3.15.0 # Apache-2.0
-python-novaclient>=9.1.0 # Apache-2.0
-python-swiftclient>=3.2.0 # Apache-2.0
-pytz>=2015.7 # MIT
-requests>=2.18.0,!=2.20.0 # Apache-2.0
-Routes>=2.3.1 # MIT
-taskflow>=3.8.0 # Apache-2.0
-rtslib-fb>=2.1.65 # Apache-2.0
-six>=1.11.0 # MIT
-SQLAlchemy>=1.3.0 # MIT
+paramiko>=2.7.2 # LGPLv2.1+
+Paste>=3.4.3 # MIT
+PasteDeploy>=2.1.0 # MIT
+psutil>=5.7.2 # BSD
+pyparsing>=2.4.7 # MIT
+python-barbicanclient>=5.0.1 # Apache-2.0
+python-glanceclient>=3.2.2 # Apache-2.0
+python-keystoneclient>=4.1.1 # Apache-2.0
+python-novaclient>=17.2.1 # Apache-2.0
+python-swiftclient>=3.10.1 # Apache-2.0
+pytz>=2020.1 # MIT
+requests>=2.25.1 # Apache-2.0
+Routes>=2.4.1 # MIT
+taskflow>=4.5.0 # Apache-2.0
+rtslib-fb>=2.1.74 # Apache-2.0
+six>=1.15.0 # MIT
+SQLAlchemy>=1.3.19 # MIT
@@ -53,14 +53,15 @@ sqlalchemy-migrate>=0.13.0 # Apache-2.0
-stevedore>=1.31.0 # Apache-2.0
-tabulate>=0.8.5 # MIT
-tenacity>=6.1.0 # Apache-2.0
-WebOb>=1.7.1 # MIT
-oslo.i18n>=3.24.0 # Apache-2.0
-oslo.vmware>=2.35.0 # Apache-2.0
-os-brick>=4.0.1 # Apache-2.0
-os-win>=4.2.0 # Apache-2.0
-tooz>=1.58.0 # Apache-2.0
-google-api-python-client>=1.4.2 # Apache-2.0
-castellan>=1.3.0 # Apache-2.0
-cryptography>=2.1.4 # BSD/Apache-2.0
-cursive>=0.2.1 # Apache-2.0
-zstd>=1.4.5.0 # BSD
+stevedore>=3.2.2 # Apache-2.0
+tabulate>=0.8.7 # MIT
+tenacity>=6.3.1 # Apache-2.0
+WebOb>=1.8.6 # MIT
+oslo.i18n>=5.0.1 # Apache-2.0
+oslo.vmware>=3.8.0 # Apache-2.0
+os-brick>=4.3.1 # Apache-2.0
+os-win>=5.4.0 # Apache-2.0
+tooz>=2.7.1 # Apache-2.0
+google-api-python-client>=1.11.0 # Apache-2.0
+castellan>=3.6.0 # Apache-2.0
+cryptography>=3.1 # BSD/Apache-2.0
+cursive>=0.2.2 # Apache-2.0
+zstd>=1.4.5.1 # BSD
+boto3>=1.16.51 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 251ba522c..591debf04 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -6 +6 @@
-hacking>=3.1.0,<3.2.0 # Apache-2.0
+hacking>=4.0.0,<4.1.0 # Apache-2.0
@@ -10,3 +10,3 @@ flake8-logging-format>=0.6.0 # Apache-2.0
-stestr>=2.2.0 # Apache-2.0
-coverage!=4.4,>=4.1 # Apache-2.0
-ddt>=1.2.1 # MIT
+stestr>=3.1.0 # Apache-2.0
+coverage>=5.5 # Apache-2.0
+ddt>=1.4.1 # MIT
@@ -14,4 +14,4 @@ fixtures>=3.0.0 # Apache-2.0/BSD
-oslotest>=3.2.0 # Apache-2.0
-PyMySQL>=0.8.0 # MIT License
-psycopg2>=2.8 # LGPL/ZPL
-SQLAlchemy-Utils>=0.36.1 # BSD License
+oslotest>=4.4.1 # Apache-2.0
+PyMySQL>=0.10.0 # MIT License
+psycopg2>=2.8.5 # LGPL/ZPL
+SQLAlchemy-Utils>=0.36.8 # BSD License
@@ -23,3 +23,3 @@ bandit==1.6.0 # Apache-2.0
-doc8>=0.6.0 # Apache-2.0
-reno>=3.1.0 # Apache-2.0
-Pygments>=2.2.0 # BSD license
+doc8>=0.8.1 # Apache-2.0
+mypy>=0.782 # MIT
+moto>=1.3.15 # Apache-2.0






More information about the Release-announce mailing list