We eagerly announce the release of: cinder 27.0.0 This release is part of the flamingo 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. Changes in cinder 26.0.0.0rc1..27.0.0 ------------------------------------- 2322ceb19 [NetApp-ZAPI] Enabling snapshot creation for flexgroup pool 9f2d476e3 Add pyproject.toml file 9c63da02a [NetApp] Enabling total_volumes capability support d9a7d0690 [Pure Storage] Add support for retype to sync/trisync-replicated volume 59e4faefe [Pure Storage] Consistent hostnames across replicated backends 75469ffcb [Pure Storage] Fix volume reconnect error e564049d8 Fix: optimize create volume for NFS b851d08e8 Add support for GET location API 9dfb500d5 Register glance user in keystoneauth plugin 3aad12a6c [Pure Storage] Cinder manage quota breach deletion fix f6c6c4c27 [IBM SVf driver] Adding support for temporary volumegroup d047840da Dell PowerMax: RDF consistency exempt (follow-up) e3d260110 Dell PowerFlex: Improve secret handling c1b8bbe9a Remove remaining job with Ubuntu Jammy (22.04) 7926029d0 Dell PowerMax: NVMe/TCP suuport (follow-up) 1549d536d NetApp NVMe namespace support for in-use expansion 5f76c2107 Fix typo in release note d3d91d9a1 [NetApp]:Cinder support for self-signed transport aa6a11b24 NetApp: NVMe namespace mapping fails during VM live migration 2e591d56b Dell PowerMax Driver: Added Support for NVMe/TCP b826f6699 NetApp - Added ONTAP libs for ASAr2 platform. 07acca1b5 Added support for NetApp ASA r2 (All-Flash SAN Array r2) disaggregated ccd69534e Delete image cache volumes when they're unusable 2b44c385b NetApp - Extended Consistency group support for NVMe/TCP driver ad3493c91 Dell PowerMax: RDF consistency exempt 94cd0e815 HPE 3par - skip license check for new wsapi fb8349c2e NetApp - Fixed detach issue for multi-attached volume daf3dc245 [Pure Storage] Resolve EG1 arrays not reporting DRR dc8a59c91 RBD: Fix issue with managing volume with type properties a39fa8fb2 Add support for glance new location APIs f6e234e34 Doc: Add doc for replication in OpenStack 787ca3db0 Add testing for optimized volume upload 4e8b26058 mypy: enable strict equality checking 23583d041 mypy: Bump to 1.17.0 44406e57a mypy: Bump to 1.16.1 94c7ca0da RBD unit tests: Set cfg.rados_connect_timeout d1ef77138 Imported Translations from Zanata 4a7bfc568 Fix volume clone across cluster members 26eae7290 Resolve MovedIn20Warning 27373d61f Update PowerMax driver doc support matrix for Caracal Dalmatian Epoxy 4addad4ba NetApp: iSCSI/FC detach operation fails when multiple initiators connected c32cf2ff4 Remove Python 3.9 support a14e59523 [Pure Storage] Fix snapshot replication interval issue 53245bce3 NFS driver: Fix fail to resize NFS volume with snapshots 781668f44 Fix flake8 warnings on flake8-import-order>0.19.0 1ec7b48fd NetApp - Fixed Device busy error when multiple cinder volume clone created in parallel 4b96a9a88 Pin flake8-import-order<0.19.0 c948b22ea Pin flake8_import_order version to <0.19.0 98cd6a30b [Pure Storage] Add FlashArray Volume Tags fcb18c5c4 [Pure Storage] Fix issue with VLAN LACP bond ports 88d5d18a3 Hitachi: Fix to have compatibility of GAD volumes 9332562ab NetApp NVMe: Update NVMe support matrix update 255ccd6c6 HPE 3par: Ignore duplicate IP in iSCSI/vlan ip 3432c9fbe [Pure Storage] Disable management of secure tenant volumes and snaps 3370f9057 cinder-manage: Use same timestamp for purging deleted rows e70362570 nfs: minimal mypy coverage 9d424c57d Disable glance secure hash in ceph job 5b6244173 Replace deprecated datetime.utcfromtimestamp() fd24ee9a9 NetApp NAS: Update NFS online volume extending support matrix update 986929bc9 [Pure Storage] Add capacity based backend QoS options 635bdab2c Remove tags from README 210d48865 NVMe-oF Target: Fix incorrect check for initiator in connector data 931311964 Update python versions for testing 8dbe8b8cd tox: Match doc8 ignore-path with flake8 exclude parameters 294c0bfcf Add group resources for quota syncing d52e0532f [docs] Extra spaces breaking rst->html rendering 9687fbac7 NFS driver: Fix fail creating volume with multiple snapshots 67b063e92 tgt target: Provide unique scsi_sn and scsi_id bfc71207d Allow quota sync to actually fix quota issues dd95e1ad7 [docs] update description of mv 3.46 2b1801f1e Clean up volume_opts b05608e30 zuul: cinder-plugin-ceph-tempest: raise swap size bc2c4cc9c [Pure Storage] Fix QoS setting for cloned volumes ae22195df Fix reimage with snapshot backed image d6a78f297 Pure Storage - bump version numbers for 2025.2 (Flamingo) bc5de9942 Imported Translations from Zanata 5c1976dd3 Update master for stable/2025.1 d41586a11 Implements cgroupsv2 3b34d1c87 Lightbits update Qos doc's 5070eeaec [Pure Storage] Fix issue with LACP ports not being identified d219dffc8 RBD: Correct DEBUG logging in QoS fcbe82e15 unit tests: address TODO in base test case b8610a01b Driver assisted migration on retype when it's safe 7d3207649 RBD: Fix upload volume with different format 67ac0fca8 Respond with HTTP 409 on resource conflict b5ac261e6 Fix type passed to write function during backup restoration e4341b7ce Use builtin hashlib.md5 6b3b9ccde trivial: Remove trailing spaces, mixed tabs/spaces 4c0d0f8e9 trivial: Enable E275 harder 4aa75984c Fix remaining UUIDWarning f15994329 QemuImgInfo: Replace remaining usage of human format 7bd72aca3 Speed up starting cinder-backup 2898304b0 [SVf] : Enable support for mirror-pool option for replication volume-type Diffstat (except docs and test files) ------------------------------------- .zuul.yaml | 26 +- README.rst | 6 +- api-ref/source/v2/qos-specs-v2-qos-specs.inc | 3 +- api-ref/source/v2/quota-sets.inc | 3 +- api-ref/source/v2/samples/qos-unset-response.json | 0 .../source/v2/samples/quotas-delete-response.json | 0 ...olume-os-migrate_volume_completion-request.json | 2 +- api-ref/source/v3/attachments.inc | 1 + api-ref/source/v3/parameters.yaml | 7 + .../source/v3/samples/volume-detach-request.json | 12 +- ...olume-os-migrate_volume_completion-request.json | 2 +- .../v3.55/volume-transfers-create-request.json | 8 +- .../v3.57/volume-transfers-create-request.json | 10 +- api-ref/source/v3/volumes-v3-volumes.inc | 2 +- cinder/api/api_utils.py | 6 +- cinder/api/common.py | 4 +- cinder/api/contrib/volume_actions.py | 41 +- cinder/api/openstack/rest_api_version_history.rst | 22 +- cinder/api/v3/attachments.py | 4 +- cinder/api/v3/volume_metadata.py | 7 +- cinder/api/views/limits.py | 6 +- cinder/backup/api.py | 2 +- cinder/backup/chunkeddriver.py | 5 +- cinder/backup/drivers/gcs.py | 4 +- cinder/backup/drivers/s3.py | 5 +- cinder/backup/drivers/swift.py | 5 +- cinder/backup/manager.py | 10 +- cinder/cmd/backup.py | 4 +- cinder/cmd/manage.py | 3 +- cinder/cmd/volume.py | 5 +- cinder/db/sqlalchemy/api.py | 5 +- cinder/db/sqlalchemy/models.py | 4 +- cinder/exception.py | 5 + cinder/image/accelerator.py | 2 +- cinder/image/cache.py | 32 +- cinder/image/glance.py | 147 +++- cinder/image/image_utils.py | 64 +- cinder/locale/ja/LC_MESSAGES/cinder.po | 48 +- cinder/locale/zh_CN/LC_MESSAGES/cinder.po | 30 +- cinder/opts.py | 5 + cinder/privsep/cgroup.py | 24 +- cinder/scheduler/host_manager.py | 4 +- cinder/ssh_utils.py | 4 +- .../v3.55/volume-transfers-create-request.json.tpl | 2 +- .../volume-transfers-create-response.json.tpl | 2 +- .../v3.55/volume-transfers-show-response.json.tpl | 2 +- .../v3.57/volume-transfers-create-request.json.tpl | 8 +- .../volume-transfers-create-response.json.tpl | 8 +- .../v3.57/volume-transfers-show-response.json.tpl | 8 +- .../powerflex/mockup/query_sdc_by_id_response.json | 51 ++ .../mockup/query_sdc_instances_response.json | 53 ++ .../mockup/query_sdc_volumes_response.json | 128 +++ .../powerflex/test_attach_detach_volume.py | 7 - .../powerflex/test_initialize_connection.py | 77 +- .../test_initialize_connection_snapshot.py | 54 +- .../dell_emc/powerflex/test_power_flex_client.py | 167 ---- .../dell_emc/powerflex/test_powerflex_client.py | 380 ++++++++ .../volume/drivers/dell_emc/powerflex/test_sdc.py | 281 ++++++ .../drivers/dell_emc/powermax/powermax_data.py | 64 +- .../dell_emc/powermax/test_powermax_common.py | 52 ++ .../dell_emc/powermax/test_powermax_masking.py | 35 + .../dell_emc/powermax/test_powermax_nvme_tcp.py | 415 +++++++++ .../dell_emc/powermax/test_powermax_rest.py | 54 +- .../dell_emc/powermax/test_powermax_utils.py | 3 + .../drivers/dell_emc/powerstore/test_client.py | 5 +- .../volume/drivers/dell_emc/powerstore/test_nfs.py | 61 +- .../powerstore/test_volume_attach_detach.py | 3 +- .../volume/drivers/dell_emc/vnx/mocked_cinder.yaml | 2 - .../volume/drivers/dell_emc/vnx/mocked_vnx.yaml | 12 +- .../drivers/hitachi/test_hitachi_hbsd_mirror_fc.py | 8 +- .../unit/volume/drivers/ibm/test_storwize_svc.py | 247 +++++- .../drivers/netapp/dataontap/client/fakes.py | 98 ++- .../drivers/netapp/dataontap/client/test_api.py | 56 ++ .../netapp/dataontap/client/test_client_cmode.py | 1 + .../dataontap/client/test_client_cmode_rest.py | 154 +++- .../client/test_client_cmode_rest_asar2.py | 958 +++++++++++++++++++++ .../unit/volume/drivers/netapp/dataontap/fakes.py | 34 +- .../drivers/netapp/dataontap/test_block_base.py | 125 ++- .../drivers/netapp/dataontap/test_block_cmode.py | 68 +- .../drivers/netapp/dataontap/test_nfs_base.py | 15 +- .../drivers/netapp/dataontap/test_nfs_cmode.py | 4 +- .../drivers/netapp/dataontap/test_nvme_library.py | 360 +++++++- .../volume/drivers/netapp/dataontap/utils/fakes.py | 31 + .../netapp/dataontap/utils/test_capabilities.py | 50 +- .../drivers/netapp/dataontap/utils/test_utils.py | 49 +- .../drivers/nexenta/test_nexenta5_jsonrpc.py | 4 +- .../volume/drivers/nexenta/test_nexenta5_nfs.py | 4 +- .../drivers/veritas_access/test_veritas_iscsi.py | 10 +- .../unit/volume/flows/test_create_volume_flow.py | 18 +- cinder/volume/api.py | 21 +- cinder/volume/driver.py | 80 +- cinder/volume/drivers/datacore/driver.py | 2 +- cinder/volume/drivers/dell_emc/powerflex/driver.py | 344 +++++--- .../drivers/dell_emc/powerflex/rest_client.py | 122 ++- cinder/volume/drivers/dell_emc/powermax/common.py | 48 ++ cinder/volume/drivers/dell_emc/powermax/masking.py | 32 +- cinder/volume/drivers/dell_emc/powermax/nvme.py | 358 ++++++++ .../volume/drivers/dell_emc/powermax/nvme_tcp.py | 218 +++++ cinder/volume/drivers/dell_emc/powermax/rest.py | 85 +- cinder/volume/drivers/dell_emc/powermax/utils.py | 15 +- .../fujitsu/eternus_dx/eternus_dx_common.py | 4 +- cinder/volume/drivers/hedvig/rest_client.py | 2 +- cinder/volume/drivers/hitachi/hbsd_replication.py | 2 +- cinder/volume/drivers/hpe/hpe_3par_common.py | 9 +- cinder/volume/drivers/hpe/hpe_3par_iscsi.py | 30 +- cinder/volume/drivers/hpe/nimble.py | 2 +- cinder/volume/drivers/huawei/huawei_utils.py | 10 +- .../volume/drivers/ibm/storwize_svc/replication.py | 1 + .../ibm/storwize_svc/storwize_svc_common.py | 382 +++++--- cinder/volume/drivers/kioxia/kumoscale.py | 5 +- cinder/volume/drivers/netapp/common.py | 1 + .../volume/drivers/netapp/dataontap/block_base.py | 28 +- .../volume/drivers/netapp/dataontap/block_cmode.py | 121 ++- .../volume/drivers/netapp/dataontap/client/api.py | 17 +- .../drivers/netapp/dataontap/client/client_base.py | 4 + .../netapp/dataontap/client/client_cmode.py | 3 +- .../netapp/dataontap/client/client_cmode_rest.py | 92 +- .../dataontap/client/client_cmode_rest_asar2.py | 321 +++++++ cinder/volume/drivers/netapp/dataontap/nfs_base.py | 10 +- .../volume/drivers/netapp/dataontap/nvme_cmode.py | 24 + .../drivers/netapp/dataontap/nvme_library.py | 287 ++++-- .../drivers/netapp/dataontap/utils/capabilities.py | 62 ++ .../volume/drivers/netapp/dataontap/utils/utils.py | 103 ++- cinder/volume/drivers/netapp/options.py | 23 +- cinder/volume/drivers/netapp/utils.py | 19 + cinder/volume/drivers/nexenta/iscsi.py | 8 +- cinder/volume/drivers/nexenta/nfs.py | 7 +- cinder/volume/drivers/nexenta/ns5/jsonrpc.py | 4 +- cinder/volume/drivers/nexenta/ns5/nfs.py | 4 +- cinder/volume/drivers/nfs.py | 26 +- cinder/volume/drivers/pure.py | 607 +++++++++++-- cinder/volume/drivers/rbd.py | 57 +- cinder/volume/drivers/remotefs.py | 12 +- cinder/volume/drivers/synology/synology_common.py | 4 +- .../volume/drivers/veritas_access/veritas_iscsi.py | 10 +- cinder/volume/drivers/windows/smbfs.py | 2 +- cinder/volume/flows/manager/create_volume.py | 23 +- cinder/volume/manager.py | 66 +- cinder/volume/rpcapi.py | 14 +- cinder/volume/targets/nvmeof.py | 9 +- cinder/volume/targets/tgt.py | 10 +- .../drivers/brocade/brcd_fc_zone_client_cli.py | 10 +- .../drivers/brocade/brcd_http_fc_zone_client.py | 2 +- .../drivers/cisco/cisco_fc_san_lookup_service.py | 2 +- .../drivers/cisco/cisco_fc_zone_client_cli.py | 2 +- .../drivers/dell-emc-powerflex-driver.rst | 4 + .../drivers/dell-emc-powermax-driver.rst | 85 +- .../drivers/lightbits-lightos-driver.rst | 17 + .../drivers/macrosan-storage-driver.rst | 2 +- .../block-storage/drivers/pure-storage-driver.rst | 15 + mypy-files.txt | 1 + pyproject.toml | 3 + ...VMEM-6000-drivers-removed-9b6675ff7ae5f960.yaml | 2 +- ...dd-glance-service-section-3e73daee0e995442.yaml | 22 + ...p_libs_for_asar2_platform-6688b9f811645b96.yaml | 12 + .../notes/bp-dell-powermax-consistency-exempt.yaml | 15 + ...bp-dell-powermax-nvme-tcp-606b091620685c06.yaml | 4 + ...self-signed-https-support-cb30081d4465acd1.yaml | 18 + .../notes/bug-1518213-a5bf2ea0d008f329.yaml | 2 +- ...onsistency_group_failures-bb2a976dfe9454a4.yaml | 2 +- ...e_with_mirror_pool_option-83563770463ebbca.yaml | 7 + ...led-during-live-migration-bbd26bb157b076bf.yaml | 50 ++ ...-fix-type-passed-during-backup-restoration.yaml | 5 + ...fs-volumes-with-snapshots-e861d69b1ae6f97d.yaml | 7 + ...nitiator-property-missing-db8315541f94447f.yaml | 7 + ...-for-multiattached-volume-7202cecaeed5ecd0.yaml | 8 + ...ign-key-constraint-errors-8a60db1f0158b36e.yaml | 9 + ...vms-creation-device-issue-b9d82f7a826c9f2b.yaml | 8 + ...sable-image-cache-volumes-f87144726a717d28.yaml | 6 + ...x-improve-secret-handling-b1217791a9dceb1a.yaml | 34 + ...iple-initiators-connected-b1069bab32d86027.yaml | 6 + ...p-support-for-nvme-driver-102c67c706afc25c.yaml | 7 + ...netapp-iscsi-nvme-drivers-79da99111b086161.yaml | 24 + ...n-for-flexgroup-pool-zapi-4a6af85888a99a02.yaml | 14 + releasenotes/notes/cgroupsv2-75476a8e1ea88b5f.yaml | 5 + .../cinder_backend_aa_glance-300c8e087c8cf192.yaml | 6 + .../fix-500-http-error-on-resource-conflict.yaml | 8 + ...r-manage-groups-quota-bug-421ae9c9eb99b22f.yaml | 6 + ...ge-replicated-multiattach-9bc258d349e0f5a6.yaml | 7 + ...-nfs-optimized-create-vol-9eb43f2050bba74a.yaml | 6 + ...fix-nfs-vol-from-snapshot-654a07d25a33bf7d.yaml | 8 + ...ix-rbd-upload-diff-format-38fc4ef24d7145ba.yaml | 7 + .../fix-reimage-image-snap-15ecd5fce9973d5d.yaml | 5 + .../notes/get-driver-opts-924f72346ca1e459.yaml | 4 +- ...fix-gad-vol-compatibility-e9c62c18f7a12bc7.yaml | 14 + ...as-deprecate-iscsi-driver-cd521b3a2ba948f3.yaml | 2 +- ...de-changes-for-wsapi-2025-75a9fda5d994504c.yaml | 4 + ...-3par-ignore-duplicate-ip-7e67260ee1cab40e.yaml | 5 + ...ities-report-optimization-d1c18d9f62ef71aa.yaml | 2 +- ...for-temporary-volumegroup-3db871245b864a52.yaml | 11 + ...gregated-platform-support-a1b2c3d4e5f6g7h8.yaml | 46 + ...app-nvme-in-use-expansion-d11f03fb64050145.yaml | 14 + .../pure_consistent_hostname-419f9c31cb77e16d.yaml | 5 + .../notes/pure_eg1_dr-f08544454cfd105e.yaml | 7 + .../notes/pure_fix_clone_qos-4b80be464b506e4c.yaml | 7 + ...pure_fix_replica_interval-917cd01f23ac45cc.yaml | 7 + .../notes/pure_lacp_iscsi-34678bdb98fa6bab.yaml | 7 + .../pure_manage_quota_delete-dd24495e883498e7.yaml | 6 + .../notes/pure_per_gb_qos-0b96279d615b81a1.yaml | 7 + .../pure_realm_manage_fix-eb5fe76e7c55297d.yaml | 5 + .../pure_reconnect_failure-7bbc135eecc77695.yaml | 7 + .../pure_retype_sync_support-fe72a726f83cb063.yaml | 10 + .../notes/pure_vlan_lacp-d58f141282efb723.yaml | 6 + .../notes/pure_vol_tags-a2efbd9909697771.yaml | 5 + .../notes/remove-py39-7c8a2397befd6ecc.yaml | 5 + ...retype-assisted-migration-6cdc7f9b21beb859.yaml | 7 + ...up-starting-cinder-backup-76c1618b4cdb9d6e.yaml | 10 + releasenotes/source/2025.1.rst | 6 + releasenotes/source/index.rst | 1 + .../locale/en_GB/LC_MESSAGES/releasenotes.po | 57 +- .../source/locale/ja/LC_MESSAGES/releasenotes.po | 16 +- releasenotes/source/ocata.rst | 2 +- requirements.txt | 2 +- setup.cfg | 5 +- test-requirements.txt | 4 +- tools/config/generate_cinder_opts.py | 3 + tools/fast8.sh | 2 +- tox.ini | 6 +- 244 files changed, 10066 insertions(+), 1538 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index aa80ce097..0f9126073 100644 --- a/requirements.txt +++ b/requirements.txt @@ -19 +19 @@ oslo.log>=4.6.1 # Apache-2.0 -oslo.messaging>=14.1.0 # Apache-2.0 +oslo.messaging>=14.6.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index 0b0e20c6d..ca9e79286 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -7 +7 @@ hacking>=7.0.0,<7.1.0 # Apache-2.0 -flake8-import-order # LGPLv3 +flake8-import-order<0.19.0 # LGPLv3 @@ -21 +21 @@ doc8>=0.8.1 # Apache-2.0 -mypy>=1.7.0,<1.16.0 # MIT +mypy>=1.7.0,<1.18.0 # MIT
participants (1)
-
no-reply@openstack.org