We are excited to announce the release of: cinder 23.1.0: OpenStack Block Storage This release is part of the bobcat 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. 23.1.0 ^^^^^^ Bug Fixes * Bug #2045431 (https://bugs.launchpad.net/cinder/+bug/2045431): Fixed a data leak scenario where we preserve sparseness when reimaging the volume. We currently do a sparse copy when writing an image on the volume. This could be a potential data leak scenario where the zero blocks of the new image are not written on the existing volume and the data from the old image still exists on the volume. We fix the scenario by not doing sparse copy when reimaging the volume. * HPE 3PAR driver Bug #2045411 (https://bugs.launchpad.net/cinder/+bug/2045411): Added support for ipv6 address in the 3PAR iSCSI driver. Changes in cinder 22.0.0.0rc1..23.1.0 ------------------------------------- 8df3c5cf4 HPE 3par - Add ipv6 support 85857a19a Skip sparse copy during volume reimage 8d453fa7b Revert "Driver assisted migration on retype when it's safe" 056ceaa40 Stable-only: Remove skip-level upgrade job 29b10728c api-ref: Improve sort, pagination parameter docs 1c0de4cf3 Reference - Documentation correction 9a3409c57 Nimble: Enable thin provisioning as default 8e6ce2d1f [Pure Storage] Uniform Sync Replication disconnect 4373aa124 Pure: Report SAM-2 addressing mode for LUNs 360f0c643 Update TOX_CONSTRAINTS_FILE for stable/2023.2 0c6b82b2d Update .gitreview for stable/2023.2 e954ba02d Fujitsu Driver: Add QoS support 1058bb1d0 Imported Translations from Zanata 785f23b3b Add default to read_deleted in context's from_dict 41b07dcf8 [Pure Storage] Replication-Enabled and Snapshot Consistency Groups 5a17149de Use openstack-tox-py311 job ddcf394ae Do not ignore availability_zone in backup creation 24c712f49 Imported Translations from Zanata ff4b1c910 docs: add missing space 45263d54d NetApp ONTAP: Added support to Active/Active mode in NFS driver 64b5543d9 NetApp ONTAP: Fixed errors on failover-host operation with REST API 084d84152 [Pure Storage] Fix failure in replication failover 39c254a50 Imported Translations from Zanata b6c38c300 api-ref: Fix indentation, case 3f3112f79 Yadro Tatlin Unified FC driver 6fcb495c8 Add Cinder driver for TOYOU NetStor TYDS 6a5e4ae16 HPE: Fix error during retype of volume without comment 6172d2a9a Automate generation of backups api-ref samples 2e031e1ca Fix a regression in restoring to sparse volumes 489dd5a1e [docs] Update REST API version history 540ff2e71 Cleanup image_utils chown check 79a9210c5 Automate generation of volume transfer api-ref samples 7fa5561eb Imported Translations from Zanata f1569abd6 Imported Translations from Zanata 7b635086c Ceph: Fix restore backups to diff backend 0dc8d7522 NetApp ONTAP: Fix create FlexVol pool replica 4482ec892 HPE 3PAR: use vlan iscsi ips 293f88127 PowerStore driver - documentation update 221af98ff Automate generation of volume transfer api-ref samples 4b082c22c Automate generation of backups api-ref samples 141ff8865 Remove six from qnap driver 3c6c2ee65 mypy: Cover cinder/flow_utils.py 4b30fc1e0 api-ref: Remove non-existent attribute b3d3f31fa Fix glance metadata properties filtering 93d042962 Remove six from kaminario driver a8fee1813 Revert "Add tempest integrated storage job to run on ubuntu focal" b3ddaba27 zuul: Extend timeout for cinder-plugin-ceph-tempest 5edef212e Tests: Provide filter arg to VolumeAttachmentNotFound() 1101402b8 Doc: Improve service token ed2115a6f Automate generation of backups api-ref samples 0d471a43f Remove six from dell_emc drivers 0198e3ecf Allow lightos driver to run as active-active 5546b1359 HPE 3PAR: Fix to use small QoS Latency value 6df1839bd Reject unsafe delete attachment calls 8eaa1a5e6 Correct multiattach documentation 6eada8f66 Imported Translations from Zanata d5010b08c Remove six from nimble volume driver 44217eca7 [Pure Storage] Add check for new error message fdeb013ac Remove six from solidfire driver 82bee2f6a Bump mypy to 1.2.0 0b8f074e4 Powerstore: Move from distutils.version to packaging.version dc77207e4 [Pure Storage] Add TCP transport type to NVMe driver b2c8bc359 HPE 3PAR: Few issues with new WSAPI (of 2023) 4b49fdebf Tests: Fix duplicate dict keys in Pure tests 933a7b7e6 Add fips check jobs e9255995c PowerMax driver - documentation update 3febae752 Update functional jobs for 2023.2 52981bbb2 Run py311 unit tests (non-voting) 60832ed4b doc: Trivial typo fix dfd8f9974 3PAR: Error out if vol cannot be converted to base c8305f44d Fix typo in HA contributor doc 63b6e5696 Shut up pylint about win32_disk_size 69497b151 Make paramiko import optional ab81fb4c8 Remove six from ibm_storage drivers 592e31d23 Remove six from storwize driver dfef52f3a Fix wrong assertion methods f8da58d52 PowerFlex driver - documentation update b1d0be7b2 Remove six from GPFS driver f5966d553 Pylint: Cleanup ds8k driver workaround f6be9e91f Require novaclient >= 18.2.0 e9f2c711e db: Fix up some API signatures, other style issues 513690a81 Add note about MYSQL_REDUCE_MEMORY b261fa205 DB: Align volumes_service_uuid index in model with migration 955ac9e3f HPE: Fix keyerror seen during volume migration 41da45ddd Improve test_execute_root_and_helper 6a31c5b9b Pure Storage - bump version numbers for 2023.2 (Bobcat) 9714ae828 Update url of "Unity Replication White Paper" 171ff11e9 db: Remove the legacy 'migration_version' table e9dccb93b db: Remove legacy migrations b75c29c7d Restore into sparse volumes e4393d48b Set packages in setup.cfg b466bb3c1 Fix: PowerMax test with flipping force flag d7cf4a89a Make PowerMax tests stable 7fe53da73 Imported Translations from Zanata e9816b654 [docs] Update documentation for Infinidat driver 55b0d5e66 Bump pylint to 2.17.0 c16f4a506 doc: update setup.cfg file 13647df34 Add Python 3.10 to setup.cfg metadata 0027ecc0f RemoteFS: Fix messy string formatting f6ecdf0bc Update master for stable/2023.1 6e08f1507 RBD: Skip update_features when features = 0 89de47b0d Configure a storage node in cinder c75b3260c test_rbd_iscsi: Make tests compatible with python 3.11 6c0bbe10a Bump mypy to 1.0 82823ace4 Dell PowerFlex: Additionnal params for enabling self signed certificates 32f1145b7 Remove multiatttach request parameter 04c142987 PowerMax Driver - Fix for force flag 5d53d4476 Hitachi HBSD: Fix invalid "raise None" 9e7954db7 Yadro tatlin_client: Fix bad message formatting 749772a6f Deadlock prevention support in synchronize beb843f3b Tests: storwize: Work around bug in unit test 995bdec2e LVM driver: Remove "six" usage 30919d2ba [SVf] : Fix multiple SVC CLI calls for rc-relationship operations b337c425e Tests: Remove typo'd assert calls from test_attachments_manager Diffstat (except docs and test files) ------------------------------------- .gitreview | 1 + .zuul.yaml | 38 +- api-ref/source/v2/parameters.yaml | 9 - api-ref/source/v2/volumes-v2-volumes.inc | 1 - api-ref/source/v3/attachments.inc | 19 + api-ref/source/v3/consistencygroups-v3.inc | 6 + api-ref/source/v3/ext-backups.inc | 19 +- api-ref/source/v3/group-snapshots.inc | 2 + api-ref/source/v3/group-types.inc | 2 + api-ref/source/v3/groups.inc | 4 + api-ref/source/v3/index.rst | 27 +- api-ref/source/v3/messages.inc | 2 + api-ref/source/v3/parameters.yaml | 37 +- api-ref/source/v3/qos-specs-v3-qos-specs.inc | 3 + .../source/v3/samples/backup-create-request.json | 11 - .../source/v3/samples/backup-create-response.json | 17 - .../source/v3/samples/backup-show-response.json | 35 - .../source/v3/samples/backup-update-request.json | 9 - .../source/v3/samples/backup-update-response.json | 18 - .../v3/samples/backups-list-detailed-response.json | 65 -- .../v3/samples/backups/backup-create-request.json | 11 + .../v3/samples/backups/backup-create-response.json | 16 + .../v3/samples/backups/backup-show-response.json | 30 + .../backups/backups-list-detailed-response.json | 32 + .../v3/samples/backups/backups-list-response.json | 18 + .../backups/v3.18/backup-create-response.json | 16 + .../backups/v3.18/backup-show-response.json | 31 + .../v3.18/backups-list-detailed-response.json | 33 + .../backups/v3.18/backups-list-response.json | 18 + .../backups/v3.43/backup-create-response.json | 16 + .../backups/v3.43/backup-show-response.json | 32 + .../v3.43/backups-list-detailed-response.json | 34 + .../backups/v3.43/backups-list-response.json | 18 + .../backups/v3.45/backup-create-response.json | 16 + .../backups/v3.45/backup-show-response.json | 32 + .../v3.45/backups-list-detailed-response.json | 35 + .../backups/v3.45/backups-list-response.json | 19 + .../backups/v3.56/backup-create-response.json | 16 + .../backups/v3.56/backup-show-response.json | 33 + .../v3.56/backups-list-detailed-response.json | 36 + .../backups/v3.56/backups-list-response.json | 19 + .../backups/v3.9/backup-create-response.json | 16 + .../samples/backups/v3.9/backup-show-response.json | 30 + .../backups/v3.9/backup-update-request.json | 6 + .../backups/v3.9/backup-update-response.json | 16 + .../v3.9/backups-list-detailed-response.json | 32 + .../backups/v3.9/backups-list-response.json | 18 + .../v3.55/volume-transfers-create-request.json | 6 + .../v3.55/volume-transfers-create-response.json | 20 + .../v3.55/volume-transfers-show-response.json | 19 + .../v3.57/volume-transfers-create-request.json | 7 + .../v3.57/volume-transfers-create-response.json | 23 + .../v3.57/volume-transfers-show-response.json | 22 + .../volume-transfers-accept-request.json | 5 + .../volume-transfers-accept-response.json | 17 + api-ref/source/v3/snapshot-manage.inc | 4 + api-ref/source/v3/vol-transfer-v3.inc | 17 +- api-ref/source/v3/volume-manage.inc | 4 + api-ref/source/v3/volumes-v3-extensions.inc | 12 - api-ref/source/v3/volumes-v3-snapshots.inc | 4 + api-ref/source/v3/volumes-v3-types.inc | 2 + api-ref/source/v3/volumes-v3-volumes-actions.inc | 55 ++ api-ref/source/v3/volumes-v3-volumes.inc | 5 +- bindep.txt | 10 +- cinder/api/openstack/rest_api_version_history.rst | 4 +- cinder/api/schemas/volumes.py | 6 + cinder/api/v2/volumes.py | 9 - cinder/api/v3/messages.py | 2 +- cinder/api/v3/volumes.py | 16 +- cinder/backup/api.py | 7 +- cinder/backup/chunkeddriver.py | 41 +- cinder/backup/driver.py | 2 +- cinder/backup/drivers/ceph.py | 59 +- cinder/backup/manager.py | 24 +- cinder/backup/rpcapi.py | 14 +- cinder/compute/nova.py | 7 + cinder/context.py | 2 +- cinder/coordination.py | 82 +- cinder/db/api.py | 132 ++- cinder/db/legacy_migrations/README | 7 - cinder/db/legacy_migrations/manage.py | 24 - cinder/db/legacy_migrations/migrate.cfg | 20 - .../legacy_migrations/versions/135_cinder_init.py | 1035 -------------------- .../versions/136_make_vol_type_col_non_nullable.py | 52 - .../legacy_migrations/versions/137_placeholder.py | 22 - .../legacy_migrations/versions/138_placeholder.py | 22 - .../legacy_migrations/versions/139_placeholder.py | 22 - .../140_create_project_default_volume_type.py | 50 - .../141_add_quota_usage_unique_constraint.py | 38 - .../legacy_migrations/versions/142_placeholder.py | 22 - .../legacy_migrations/versions/143_placeholder.py | 22 - .../legacy_migrations/versions/144_placeholder.py | 22 - .../versions/145_add_use_quota_fields.py | 34 - cinder/db/legacy_migrations/versions/__init__.py | 0 cinder/db/migration.py | 73 +- ...aa6f9639f9_drop_legacy_migrate_version_table.py | 35 + .../versions/daa98075b90d_add_resource_indexes.py | 2 +- cinder/db/sqlalchemy/api.py | 527 +++++----- cinder/db/sqlalchemy/models.py | 2 +- cinder/exception.py | 11 + cinder/flow_utils.py | 10 +- cinder/image/image_utils.py | 87 +- cinder/interface/volume_driver.py | 4 +- cinder/opts.py | 3 + cinder/scheduler/driver.py | 2 +- cinder/scheduler/filter_scheduler.py | 24 +- cinder/scheduler/host_manager.py | 18 +- cinder/scheduler/manager.py | 5 +- cinder/ssh_utils.py | 9 +- .../samples/backups/backup-create-request.json.tpl | 11 + .../backups/backup-create-response.json.tpl | 16 + .../samples/backups/backup-show-response.json.tpl | 30 + .../samples/backups/backup-update-request.json.tpl | 6 + .../backups-list-detailed-response.json.tpl | 32 + .../samples/backups/backups-list-response.json.tpl | 15 + .../backups/v3.18/backup-create-response.json.tpl | 16 + .../backups/v3.18/backup-show-response.json.tpl | 31 + .../v3.18/backups-list-detailed-response.json.tpl | 33 + .../backups/v3.18/backups-list-response.json.tpl | 15 + .../backups/v3.43/backup-create-response.json.tpl | 16 + .../backups/v3.43/backup-show-response.json.tpl | 32 + .../v3.43/backups-list-detailed-response.json.tpl | 34 + .../backups/v3.43/backups-list-response.json.tpl | 15 + .../backups/v3.45/backup-create-response.json.tpl | 16 + .../backups/v3.45/backup-show-response.json.tpl | 32 + .../v3.45/backups-list-detailed-response.json.tpl | 35 + .../backups/v3.45/backups-list-response.json.tpl | 16 + .../backups/v3.47/backup-restore-request.json.tpl | 7 + .../backups/v3.47/backup-restore-response.json.tpl | 7 + .../backups/v3.56/backup-create-response.json.tpl | 16 + .../backups/v3.56/backup-show-response.json.tpl | 33 + .../v3.56/backups-list-detailed-response.json.tpl | 36 + .../backups/v3.56/backups-list-response.json.tpl | 16 + .../backups/v3.9/backup-create-response.json.tpl | 16 + .../backups/v3.9/backup-show-response.json.tpl | 30 + .../backups/v3.9/backup-update-request.json.tpl | 6 + .../backups/v3.9/backup-update-response.json.tpl | 15 + .../v3.9/backups-list-detailed-response.json.tpl | 32 + .../backups/v3.9/backups-list-response.json.tpl | 15 + .../v3.55/volume-transfers-create-request.json.tpl | 6 + .../volume-transfers-create-response.json.tpl | 20 + .../v3.55/volume-transfers-show-response.json.tpl | 19 + .../v3.57/volume-transfers-create-request.json.tpl | 7 + .../volume-transfers-create-response.json.tpl | 23 + .../v3.57/volume-transfers-show-response.json.tpl | 22 + .../volume-transfers-accept-request.json.tpl | 5 + .../volume-transfers-accept-response.json.tpl | 17 + .../unit/attachments/test_attachments_manager.py | 38 +- .../unit/backup/drivers/test_backup_glusterfs.py | 2 +- .../unit/backup/drivers/test_backup_google.py | 7 +- .../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 | 168 ++-- .../volume/drivers/dell_emc/powerflex/__init__.py | 5 +- .../volume/drivers/dell_emc/powerflex/mocks.py | 7 +- .../powerflex/test_create_cloned_volume.py | 3 +- .../dell_emc/powerflex/test_create_snapshot.py | 3 +- .../powerflex/test_create_volume_from_snapshot.py | 3 +- .../dell_emc/powerflex/test_delete_snapshot.py | 3 +- .../dell_emc/powerflex/test_delete_volume.py | 3 +- .../dell_emc/powerflex/test_extend_volume.py | 3 +- .../dell_emc/powerflex/test_manage_existing.py | 3 +- .../dell_emc/powerflex/test_migrate_volume.py | 3 +- .../drivers/dell_emc/powermax/powermax_data.py | 52 +- .../dell_emc/powermax/test_powermax_common.py | 36 +- .../dell_emc/powermax/test_powermax_masking.py | 9 +- .../dell_emc/powermax/test_powermax_replication.py | 20 +- .../dell_emc/powermax/test_powermax_rest.py | 30 +- .../dell_emc/powermax/test_powermax_utils.py | 7 +- .../drivers/dell_emc/powerstore/test_client.py | 3 +- .../unit/volume/drivers/dell_emc/test_xtremio.py | 5 +- .../unit/volume/drivers/dell_emc/vnx/fake_enum.py | 8 +- .../unit/volume/drivers/dell_emc/vnx/res_mock.py | 17 +- .../unit/volume/drivers/dell_emc/vnx/utils.py | 4 +- .../drivers/hitachi/test_hitachi_hbsd_mirror_fc.py | 3 +- .../drivers/hitachi/test_hitachi_hbsd_rest_fc.py | 3 +- .../hitachi/test_hitachi_hbsd_rest_iscsi.py | 3 +- .../volume/drivers/hpe/xp/test_hpe_xp_rest_fc.py | 3 +- .../drivers/hpe/xp/test_hpe_xp_rest_iscsi.py | 3 +- .../unit/volume/drivers/ibm/test_ds8k_proxy.py | 203 ++-- .../volume/drivers/ibm/test_ibm_flashsystem.py | 15 +- .../drivers/ibm/test_ibm_flashsystem_iscsi.py | 6 +- .../unit/volume/drivers/ibm/test_storwize_svc.py | 136 +-- .../unit/volume/drivers/ibm/test_xiv_proxy.py | 19 +- .../drivers/nec/v/test_internal_nec_rest_fc.py | 3 +- .../drivers/nec/v/test_internal_nec_rest_iscsi.py | 3 +- .../drivers/netapp/dataontap/client/fakes.py | 6 +- .../netapp/dataontap/client/test_client_cmode.py | 2 +- .../dataontap/client/test_client_cmode_rest.py | 74 +- .../drivers/netapp/dataontap/test_nfs_base.py | 2 +- .../drivers/netapp/dataontap/test_nfs_cmode.py | 66 ++ .../volume/drivers/netapp/dataontap/utils/fakes.py | 13 + .../netapp/dataontap/utils/test_data_motion.py | 42 +- .../volume/drivers/solidfire/test_solidfire.py | 3 +- .../volume/drivers/yadro/test_tatlin_client.py | 191 +++- .../volume/drivers/yadro/test_tatlin_common.py | 3 +- .../unit/volume/drivers/yadro/test_tatlin_fc.py | 366 +++++++ .../unit/volume/drivers/yadro/test_tatlin_iscsi.py | 2 +- .../unit/volume/flows/test_create_volume_flow.py | 30 +- cinder/volume/api.py | 102 +- cinder/volume/driver.py | 22 +- cinder/volume/drivers/dell_emc/powerflex/driver.py | 29 +- .../drivers/dell_emc/powerflex/rest_client.py | 10 +- cinder/volume/drivers/dell_emc/powermax/common.py | 59 +- cinder/volume/drivers/dell_emc/powermax/iscsi.py | 3 +- cinder/volume/drivers/dell_emc/powermax/masking.py | 11 +- .../volume/drivers/dell_emc/powermax/metadata.py | 5 +- cinder/volume/drivers/dell_emc/powermax/rest.py | 30 +- cinder/volume/drivers/dell_emc/powermax/utils.py | 11 +- cinder/volume/drivers/dell_emc/powerstore/utils.py | 4 +- .../drivers/dell_emc/sc/storagecenter_api.py | 7 +- .../drivers/dell_emc/sc/storagecenter_common.py | 5 +- cinder/volume/drivers/dell_emc/unity/driver.py | 5 +- cinder/volume/drivers/dell_emc/unity/utils.py | 5 +- cinder/volume/drivers/dell_emc/vnx/adapter.py | 5 +- cinder/volume/drivers/dell_emc/vnx/utils.py | 20 +- cinder/volume/drivers/dell_emc/xtremio.py | 11 +- .../volume/drivers/fujitsu/eternus_dx/constants.py | 24 + .../drivers/fujitsu/eternus_dx/eternus_dx_cli.py | 142 ++- .../fujitsu/eternus_dx/eternus_dx_common.py | 902 ++++++++++++++--- .../drivers/fujitsu/eternus_dx/eternus_dx_fc.py | 93 +- .../drivers/fujitsu/eternus_dx/eternus_dx_iscsi.py | 95 +- cinder/volume/drivers/fungible/driver.py | 4 +- cinder/volume/drivers/hitachi/hbsd_common.py | 2 +- cinder/volume/drivers/hitachi/hbsd_fc.py | 6 +- cinder/volume/drivers/hitachi/hbsd_iscsi.py | 6 +- cinder/volume/drivers/hpe/hpe_3par_common.py | 85 +- cinder/volume/drivers/hpe/hpe_3par_iscsi.py | 155 ++- cinder/volume/drivers/hpe/nimble.py | 46 +- cinder/volume/drivers/ibm/flashsystem_common.py | 55 +- cinder/volume/drivers/ibm/flashsystem_fc.py | 3 +- cinder/volume/drivers/ibm/flashsystem_iscsi.py | 6 +- cinder/volume/drivers/ibm/gpfs.py | 17 +- .../drivers/ibm/ibm_storage/ds8k_connection.py | 5 +- .../volume/drivers/ibm/ibm_storage/ds8k_helper.py | 11 +- .../volume/drivers/ibm/ibm_storage/ds8k_proxy.py | 19 +- .../drivers/ibm/ibm_storage/ds8k_replication.py | 3 +- .../drivers/ibm/ibm_storage/ds8k_restclient.py | 18 +- cinder/volume/drivers/ibm/ibm_storage/proxy.py | 3 +- cinder/volume/drivers/ibm/ibm_storage/xiv_proxy.py | 5 +- .../drivers/ibm/ibm_storage/xiv_replication.py | 3 +- .../volume/drivers/ibm/storwize_svc/replication.py | 38 +- .../ibm/storwize_svc/storwize_svc_common.py | 100 +- .../volume/drivers/kaminario/kaminario_common.py | 3 +- cinder/volume/drivers/lightos.py | 1 + cinder/volume/drivers/linstordrv.py | 6 +- cinder/volume/drivers/lvm.py | 11 +- .../netapp/dataontap/client/client_cmode.py | 3 +- .../netapp/dataontap/client/client_cmode_rest.py | 50 +- cinder/volume/drivers/netapp/dataontap/nfs_base.py | 6 +- .../volume/drivers/netapp/dataontap/nfs_cmode.py | 23 +- .../drivers/netapp/dataontap/utils/capabilities.py | 2 +- .../drivers/netapp/dataontap/utils/data_motion.py | 42 + cinder/volume/drivers/pure.py | 160 ++- cinder/volume/drivers/qnap.py | 23 +- cinder/volume/drivers/rbd.py | 24 +- cinder/volume/drivers/remotefs.py | 10 +- cinder/volume/drivers/solidfire.py | 4 +- cinder/volume/drivers/spdk.py | 6 +- cinder/volume/drivers/storpool.py | 6 +- .../drivers/toyou/tyds}/__init__.py | 0 cinder/volume/drivers/toyou/tyds/tyds.py | 666 +++++++++++++ cinder/volume/drivers/toyou/tyds/tyds_client.py | 481 +++++++++ cinder/volume/drivers/vmware/fcd.py | 5 +- cinder/volume/drivers/vmware/vmdk.py | 5 +- cinder/volume/drivers/vzstorage.py | 6 +- cinder/volume/drivers/windows/iscsi.py | 6 +- cinder/volume/drivers/windows/smbfs.py | 6 +- cinder/volume/drivers/yadro/tatlin_client.py | 2 +- cinder/volume/drivers/yadro/tatlin_common.py | 55 +- cinder/volume/drivers/yadro/tatlin_fc.py | 124 +++ cinder/volume/drivers/yadro/tatlin_iscsi.py | 86 +- cinder/volume/flows/api/create_volume.py | 12 +- cinder/volume/flows/manager/create_volume.py | 2 +- cinder/volume/manager.py | 34 +- cinder/volume/volume_utils.py | 17 +- .../drivers/dell-emc-powerflex-driver.rst | 2 + .../drivers/dell-emc-powermax-driver.rst | 72 +- .../drivers/dell-emc-powerstore-driver.rst | 14 + .../drivers/dell-emc-unity-driver.rst | 4 +- .../drivers/fujitsu-eternus-dx-driver.rst | 219 ++++- .../drivers/ibm-gpfs-volume-driver.rst | 2 +- .../drivers/infinidat-volume-driver.rst | 22 +- .../block-storage/drivers/pure-storage-driver.rst | 10 +- .../drivers/toyou-netstor-tyds-driver.rst | 75 ++ .../drivers/yadro-tatlin-volume-driver.rst | 20 +- .../configuration/block-storage/service-token.rst | 191 +++- .../install/cinder-storage-install-ubuntu.rst | 14 + mypy-files.txt | 1 + playbooks/enable-fips.yaml | 3 + .../notes/backup-sparse-f396b35bfe17332e.yaml | 7 + .../notes/backup-sparse-f685f4321f2994f5.yaml | 7 + ...p-yadro-tatlin-unified-fc-b6e1225ad99c6304.yaml | 4 + .../bug-1895035-rbd-restore-0cd94ccd467ae1e3.yaml | 6 + ...2624-bakup-a-z-regression-452f4bc9dfd41871.yaml | 7 + ...c-relationship_operations-24d15dfccc922cdd.yaml | 8 + ...wermax-fix-for-force-flag-9320910dfbf998d2.yaml | 8 + ...hpe-keyerror-on-migration-71d31e6c0a8ab0d9.yaml | 7 + ...pp-replica-failover-error-a9cad94ae56af8d0.yaml | 7 + .../notes/bug1945500-e4df056b8be2e0ef.yaml | 8 + ...-self-signed-certificates-62e3cb444ab7ff2b.yaml | 10 + .../fix-reimage-sparse-copy-d346e8f55afa6280.yaml | 12 + .../fujitsu-qos-support-1c1528da06d0b38a.yaml | 33 + ...hpe-3par-add-ipv6-support-a9f453a66c51e6d3.yaml | 4 + ...ode-changes-for-new-wsapi-25865a65a428ce46.yaml | 4 + ...t-to-base-vol-delete-snap-a460a4b1c419804a.yaml | 11 + ...etype-vol-without-comment-a44c9be1ed76e7bb.yaml | 6 + ...-small-qos-latency-values-d5fa70a605b04335.yaml | 6 + ...e-3par-use-vlan-iscsi-ips-f75787b0d281030b.yaml | 5 + .../netapp-nfs-aa-support-477ddf585c5aa578.yaml | 5 + ...ix-flexvol-replica-create-c7772837df20021f.yaml | 6 + ...thin-provision-by-default-c5ac66120b2361ef.yaml | 5 + .../notes/pure-replicated-cg-03016fa79bcd51c1.yaml | 6 + .../pure-report-addressing-91963e29fbed32a4.yaml | 7 + ...pure-storage-fix-failover-fe6260a112409742.yaml | 7 + .../notes/pure_nvme_tcp-a00efa8966a74f77.yaml | 4 + ...re_uniform_disconnect_bug-357c849bf12e8832.yaml | 7 + ...bd-update-features-bugfix-df97b50864ce9712.yaml | 6 + .../redirect-detach-nova-4b7b7902d7d182e0.yaml | 43 + ...multiattach-request-param-4444e02533f919da.yaml | 20 + ...remove-sqlalchemy-migrate-c62b541fd5f4ab10.yaml | 5 + ...retype-assisted-migration-6cdc7f9b21beb859.yaml | 7 - ...storage-tyds-iscsi-driver-798da24653d8cd0d.yaml | 4 + releasenotes/source/2023.1.rst | 6 + releasenotes/source/index.rst | 1 + .../locale/en_GB/LC_MESSAGES/releasenotes.po | 750 +++++++++++++- requirements.txt | 3 +- setup.cfg | 4 + test-requirements.txt | 2 +- tools/test-setup.sh | 41 + tox.ini | 6 +- 387 files changed, 11281 insertions(+), 4498 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index a70876429..62f69539c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -43 +43 @@ python-keystoneclient>=4.1.1 # Apache-2.0 -python-novaclient>=17.2.1 # Apache-2.0 +python-novaclient>=18.2.0 # Apache-2.0 @@ -52 +51,0 @@ SQLAlchemy>=1.4.23 # MIT -sqlalchemy-migrate>=0.13.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index 10c8d6acb..64762684e 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -21 +21 @@ doc8>=0.8.1 # Apache-2.0 -mypy>=0.981 # MIT +mypy>=1.2.0 # MIT