[release-announce] cinder 21.0.0 (zed)

no-reply at openstack.org no-reply at openstack.org
Wed Oct 5 12:29:43 UTC 2022


We are thrilled to announce the release of:

cinder 21.0.0: OpenStack Block Storage

This release is part of the zed 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.

21.0.0
^^^^^^

Bug Fixes

* RBD Driver bug #1957073
  (https://bugs.launchpad.net/cinder/+bug/1957073): Fixed snapshot
  deletion failure when its volume doesn't exist.

Changes in cinder 20.0.0.0rc1..21.0.0
-------------------------------------

f1ebe259d Revert "PowerFlex driver - fix the display of the incorrect volume"
fa9d323aa Fix release note for bug 1957073
d0a59a6fc Clarify description of encrypted volume transfer mv
511888faf Clarify encrypted volume transfer release note
cf1089814 rbd: Fix snapshot delete when the source volume doesn't exist
9b9ba1338 Ceph backup: Close source file
fda8d5280 Update TOX_CONSTRAINTS_FILE for stable/zed
11cd71a6e Update .gitreview for stable/zed
ee67921a7 Fix Infinidat driver to use TLS/SSL communication
f9201fb55 lightos: parse urls with urlparse for ipv6 support
f1bb51c25 RBD backend QoS implementation
9cf599064 Infinidat: support for manage/unmanage API
1ae4ac448 PowerMax Driver - Fix for renaming GVG
2c25e2259 Infinidat: add support for revert to snapshot operation
bf091e285 Dell EMC Unity driver in cinder
bced44cb4 Imported Translations from Zanata
94c4eee52 Fix a typo in cinder/volume/drivers/infinidat.py
856d3e108 Fix and unify capacity calculations
ecefc7d67 Support os-brick specific lock_path
b0b35a874 NetApp ONTAP: Add revert to snapshot functions on REST client
1c3972752 NetApp ONTAP: Add volume migration functions on REST client
d2b302885 Hitachi: fix to output resource lock message correctly
a83b46b85 Imported Translations from Zanata
560ae9d66 NetApp ONTAP: Add volume replication functions on REST client
686eb45e1 Lightos - add lightos new volume states
0a33ddd68 NetApp NFS ONTAP: Deprecate Copy Offload Tool
147637b63 NetApp NFS: Clone image using copy file operation
00481aed7 NetApp ONTAP: Add core functions on REST client
4775ca937 NetApp ONTAP: Add REST Client for ONTAP
c112542cf HPE 3PAR: Fix umanaged volumes & snapshots missing
f0dded4d8 Imported Translations from Zanata
bf3e51e5b [Pure Storage] Add replication support for NVMe driver
f6a1b9c3e Fix a deprecation warning about regex
6eb2f4fb7 Update nova microversion for volume backed instance rebuild
dc7c10148 db: Remove weird error handling code
0eb2d1f0a db: Remove unnecessary engine facade decorator
31cce0257 Tests: Randomize tests
138a22cb8 Tests: Fix linstor tests
fbf981afd Tests: Fix versions view
6c96b1999 Tests: Fix PowerMax tests
da377fbd2 Tests: Fix cmd tests
685e35c9b Tests: Fix NFS tests
8524779a6 Tests: Fix NetApp tests
73a53892b Tests: Fix Pure test
e22789943 Tests: Fix zone manager tests
c46d41719 Serialize message_* properties of RequestContext
d59e41fb3 Add support for transferring encrypted volumes
05de32ece Fix volume caching in PowerFlex driver
023fa94bd Tests: Fix IBM XIV
493d0e6fc Tests: Fix 3par
e92c4d01d Tests: fix quobyte breaking other tests
b50847a0c Tests: Fix inspur unit test
eb8409b3a Tests: Fix test runner never finishing
9dc820f2a TOX: Document install_command usage
81f117c55 Tests: Monkey patch before logs are loaded
1ef8e3ddc Tests: Fix service stopping on cleanup
10c96c297 Replace base64.encodestring with encodebytes
dc6388b6f Update volume delete api-ref
2b731c820 [docs] Add info about releases
aef79bcbd Inspur: : Eliminate timed delays in unit tests
f3c1ed28d Veritas: Eliminate timed delays in unit tests
566e744eb Hitachi: Eliminate timed delays in unit tests
f8e3d952f NetApp: Eliminate timed delays in unit tests
d021a7098 DataCore: Eliminate timed delays in unit tests
2b752938e Doc: To update the portset feature details in IBM Spectrum Virtualize user guide
0df29396b [SVf] : Fix the SVC code level for lsfcportsetmember call
9ad1bb865 Address G004 in flake8-logging-format 0.7.4
43d851abb DEMC: Add support for trim/discard
b1b09d408 PowerFlex driver - fix the display of the incorrect volume size on volume or snapshot creation.
6dd5e20c2 NetApp SolidFire: Fix RecursionError accessing undefined attributes
76947588d Imported Translations from Zanata
dfbcca0d8 Add Pure Storage NVMe-RoCE driver
dd2980e63 Add NVMe/TCP support to Dell EMC PowerStore driver
a5ce77168 Add Cinder NFS driver for Dell PowerStore
c54e6b26e Add additional transport type constants
693446394 Initial commit for Yadro Tatlin.UNIFIED driver
809433118 Change cinder-mypy job to voting
d5058ed59 mypy: work around mypy bug #13214
e1138a126 Tests: RBD: Refactor mocks
6be6add3f Fix mypy job
a25dcc851 Fix Infinidat driver to return all iSCSI portals
374efd157 [SVf]: Incorrect portset value during driver intialization
a287eb35a Bump mypy version to 0.960
475445113 tests: Address UserWarning in tests
d153ff262 HPE3PAR: Correct volume name in ERROR log
a4ab9220f PowerStore driver - Request data validation fix
9509eb1c3 Move NFS job to voting
27b34f688 db: Remove irrelevant TODO
e2dd2e3c0 Remove return from rpc cast method
75d5fabff Add a check for virtual_size at API layer
78775f2de Update docs for Hitachi driver
7bd5f899f Imported Translations from Zanata
9eccdc2fa mypy: cinder/api/common.py
be100f18e Reintroduce DataCore driver
60c2a46d3 Fix flapping storage_protocol in get-pools
befa5b5be Move bandit requirements to tox.ini
6d0a4432a Bump moto version to support py3.9
8a890c836 PowerMax Driver - Manage volume into correct storage group
69839a714 Update docs for powervault driver compatability
a423d9f9d Log when waiting to acquire coordinator lock
4c24a3a54 mypy: api_utils
8e0075fcc tests: Fix invalid test
ef910e59d db: Remove resolved TODO
3073d698f db: Remove use of 'as_scalar()'
dce5f293f db: Don't use strings to indicate relationship names
58f97d052 db: Don't use legacy calling style of select()
77c924593 db: Don't use strings to indicate column, relationship paths
2ebaeba38 db: Don't pass strings to Connection.execute
10ca6cb65 Resolve invalid UUID warning
99457e307 db: Pass case.whens as positionals, not a list
0569e3450 models: Remove implicit coercion of SELECT to scalar subquery
238e7f892 tests: Enable SQLAlchemy 2.0 deprecation warnings
5c7fd3a70 Revert "Cleanup code duplication in cinder.cmd.backup module"
a4ea2db29 NetApp ONTAP: Fix type error exception in get_volume_state
633c1fa9d Don't limit use of importlib-metadata to Python < 3.8
25d70a00c db: Move comment
52d6fb4ac Remove redundant line from host_manager.py
db95afc1a pylint: Add additional ignored-modules
573a39eb1 ibm_storage: Remove unused _get_os_type method
147b24a00 PowerMax Driver - Check for moving to same target
a719525c1 Add image_conversion_disable config
405173d47 Remove use of mock CONF object
13d2d0e3c [docs] Update PTL info in contributor guide
ffe87d17b Imported Translations from Zanata
70590f991 Groups: remove unneeded "status" variable
7851d9173 tox.ini: combine functional-py* envs
ef1650f87 Tests: Extend RBD deferred deletion interval
ef741228d Report tri-state shared_targets for NVMe volumes
e65c01af7 PowerMax Docs - Known issues section
c577d184f pylint: skip ManageResource Mixin
e6a264e4a mypy: service.py
04b6700f4 mypy: cinder/volume/volume_types.py
cc160815b docs: update release cycle tasks
b235048d6 Ceph: Remove unnecessary convert_str() calls
0d300c96a Scheduler Evaluator: raise recursion limit
5179e4f6b Use modern type annotation format for collections
5bf919dc1 Glance: remove _extract_attributes method
2f060e037 pylint: ibm_storage: Fix E0601 used-before-assignment error
c1626d24b pylint: volume/api: Fix E0601 error
6b7111878 cmd/manage and coordination: Clean up exception handling
e6f4ce1c4 pylint: Remove invalid pylint disable in Nexenta driver
8b55f6f1b pylint: tidy up clean_volume_locks
970ac584d pylint: Fix vmdk driver use before definition
66b44b8f3 pylint: ignore __original_module_threading errors
56d27404c [IBM DS8000] Fixed Detach for multi-attach volumes
52c8fd58b Remove single-use test function
98acb8222 RBD: Fix _show_msg_check_clone_v2_api
dfb658aa5 mypy: annotate image/glance.py
d41abbf53 Increase swap size to 4GB
e071ee263 Docs: Document clone_image driver method
270763214 Doc: Improve name_id documentation
7755f8cdd Add releasenotes to drop python3.6|7
7b05eabac mypy: annotate remotefs
33de36884 Address pylint error
2caeccf3b db: Remove unnecessary session management
2b75fa302 Update Volume Delete rejection message
88769c61f Tests: add microversion consistency unit tests
b6559c117 Seagate/Lenovo drivers: Update get_driver_options
77c886ab1 backup/swift: Add support sending service user token
7e04b5b0d Handle the case when tempest fails
3ed2f38e5 HPE 3PAR: In multi host env, fix multi-detach operation
d1fd57ed5 Remove reference to removed nfs_*_ratio options
7ee223837 Fix example of failed migrarion for LVM->RBD
be3a8279f Correct VolumeMigrationStatusField
53c13891b Prevent temporary volume from being deleted accidentally
998a654d7 Add REIMAGE_VOLUME message action
42c645052 Drop python3.6 support in testing runtime
91085df70 Run pylint tox env on all files by default
24cd0920f Remove contrib/block-box from zuul config
685c5fb95 [SVf] Delete/Extend issue in reverse replication
6386cbb0a Don't destroy existing backup by mistake on import
228d1c5e6 releasenotes: correct formatting error
0e6ba4834 Change key "cluster" to "cluster_name"
5cb4e21d9 Rename Dell EMC to Dell
ddc0d39b3 [doc] update releasecycle tasks
cf6e53b2e Add review best practices section
76de76646 [SVf]:Fix multiple lsvdisk calls for GMCV create volume operation
3e068b5ce Imported Translations from Zanata
9cb338b82 [doc] update driver review checklist
b45379de3 Add statement about CI for backports
39e518456 Fix reported storage_protocol
68311a079 Fix cacheable capability
f8f9bfabf [SVf] Resize of GMCV volumes in group
b99e73e96 [SVf]:Fix retype failure for replication volume-type
e6c535bf2 Remove reference to non-existing nfs_disk_util parameter
b661d115f Added documentation about backup_file_size about memory usage
2b01518b0 db: Remove unused API
c4a4c91ee db: Remove final users of 'get_session'
62ade4243 db: Final cleanup for context-based enginefacade
044790bd2 db: Migrate 'purge_deleted_rows' to enginefacade
2727029bc db: Migrate online upgrade helpers to enginefacade
8c65f4b6c db: Migrate "worker" APIs to enginefacade
3a3c29160 db: Migrate "image volume cache" APIs to enginefacade
43c1f3107 db: Migrate "driver initiator data" APIs to enginefacade
3975230ca db: Migrate "message" APIs to enginefacade
1cc431f1e db: Migrate "group snapshot" APIs to enginefacade
bef3b3e6d db: Migrate "cg snapshot" APIs to enginefacade
14d49f35b db: Migrate "group" APIs to enginefacade
1435349ee db: Migrate "consistency group" APIs to enginefacade
630e10e54 db: Migrate "transfer" APIs to enginefacade
d032bd7fb db: Migrate "backup", "backup metadata" APIs to enginefacade
0ac23f8ae db: Migrate "volume glance metadata" APIs to enginefacade
df50d6322 db: Migrate "volume type encryption" APIs to enginefacade
8a6721de6 db: Migrate "qos specs" APIs to enginefacade
55ea73523 db: Migrate "volume type specs", "group type specs" APIs to enginefacade
d0b0869d4 db: Migrate "volume type", "group type" APIs to enginefacade
a3e4cc030 db: Migrate "snapshot metadata" APIs to enginefacade
2e8c5363e db: Migrate "snapshot" APIs to enginefacade
0a4a23514 db: Migrate "volume metadata" APIs to enginefacade
4ffe3139c db: Migrate "volume", "volume attachment" APIs to enginefacade
bc9397073 db: Migrate "quota usage", "quota reservation" APIs to enginefacade
7c3f9b0b1 db: Migrate "quota class" APIs to enginefacade
29a43abd5 db: Migrate "quota" APIs to enginefacade
bb2e0023d db: Migrate "cluster" APIs to enginefacade
8bf3d8593 db: Migrate "service" APIs to enginefacade
a80580477 db: Indicate functions that should not be converted yet
36c530676 db: Drop support for MySQL 5.5
18d833dc8 Bump mypy version to 0.942
71a2b4fc2 Add info about code coverage job
a37daf96c Remove privsep/hscli
01010152b cmd/manage: Correct db_sync() return
b1ed75aa4 Tests: Add alembic to pylint ignores
5dbd94c73 Bump pylint to 2.13.4
8ea82668a RBD: Use static methods where possible
bf23678fe Honor multipath config everywhere
90abed0a4 Fix wrong attribute to find remote address
61fa40b2b [docs] Update cinder-stable-maint description
6474afc3d Warn on driver detach errors
3b13eab89 NetApp ONTAP: Fixed get_ontap_version
2c4e0d4f8 Remove unneeded volume_types.get_all_types_by_group method
12a3e2050 PowerMax Docs - Clarify Replication Group
d83a2289d Fix QOS computation
d9d7f20c2 Change unsupported fileno() LOG to debug
04da59177 Imported Translations from Zanata
3d3b06179 Imported Translations from Zanata
74ce9c604 Remove extra volume_type DB fetch on volume manage
3ab151cdb [doc] Add info about backport policies
d54e6cc6b Stop removing .pyc files for unit test runs
087ed3808 Tests: Reduce time waiting in Hitachi HBSD tests
07e0156c2 mypy: ceph backup driver
8088dc958 Prohibit volume manage to an encrypted volume type
ce4cae9bf Docs: fix small typo on contributor gerrit
f2835f056 Pure Storage - bump version numbers for Zed
7a575388f Tests: Reduce time waiting in Hitachi HBSD tests
ccb18625b RBD: Remove last usage of "six" from RBD driver
8537730c8 Add Python3 zed unit tests
fcf8ab1d8 Update master for stable/yoga
e87bc62f1 Update doc8 ignore-path
f8bc4abee tests: Correct typo
d3afa4db0 mypy: set no_implicit_optional
b99f2a493 db: Remove 'use_slave' arguments
ebed7c270 tests: Don't use mock.Mock as fake context
c4e9c4d05 tests: Silence a number of warnings
ffb6ef6c4 tests: Restore - don't reset - warning filters
a3256416c Hitachi: Add port scheduler
8f50a9fd2 Replace distutils with packaging in 3rd party drivers
eba7286a0 Fix deprecation warnings caused by invalid UUIDs
6dda4bec2 Drivers: remove unused code
72962934a Add grenade-skip-level irrelevant-files config
6e836bda3 In support matrix, move Nimble driver entries next to HPE driver
a1e34fc6d Add a unit test to keep microversions.py up to date
98f77d167 Only init message API in create volume when needed
373696fd5 Don't init backup API code for each create volume request
06b2b983d Solidfire: Clean up remaining usage of removed parameters
bf0b6e794 Update new driver review checklist
42810d1a3 mypy: policy.py
6b97abc4e SF: Remove compat clone image code
20ab3134c PowerMax Driver - Retry on a symmetrix lock
1f67b918a api-ref: include links on backups list and details
84e2a47bc Add missing kwargs for spdk driver initialize_connection function
66fe1c17d JovianDSS: fix default value in documentation
e1f6de6f8 PowerMax Driver - Improve error handling around deletes
35acd2b0a Sync rootwrap.conf from oslo.rootwrap
1b2742a3d NetApp: Support custom igroups
0df989f76 PowerMax Driver - Empty port info response
1bf615615 PowerFlex: update supported versions in driver documentation
b7466f54f NetApp ONTAP: Fix check QoS min support for SVM account
862edca0d NFS: Fix generic revert to snapshot flow
b7b830e9a NetApp SolidFire: Fix request errors while Element OS upgrade
daf77efad Fix PowerFlex connector HTTPS certificate validation
d6a603c48 doc: RBD: add documentation to configure RBD mirroring
a8dc2be08 Make extension manager parameter optional
e726c0794 RBD: Don't flatten temporary resources
52dfbcb3e PowerMax Driver - allow for None values in metadata
049549eeb Modify manner of retrieving volume_ref
a5c80032f [NetApp] Fix iSCSI CHAP auth issue during volume attach
7feafe808 Fix unnecessary migration on retype


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

.gitreview                                         |    1 +
.pylintrc                                          |    5 +-
.zuul.yaml                                         |   18 +-
api-ref/source/v3/ext-backups.inc                  |    2 +
api-ref/source/v3/parameters.yaml                  |   22 +
.../v3/samples/versions/version-show-response.json |    4 +-
.../v3/samples/versions/versions-response.json     |    4 +-
.../volumes/v3.69/volume-create-response.json      |   41 +
.../volumes/v3.69/volume-show-response.json        |   45 +
.../volumes/v3.69/volume-update-response.json      |   43 +
.../v3.69/volumes-list-detailed-response.json      |   47 +
.../source/v3/samples/worker-cleanup-request.json  |    2 +-
api-ref/source/v3/volume-manage.inc                |    6 +-
api-ref/source/v3/volumes-v3-volumes.inc           |   12 +-
cinder/api/api_utils.py                            |   53 +-
cinder/api/common.py                               |  102 +-
cinder/api/contrib/volume_manage.py                |    3 +
cinder/api/microversions.py                        |    4 +
cinder/api/middleware/auth.py                      |    2 +-
cinder/api/openstack/api_version_request.py        |    6 +-
cinder/api/openstack/rest_api_version_history.rst  |   17 +
cinder/api/v3/views/volumes.py                     |   11 +-
cinder/api/v3/volume_transfer.py                   |    8 +-
cinder/api/v3/volumes.py                           |    2 +-
cinder/api/views/capabilities.py                   |    9 +-
cinder/api/views/scheduler_stats.py                |   12 +-
cinder/backup/api.py                               |  105 +-
cinder/backup/chunkeddriver.py                     |    4 +-
cinder/backup/drivers/ceph.py                      |  252 +-
cinder/backup/drivers/posix.py                     |    5 +-
cinder/backup/drivers/swift.py                     |   54 +-
cinder/backup/manager.py                           |    6 +-
cinder/backup/rpcapi.py                            |    2 +-
cinder/cmd/api.py                                  |    2 +-
cinder/cmd/backup.py                               |   26 +-
cinder/cmd/manage.py                               |  206 +-
cinder/cmd/scheduler.py                            |    2 +-
cinder/cmd/volume.py                               |    4 +-
cinder/common/constants.py                         |   33 +
cinder/common/sqlalchemyutils.py                   |   14 +-
cinder/compute/nova.py                             |    4 +-
cinder/context.py                                  |   21 +-
cinder/coordination.py                             |   39 +-
cinder/db/api.py                                   |   33 +-
.../c92a3e68beed_make_shared_targets_nullable.py   |   50 +
cinder/db/sqlalchemy/api.py                        | 7596 ++++++++++++--------
cinder/db/sqlalchemy/models.py                     |   20 +-
cinder/exception.py                                |   16 +-
cinder/flow_utils.py                               |   10 +-
cinder/image/glance.py                             |  174 +-
cinder/image/image_utils.py                        |  102 +-
cinder/interface/volume_driver.py                  |   89 +-
cinder/keymgr/transfer.py                          |  107 +
cinder/locale/de/LC_MESSAGES/cinder.po             | 5978 ---------------
cinder/locale/es/LC_MESSAGES/cinder.po             | 5841 ---------------
cinder/locale/ja/LC_MESSAGES/cinder.po             |   15 +-
cinder/locale/ko_KR/LC_MESSAGES/cinder.po          |   15 +-
cinder/locale/zh_CN/LC_MESSAGES/cinder.po          |   40 +-
cinder/manager.py                                  |    3 -
cinder/message/message_field.py                    |   11 +
cinder/objects/fields.py                           |    2 +-
cinder/objects/volume.py                           |   20 +
cinder/objects/volume_type.py                      |    2 +-
cinder/opts.py                                     |   16 +
cinder/policy.py                                   |   36 +-
cinder/privsep/hscli.py                            |   44 -
cinder/rpc.py                                      |    6 +-
cinder/scheduler/base_weight.py                    |   18 +-
cinder/scheduler/evaluator/evaluator.py            |   15 +-
cinder/scheduler/filter_scheduler.py               |   15 +-
cinder/scheduler/filters/capacity_filter.py        |   50 +-
cinder/scheduler/filters/driver_filter.py          |   34 +-
cinder/scheduler/flows/create_volume.py            |    8 +-
cinder/scheduler/host_manager.py                   |   53 +-
cinder/scheduler/rpcapi.py                         |   16 +-
cinder/scheduler/weights/goodness.py               |   35 +-
cinder/service.py                                  |   92 +-
cinder/service_auth.py                             |   21 +-
.../api/contrib/test_volume_encryption_metadata.py |    6 +-
.../unit/attachments/test_attachments_manager.py   |    2 +
.../volume/drivers/datacore/test_datacore_api.py   |  732 ++
.../drivers/datacore/test_datacore_driver.py       |  773 ++
.../volume/drivers/datacore/test_datacore_fc.py    |  294 +
.../volume/drivers/datacore/test_datacore_iscsi.py |  590 ++
.../drivers/datacore/test_datacore_passwd.py       |  288 +
.../volume/drivers/datacore/test_datacore_utils.py |   78 +
.../volume/drivers/dell_emc/powerflex/__init__.py  |    3 +
.../dell_emc/powerflex/test_create_snapshot.py     |   24 +
.../drivers/dell_emc/powermax/powermax_data.py     |   17 +-
.../dell_emc/powermax/powermax_fake_objects.py     |    5 +-
.../dell_emc/powermax/test_powermax_common.py      |  376 +-
.../drivers/dell_emc/powermax/test_powermax_fc.py  |   17 +-
.../dell_emc/powermax/test_powermax_iscsi.py       |   13 +-
.../dell_emc/powermax/test_powermax_masking.py     |   61 +-
.../dell_emc/powermax/test_powermax_metadata.py    |   31 +
.../dell_emc/powermax/test_powermax_migrate.py     |    6 +-
.../dell_emc/powermax/test_powermax_performance.py |    6 +-
.../dell_emc/powermax/test_powermax_provision.py   |    8 +-
.../dell_emc/powermax/test_powermax_replication.py |   46 +-
.../dell_emc/powermax/test_powermax_rest.py        |  209 +-
.../dell_emc/powermax/test_powermax_utils.py       |   23 +-
.../volume/drivers/dell_emc/powerstore/__init__.py |    5 +
.../drivers/dell_emc/powerstore/test_base.py       |   22 +-
.../drivers/dell_emc/powerstore/test_client.py     |  103 +
.../volume/drivers/dell_emc/powerstore/test_nfs.py |  462 ++
.../dell_emc/powerstore/test_replication.py        |    5 +-
.../powerstore/test_volume_attach_detach.py        |   34 +
.../volume/drivers/dell_emc/unity/test_adapter.py  |    4 +-
.../volume/drivers/dell_emc/vnx/test_adapter.py    |    2 +-
.../drivers/hitachi/test_hitachi_hbsd_rest_fc.py   |   55 +-
.../hitachi/test_hitachi_hbsd_rest_iscsi.py        |   48 +-
.../unit/volume/drivers/ibm/test_storwize_svc.py   |  434 +-
.../unit/volume/drivers/ibm/test_xiv_proxy.py      |    2 +-
.../drivers/inspur/as13000/test_as13000_driver.py  |    8 +-
.../drivers/inspur/instorage/test_replication.py   |    4 +
.../volume/drivers/lightos/test_lightos_storage.py |  158 +-
.../drivers/netapp/dataontap/client/fakes.py       | 1489 +++-
.../drivers/netapp/dataontap/client/test_api.py    |  330 +-
.../netapp/dataontap/client/test_client_base.py    |   53 +-
.../netapp/dataontap/client/test_client_cmode.py   |   51 +-
.../dataontap/client/test_client_cmode_rest.py     | 3709 ++++++++++
.../unit/volume/drivers/netapp/dataontap/fakes.py  |  254 +-
.../drivers/netapp/dataontap/test_block_base.py    |   27 +-
.../drivers/netapp/dataontap/test_block_cmode.py   |   65 +-
.../drivers/netapp/dataontap/test_nfs_cmode.py     |  208 +-
.../netapp/dataontap/utils/test_capabilities.py    |   40 -
.../netapp/dataontap/utils/test_data_motion.py     |   31 +-
.../drivers/netapp/dataontap/utils/test_utils.py   |   52 +-
.../volume/drivers/solidfire/test_solidfire.py     |   37 +-
.../drivers/veritas_access/test_veritas_iscsi.py   |    4 +-
.../volume/drivers/yadro/test_tatlin_client.py     |  452 ++
.../volume/drivers/yadro/test_tatlin_common.py     |  519 ++
.../unit/volume/drivers/yadro/test_tatlin_iscsi.py |  338 +
.../unit/volume/drivers/yadro/test_tatlin_utils.py |   83 +
.../unit/volume/flows/test_create_volume_flow.py   |   69 +-
.../unit/zonemanager/test_brcd_fc_zone_driver.py   |   16 +-
.../unit/zonemanager/test_cisco_fc_zone_driver.py  |   23 +-
cinder/transfer/api.py                             |   42 +-
cinder/utils.py                                    |  165 +-
cinder/volume/api.py                               |   78 +-
cinder/volume/driver.py                            |   73 +-
cinder/volume/driver_utils.py                      |    5 +-
cinder/volume/drivers/ceph/rbd_iscsi.py            |   15 +-
cinder/volume/drivers/datacore/api.py              | 1065 +++
cinder/volume/drivers/datacore/driver.py           |  845 +++
cinder/volume/drivers/datacore/exception.py        |   36 +
cinder/volume/drivers/datacore/fc.py               |  376 +
cinder/volume/drivers/datacore/iscsi.py            |  446 ++
cinder/volume/drivers/datacore/passwd.py           |  165 +
cinder/volume/drivers/datacore/utils.py            |   72 +
cinder/volume/drivers/datera/datera_api21.py       |    3 +-
cinder/volume/drivers/datera/datera_api22.py       |    3 +-
cinder/volume/drivers/dell_emc/powerflex/driver.py |   29 +-
.../drivers/dell_emc/powerflex/rest_client.py      |    8 +
cinder/volume/drivers/dell_emc/powerflex/utils.py  |    4 +-
cinder/volume/drivers/dell_emc/powermax/common.py  |  190 +-
cinder/volume/drivers/dell_emc/powermax/fc.py      |    7 +-
cinder/volume/drivers/dell_emc/powermax/iscsi.py   |    7 +-
cinder/volume/drivers/dell_emc/powermax/masking.py |  201 +-
.../volume/drivers/dell_emc/powermax/metadata.py   |   16 +-
.../volume/drivers/dell_emc/powermax/provision.py  |    7 +-
cinder/volume/drivers/dell_emc/powermax/rest.py    |  165 +-
cinder/volume/drivers/dell_emc/powermax/utils.py   |    3 +
.../volume/drivers/dell_emc/powerstore/adapter.py  |  117 +-
.../volume/drivers/dell_emc/powerstore/client.py   |   66 +-
.../volume/drivers/dell_emc/powerstore/driver.py   |   11 +-
cinder/volume/drivers/dell_emc/powerstore/nfs.py   |  238 +
.../volume/drivers/dell_emc/powerstore/options.py  |    7 +-
cinder/volume/drivers/dell_emc/powerstore/utils.py |   11 +-
.../drivers/dell_emc/sc/storagecenter_api.py       |    3 +-
.../drivers/dell_emc/sc/storagecenter_common.py    |    3 +-
.../volume/drivers/dell_emc/sc/storagecenter_fc.py |    3 +-
cinder/volume/drivers/dell_emc/unity/adapter.py    |    9 +-
cinder/volume/drivers/dell_emc/unity/utils.py      |    4 +-
cinder/volume/drivers/dell_emc/xtremio.py          |    5 +-
.../drivers/fujitsu/eternus_dx/eternus_dx_fc.py    |    3 +-
.../drivers/fujitsu/eternus_dx/eternus_dx_iscsi.py |    3 +-
cinder/volume/drivers/fusionstorage/dsware.py      |    3 +-
cinder/volume/drivers/hedvig/hedvig_cinder.py      |    3 +-
cinder/volume/drivers/hitachi/hbsd_common.py       |  132 +-
cinder/volume/drivers/hitachi/hbsd_fc.py           |    3 +
cinder/volume/drivers/hitachi/hbsd_iscsi.py        |    1 +
cinder/volume/drivers/hitachi/hbsd_rest.py         |    6 +-
cinder/volume/drivers/hitachi/hbsd_rest_api.py     |    2 +-
cinder/volume/drivers/hitachi/hbsd_rest_fc.py      |  174 +-
cinder/volume/drivers/hitachi/hbsd_rest_iscsi.py   |   14 +-
cinder/volume/drivers/hitachi/hbsd_utils.py        |   60 +-
cinder/volume/drivers/hpe/hpe_3par_base.py         |   14 +
cinder/volume/drivers/hpe/hpe_3par_common.py       |  160 +-
cinder/volume/drivers/hpe/hpe_3par_fc.py           |    3 +-
cinder/volume/drivers/hpe/hpe_3par_iscsi.py        |    3 +-
cinder/volume/drivers/hpe/nimble.py                |   31 +-
cinder/volume/drivers/huawei/huawei_driver.py      |    5 +-
cinder/volume/drivers/ibm/flashsystem_common.py    |    4 +-
cinder/volume/drivers/ibm/gpfs.py                  |    5 +-
.../volume/drivers/ibm/ibm_storage/ds8k_helper.py  |   56 +-
.../volume/drivers/ibm/ibm_storage/ds8k_proxy.py   |   13 +-
cinder/volume/drivers/ibm/ibm_storage/proxy.py     |    7 -
.../volume/drivers/ibm/storwize_svc/replication.py |  112 +-
.../ibm/storwize_svc/storwize_svc_common.py        |  275 +-
.../drivers/ibm/storwize_svc/storwize_svc_iscsi.py |    3 +-
cinder/volume/drivers/infinidat.py                 |  469 +-
.../drivers/infortrend/raidcmd_cli/common_cli.py   |    1 -
.../drivers/inspur/as13000/as13000_driver.py       |    4 +-
.../drivers/inspur/instorage/instorage_common.py   |   28 +-
.../volume/drivers/kaminario/kaminario_common.py   |    8 +-
cinder/volume/drivers/kaminario/kaminario_fc.py    |    3 +-
cinder/volume/drivers/kaminario/kaminario_iscsi.py |    3 +-
cinder/volume/drivers/kioxia/kumoscale.py          |    3 +-
cinder/volume/drivers/lenovo/lenovo_common.py      |    8 +
cinder/volume/drivers/lenovo/lenovo_fc.py          |    2 +-
cinder/volume/drivers/lenovo/lenovo_iscsi.py       |    3 +-
cinder/volume/drivers/lightos.py                   |   29 +-
cinder/volume/drivers/linstordrv.py                |   20 +-
cinder/volume/drivers/macrosan/devop_client.py     |   22 -
cinder/volume/drivers/macrosan/driver.py           |    5 +-
cinder/volume/drivers/nec/cli.py                   |   52 -
cinder/volume/drivers/nec/volume_common.py         |   12 -
cinder/volume/drivers/nec/volume_helper.py         |    5 +-
.../volume/drivers/netapp/dataontap/block_base.py  |   35 +-
.../volume/drivers/netapp/dataontap/block_cmode.py |  102 +-
.../volume/drivers/netapp/dataontap/client/api.py  |  250 +-
.../drivers/netapp/dataontap/client/client_base.py |   21 +-
.../netapp/dataontap/client/client_cmode.py        |   84 +-
.../netapp/dataontap/client/client_cmode_rest.py   | 2521 +++++++
cinder/volume/drivers/netapp/dataontap/nfs_base.py |   21 +-
.../volume/drivers/netapp/dataontap/nfs_cmode.py   |  140 +-
.../drivers/netapp/dataontap/utils/capabilities.py |   50 +-
.../drivers/netapp/dataontap/utils/data_motion.py  |   27 +-
.../volume/drivers/netapp/dataontap/utils/utils.py |   32 +-
cinder/volume/drivers/netapp/options.py            |   29 +-
cinder/volume/drivers/netapp/utils.py              |    9 +
cinder/volume/drivers/nexenta/iscsi.py             |    3 +-
cinder/volume/drivers/nexenta/nfs.py               |    5 +-
cinder/volume/drivers/nexenta/ns5/iscsi.py         |    3 +-
cinder/volume/drivers/nexenta/ns5/nfs.py           |    3 +-
cinder/volume/drivers/nexenta/utils.py             |    5 -
cinder/volume/drivers/nfs.py                       |    8 +
cinder/volume/drivers/open_e/iscsi.py              |    3 +-
.../drivers/open_e/jovian_common/jdss_common.py    |    2 +-
cinder/volume/drivers/prophetstor/dpl_fc.py        |   19 +-
cinder/volume/drivers/prophetstor/dpl_iscsi.py     |    3 +-
cinder/volume/drivers/prophetstor/dplcommon.py     |   15 +-
cinder/volume/drivers/pure.py                      |  236 +-
cinder/volume/drivers/qnap.py                      |    3 +-
cinder/volume/drivers/rbd.py                       |  493 +-
cinder/volume/drivers/remotefs.py                  |  356 +-
cinder/volume/drivers/rsd.py                       |   11 +-
cinder/volume/drivers/san/san.py                   |    4 -
cinder/volume/drivers/sandstone/sds_driver.py      |    3 +-
cinder/volume/drivers/solidfire.py                 |  127 +-
cinder/volume/drivers/spdk.py                      |    7 +-
cinder/volume/drivers/storpool.py                  |    3 +-
cinder/volume/drivers/stx/client.py                |    8 -
cinder/volume/drivers/stx/common.py                |    8 +
cinder/volume/drivers/stx/fc.py                    |    7 +-
cinder/volume/drivers/stx/iscsi.py                 |    7 +-
.../volume/drivers/toyou/acs5000/acs5000_common.py |    3 +-
cinder/volume/drivers/toyou/acs5000/acs5000_fc.py  |    3 +-
.../volume/drivers/toyou/acs5000/acs5000_iscsi.py  |    3 +-
.../volume/drivers/veritas_access/veritas_iscsi.py |    4 +-
cinder/volume/drivers/veritas_cnfs.py              |    3 +-
cinder/volume/drivers/vmware/fcd.py                |    3 +-
cinder/volume/drivers/vmware/vmdk.py               |    5 +-
cinder/volume/drivers/windows/iscsi.py             |    3 +-
cinder/volume/drivers/windows/smbfs.py             |    8 -
cinder/volume/drivers/yadro/__init__.py            |    0
cinder/volume/drivers/yadro/tatlin_api.py          |   28 +
cinder/volume/drivers/yadro/tatlin_client.py       |  673 ++
cinder/volume/drivers/yadro/tatlin_common.py       |  778 ++
cinder/volume/drivers/yadro/tatlin_exception.py    |   27 +
cinder/volume/drivers/yadro/tatlin_iscsi.py        |  174 +
cinder/volume/drivers/yadro/tatlin_utils.py        |   88 +
cinder/volume/drivers/zadara/common.py             |   12 -
cinder/volume/drivers/zadara/exception.py          |    4 -
cinder/volume/drivers/zadara/zadara.py             |    5 +-
cinder/volume/flows/api/create_volume.py           |   26 +-
cinder/volume/flows/manager/create_volume.py       |   59 +-
cinder/volume/manager.py                           |  123 +-
cinder/volume/rpcapi.py                            |    8 +-
cinder/volume/targets/iet.py                       |    4 +-
cinder/volume/targets/iscsi.py                     |    3 +-
cinder/volume/targets/nvmeof.py                    |    3 +-
cinder/volume/volume_types.py                      |  118 +-
cinder/volume/volume_utils.py                      |   84 +-
.../drivers/ceph-rbd-volume-driver.rst             |   80 +
.../drivers/datacore-volume-driver.rst             |  370 +
.../drivers/dell-emc-powerflex-driver.rst          |   30 +-
.../drivers/dell-emc-powermax-driver.rst           |  106 +-
.../drivers/dell-emc-powerstore-driver.rst         |   29 +-
.../drivers/dell-emc-powerstore-nfs.rst            |   61 +
.../drivers/dell-emc-powervault-me.rst             |   13 +-
.../drivers/dell-emc-unity-driver.rst              |    8 +-
.../block-storage/drivers/dell-emc-vnx-driver.rst  |    2 +-
.../drivers/dell-emc-xtremio-driver.rst            |    2 +-
.../drivers/dell-storagecenter-driver.rst          |   28 +-
.../block-storage/drivers/hitachi-vsp-driver.rst   |   29 +-
.../drivers/infinidat-volume-driver.rst            |   19 +
.../drivers/open-e-joviandss-driver.rst            |   10 +-
.../block-storage/drivers/pure-storage-driver.rst  |   25 +-
.../drivers/yadro-tatlin-volume-driver.rst         |  125 +
.../configuration/tables/cinder-storwize.inc       |    2 +
.../contributor/drivers_locking_examples.rst       |    6 +-
driver-requirements.txt                            |    3 +
etc/cinder/rootwrap.conf                           |    6 +
etc/cinder/rootwrap.d/volume.filters               |    3 +
mypy-files.txt                                     |    8 +
playbooks/tempest-and-cinderlib-run.yaml           |    7 +-
...dd-datacore-volume-driver-5c1802798425acc1.yaml |    4 +
.../added-virtual-size-check-42a84f6b24366e5d.yaml |   10 +
..._disable_image_conversion-ebf33ce9d5edf724.yaml |   36 +
...nidat-add-snapshot-revert-1bab97e85ff10780.yaml |    4 +
...erstore-nfs-cinder-driver-b743a8a89acafa35.yaml |    4 +
...dro-tatlin-unified-driver-122218f077d70312.yaml |    4 +
...th-issue-in-netapp-driver-e92eaa431d6fcbac.yaml |    7 +
...or-certificate-validation-707b4f9f2077d4bc.yaml |    4 +
.../notes/bug-1936848-6ecc78e0e970419a.yaml        |    8 +
...api-raise-attribute-error-40efd74bb92b9482.yaml |   10 +
...-manage-to-encrypted-type-b5b5d7f8360f037f.yaml |    8 +
..._for_multi_attach_volumes-b86940efafa926f2.yaml |    8 +
...057-fix-get-ontap-version-4d9fa1f6c5d2eaf3.yaml |    7 +
.../notes/bug-1957073-0d1307a8637a62b7.yaml        |    6 +
..._of_GMCV_volumes_in_group-f9a176153518204c.yaml |    7 +
...ue_in_reverse_replication-952164a73b336a6d.yaml |    7 +
...r_create_volume_operation-338b009bca72ee60.yaml |    7 +
...1965847-fix-backup-import-3b3ccdf740a13cff.yaml |    7 +
..._for_volume_part_of_group-59e3f5d652a4707c.yaml |    7 +
...r_replication_volume-type-4e0671b299315f4b.yaml |    8 +
...rs-used-in-reimage-volume-48d5b8008ec82ea6.yaml |    5 +
...g-1970768-temp-vol-delete-6586a13f08d7a5c1.yaml |    6 +
..._the_wrong_SVC_code_level-db06c4eca902f389.yaml |    7 +
...bug-1978729-cinder-backup-4cd87c4d71b7713e.yaml |    8 +
...nidat-iscsi-fix-multipath-3f8a0be5f541c66e.yaml |    7 +
...infinidat-fix-ssl-options-6ddd852c24b16760.yaml |    9 +
...ror_w.r.t_default_portset-3992a060cca2adcb.yaml |    7 +
.../ceph-backup-no-flatten-36557727e9d73b2b.yaml   |    7 +
...ackup-swift-service-token-9b86e8e73ebd2a22.yaml |    9 +
releasenotes/notes/demc-trim-bb2165f74a5703a6.yaml |   13 +
releasenotes/notes/diff-srps-674f2c0cc893db4b.yaml |    8 +
.../drop-mysql-5-5-support-fe3ececc3c9b9915.yaml   |    4 +
.../drop-python-3-6-and-3-7-fa2dda5d6be0cad6.yaml  |    5 +
.../fix-cacheable-capability-f893520d79c3db60.yaml |    5 +
.../fix-netapp-custom-igroup-e049b4f3b341dd54.yaml |    5 +
.../fix-nfs-revert-to-snap-adc04204b3661d66.yaml   |    6 +
...ix-powerflex-volume-cache-da3fa1769ef78ae8.yaml |   10 +
.../fix-storage_protocol-6baf55e13249463c.yaml     |   19 +
...ssary-migration-on-retype-67cedb1bd8e4c4b2.yaml |    6 +
.../notes/get-driver-opts-924f72346ca1e459.yaml    |    5 +
...vsp-fix-resource-lock-msg-5a119426e6c65998.yaml |    6 +
...itachi-vsp-port-scheduler-207e01b3cd13350b.yaml |   14 +
...e-3par-add-get-manageable-2926f21116c98599.yaml |    5 +
...-detach-in-multi-host-env-3f2211f29a336b6e.yaml |    6 +
...infinidat-manage-unmanage-ccc42b79d741369f.yaml |    6 +
releasenotes/notes/lock_path-940af881b2112bbe.yaml |   12 +
...uring-snapmirror-creation-bea36a69d443e86f.yaml |    9 +
...pp-nfs-copy-offload-image-812c7152d9fe4aae.yaml |    9 +
...ecate-copy-offload-option-f9d6fe8e3dfafb04.yaml |    5 +
...upport-svm-scoped-account-a8458445d459023c.yaml |    5 +
...app-ontap-rest-api-client-d889cfa895f01249.yaml |   19 +
...eptions-while-eos-upgrade-1e3df89b5fb79165.yaml |    7 +
...ofiler-infinite-recursion-ec3d4794c89b2f83.yaml |    7 +
...werstore-nvme-tcp-support-ee37cf4fdbce1621.yaml |    4 +
...e-request-data-validation-6268f2ed07b7bf40.yaml |    6 +
.../pure-storage-nvme-driver-f4217c00379c4827.yaml |    7 +
...ackend-qos-implementation-0e141b742e277d26.yaml |    4 +
releasenotes/notes/slug-b6a0fc3db0a2dd45.yaml      |    8 +
...transfer-encrypted-volume-2f040a6993435e79.yaml |   12 +
.../use-multipath-everywhere-3707593eebdaf9eb.yaml |   14 +
releasenotes/source/index.rst                      |    1 +
.../locale/en_GB/LC_MESSAGES/releasenotes.po       | 3128 +++++++-
releasenotes/source/yoga.rst                       |    6 +
requirements.txt                                   |    4 +-
setup.cfg                                          |    9 +-
test-requirements.txt                              |    7 +-
tools/config/cinder-config-generator.conf          |    1 +
tools/mypywrap.sh                                  |    2 +-
tox.ini                                            |   58 +-
460 files changed, 38604 insertions(+), 19354 deletions(-)


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

diff --git a/driver-requirements.txt b/driver-requirements.txt
index cc8da8eb5..0240e7e78 100644
--- a/driver-requirements.txt
+++ b/driver-requirements.txt
@@ -47,0 +48,3 @@ dfs_sdk>=1.2.25 # Apache-2.0
+
+# DataCore SANsymphony
+websocket-client>=1.3.2 # LGPLv2+
diff --git a/requirements.txt b/requirements.txt
index 9c5cbc1fd..10b066d5c 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -10 +10 @@ httplib2>=0.18.1 # MIT
-importlib_metadata>=3.1.1;python_version<'3.8' # Apache-2.0
+importlib_metadata>=3.1.1 # Apache-2.0
@@ -59 +59 @@ oslo.vmware>=3.10.0 # Apache-2.0
-os-brick>=5.2.0 # Apache-2.0
+os-brick>=6.0.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 51a74cf7d..030196a60 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -20,3 +19,0 @@ testtools>=2.4.0 # MIT
-# bandit is not included in upper-constraints,
-# so we need to pin it here to a known working version
-bandit==1.6.0 # Apache-2.0
@@ -24,2 +21,2 @@ doc8>=0.8.1 # Apache-2.0
-mypy>=0.910 # MIT
-moto>=1.3.15 # Apache-2.0
+mypy>=0.960 # MIT
+moto>=2.2.5 # Apache-2.0






More information about the Release-announce mailing list