We are psyched to announce the release of: cinder 14.0.0: OpenStack Block Storage This release is part of the stein release series. The source is available from: https://git.openstack.org/cgit/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 13.0.0.0rc1..14.0.0 ------------------------------------- 46363697d Handling filters in Generalized Filtering API 0a45cd5eb Replace openstack.org git:// URLs with https:// d3002f933 Update UPPER_CONSTRAINTS_FILE for stable/stein 96ba694fc Update .gitreview for stable/stein a8624f152 Fix Support Matrix - Pure does support Multiattach 645ffab6b Gate Fix: Bumping versions in lower-constraints.txt 42ce739a0 Fix VolumeAttachment is not bound to a Session c9aa071b3 Modify the configuration mode of FusionStorage Cinder Driver 51a55ab03 Automate generation of snapshots api-ref samples efa119ea9 Adds revert to snapshot feature to support matrix cbbb0c206 PowerMax docs - changing cinder tags to powermax 00c82f68d Use excutils.save_and_reraise_exception instead of reraise 64e60ba30 PowerMax driver - test fixes for _sanity_port_group_check 4a2230919 NetApp SolidFire: Fix misbehavior on account creation fb3b843b6 Add get_driver_options method 5e297be70 docs: mark rbd driver support for extending an in-use volume ade7d89c2 Revert "Remove truncate from rootwrap filters" f5a733c08 Revert "Use native python truncate for privsep" e6e21b011 NetApp SolidFire: Fix multi-attach volume deletion 042b22a07 Update required version of taskflow ad3b13dc8 Update minimal acceptable glanceclient 6eba403ba Create volume attachments status check. 6dd3b9c51 Add project_id in group snapshots list and show API f2eb78d43 Use 'target_helper' config opt in linstor driver a9a6abe07 Update oslo.privsep minimum requirement 583bc0899 Use new target_* options in documentation 963d71083 Remove py35 from setup.cfg 1542275a7 Add oslo.privsep to config-generator list 3a03d8b26 Fix typo in the comment c39182e01 Use config-table for dynamic config documentation 5d6ec316d Drop py35 jobs eefd8302b VNX: update sg in cache 8af8119ce Disable etcd3 for lio-barbican job ad0b6691e Extend timeout for database migration tests 83b90f78a Improve documentation of goodness/filter function f54964d52 api-ref: add qos_specs_id to show default volume type response 30aee0521 Update support matrix of Huawei driver 8cb3223e9 Define single place for irrelevant-files 7ad0b0660 Fix Snapshot object metadata loading 2e292ddeb Use native python truncate for privsep ed84f3456 Fix python3 compatibility of rbd get_fsid a62c9dfdd Remove truncate from rootwrap filters 4334e44bb Trim test list for lio-barbican job 6f9135b6a Tests: Fix up migrate notify tests aa13e3b3c Pylint: Filter out cinder.objects and requests E1101 175aaa879 Fix version return incorrect when endpoint url end without / d1bb1d76d Update section 'When do i need a new Microversion?' 71ca8578b docs: Add os-migrate_volume_completion api-ref d5b539be3 Doc8: Stop skipping D001: Line too long b6f9932f9 Include .inc files in doc8 linting 7bd44ded0 NetApp SolidFire: Thin provisioning scheduler support cad1dcb5f REST connector for Brocade zone driver 28a696ea6 Fix for auth version change in Brcd HTTP b295dd4a7 Remove drbdadm from filters ec6eaa21f Replace 'lvconvert' from rootwrap 49ba8943e PowerMax Driver - Unmanage Snapshot Improvements 8d972bec8 PowerMax driver - performance improvements 3e55f98aa PowerMax Driver - Unit Test Refactoring 306de66ed PowerMax driver - do an rdf_group check earlier b61747cdd Limit RBD discard to 32 bit chunks ab6bd04ec Fix incorrect replication info for RBD 67cb1bde7 Remove LOCI publishing from the post pipeline 6f93d64ff Add empty check before using zone driver 6145f8583 VNX Driver: delete_hba() instead of remove_hba() 75ba4f0db PowerMax driver - handle special case where IG exists 74ed84ba4 PowerMax driver - move pagination code to request a8b8ccc8d PowerMax driver - do the portgroup check earlier 1e6eb4c0e PowerMax driver - solve issue of concurrent snapvx operations 113361910 Compact DB migrations to Ocata 15d1a00a5 Automate generation of volume actions api-ref samples 2a00fffc6 Fix some miscapitalizations of VMware 4bafdb942 RBD: add support for multiattach 9638cc177 PowerMax Driver - Storage-assisted in-use retype support 303741a4b Use oslo.privsep for 'lvcreate' 7ad20622c Add Python 3.6 version in setup.cfg d3857c87e Update install docs to match default NFS config e0804ecec Update rbd thin-provisioning in support-matrix cb3d52f5d Remove legacy-tempest-dsvm-full-drbd-devstack job 6d899b612 Drop nova-multiattach job efc90273f Declare multiattach support for HPE MSA 6511f0a22 Remove 'tgtadm' from rootwrap ccffe1edf Huawei driver refactor(2/10) a8527f986 Adding microversion in releasenote "project_id response in groups" 311c5153b Support transfer pagination e362b80c6 Switch tempest-slow to be run on python 3 617df1a5d Remove LIO multiattach release note 1ae7ebb98 Fix HPE3PAR not returning cached stats b079d1a02 Add project_id in group list and show API 935bcdd8e Return WWN for validation in Pure Storage drivers 9fc3b1ac0 PowerMax Driver - Replication Settings Fix c41156434 PowerMax driver - code cleanup and minor improvements fa9881a89 QNAP: Add support for QTS 4.4.0 c15a32aba api-ref: Add cipher to update an encryption type interface 8da3ef7d4 VMAX driver doc - clarify PowerMax rebrand release note a67f714b4 Fix keystone auth config in install doc 912aecc18 Fix "import xxx as xxx" grammar e55195e88 Add missing ws seperator between words 10bf2e63e Add check_encryption_provider to volume utils e8fe5aaf6 fast8 improvements 45caa24e1 Huawei driver refactor(1/10) 4fc296370 Cleanup rootwrap filters e0048d4c9 Fix gigabytes usage error when deleting snapshot group 9da039776 Report msg error when cannot revert to snapshot 0565732a1 Fix for HPE MSA 2050 login failures 16b434617 Pass image_id to ImageDownloadFailed 73372c279 Update FusionStorage Cinder Driver by using REST API 5d39f6710 Move Fujitsu ETERNUS DX related file 8c1321939 Correct default policy_file in the sample config 26ede0348 Remove 'lvrename' from rootwrap 64d4f717f LinstorDrv : Fix wrong key using when getting device path. 93519a02c Create new image volume cache entry when cloning fails 048cae856 Refactor on policy in code fa7130388 Add policy test for volume extend/retype/update_ro policy d5fd3d069 Add policy test for volume metadata policy 7ce8b02c0 Add policy test for volume action policy e6f2b98c2 Add policy test for volume update/del policy d0e913f60 VMware: Implement retype b4ed801ed VMware: Release notes for vmware_storage_profile c841dce83 Temporary solution for fixing gate test_tpool_size 3e16dfff8 Improve volume transfer records c71fb7839 PowerMax driver - changing from 8.4 to 9.0 REST endpoints 1defe7392 Handle 'is_public' filter in volume-type list 6ba39e4a9 Automate generation of volumes api-ref samples 36cdc4434 Imported Translations from Zanata a742569dc Implement volume capacity stats for VMware 89e1b0258 Switch ietadm to use olso.privsep 9fc2a8258 Enable some tests in the cinder.tests.unit.test_cmd module for MacOS ed02273d2 Initiating Cinder Volume Manager with large number of volumes 133617828 Avoid using 'truncate' on Windows 76fd03819 PowerMax driver - rebranding VMAX to PowerMax 85a54e940 [Doc] Fix typos fc7d3f890 Fix for CI information in SPDK volume driver dd686d054 Add test case: extend non-exist volume 0a34a5a29 Reset snapshot status available c3882d905 Add test case: retype volume when driver not initialized 26bce3edd Add test case: delete snapshot when driver not initialized c5c5c009f Automate generation of API versions api-ref samples 13993b854 NetApp Doc: Enhance 'netapp_storage_protocol' description bf20ec50f SPDK drivers documentation 3c17fd549 Fixup some issues of Inspur AS13000 cinder driver 64d7a04c1 add resource filters to the included data_files 356ef75fb LINBIT DRBDManage driver moves to maintenance mode 2f73b9fc8 Fix Xtremio driver configuration ordering c6580b2ab Support deferred deletion in RBD 0c106f3af Remove those copy words occured twice times in dell-emc-vmax-driver.rst 8c04a9a92 Add new LINSTOR volume driver e08707b06 Hedvig Cinder driver implementation 864c074ff cinder-volume: Stop masking IOError different than ENOSPC 17aa17610 Add missing backup status in API doc 94391a33b Using wrong parameter in test_backup_ceph 283e1c219 Move 'attach.end' notify to attachment_complete 52d0f8a66 Mask passwords in utils.trace for func params 785435a18 Fix CI failed: test_get_volume_filter_options_using_config 306d55f7d QNAP: Support QES FW on TDS series NAS c96c08467 ScaleIO: Fix Extra Spec parameter name in driver doc 5bc5af7a9 Remove support for NetApp E-Series systems de0dc8597 Adding SPDK volume driver f3bc40ec3 Delete related encryption provider when a volume type is deleting 32ef92fa4 Fix retype notifier test case (BackupNFSTestCase) c119ab87b [api-ref] Fix the parameter of image metadata 6b863310e Handle string status codes in logging 44aea00c7 VMAX Driver - Failover Unisphere Support 6c261d81d Remove vgc-cluster 07180623f Remove 'ln' command from rootwrap filter 74134b054 Add policy configuration howto 923fc5207 Remove umount from volume.filters 0555c1bfa Refactor for Veritas iSCSI driver. 53ec4c8c4 Add x_project_id, accepted to transfers 8dfec08fd Add policy test for volume create policy cea54bb54 Ignore migration 127 error on MariaDB 17bef5e59 [Unity] Storage-assisted migration support b4b54918a Use renamed template 'integrated-gate-py3' 8ff9154ff Allow to use _max qos option together with per_gb bffd16608 Driver reinitialization after failure 052b6278b Correct the use of assertTrue 709b49516 Revert "Synchronize all LVM operations" 9249131ea Update IBM storwise svc driver doc b389c18bd api-ref: volume_type_access should be array instead of object b9b260a0a Fix _per_gb_min usage with _per_gb 80fdc0a71 Set message property in ImageDownloadFailed 541168b86 Fix A/A 'resource_backend' when scheduling volumes d6bcebcd2 Add irrelevant-files for integrated test jobs 5ca4c3573 Handle image download and conversion errors 206f980cc Synchronize all LVM operations 2627dee2a Rename BackupNFSSwiftBasedTestCase de89f6c37 Cinder volume driver for Inspur AS13000 series 03867e3e8 Add user_id in backup list and show API 1fb342cba Fix permissions with NFS-backed snapshots and backups af54b296e VMware: Storage policy support 85c13f73f VMware: Add support for vStorageObject snapshots d40b0b8b5 Make policy config docs consistent b082ae0b0 Revert "Ceph driver should respect the `--incremental` option for backups" eb10e4378 api-ref: add response body for set-image-metadata-for-a-volume b52003fb8 Revert "Move check_encryption_provider to volume utils" 546faf0cd VMAX Driver - VMAX OS Upgrade Bug cc6976704 PowerMax driver doc - clarifying SE and Unisphere support 1b95d14a3 Doc: Remove unnecessary note 7f2961f43 Extract copy_image_to_volume into volume utils e4de4fb33 Ensure image utils don't block greenthreads 179ebac5d Adding missing Volume states to VolumeStatus enum 67150217c Automate generation of api-ref samples 81f301476 Add policy test for TENANT_ATTRIBUTE_POLICY 2cd694046 Imported Translations from Zanata 13c59aebd Add missing ws seperator between words 45b313ae4 Change a function name of swift backup a2b9d4dd9 Tests : notifier problem with backup fcf0e5718 Change openstack-dev to openstack-discuss d433143ba Add secret=true to fixed_key configuration parameter f6c60d1d9 Cleanup code duplication in cinder.cmd.backup module 0db593d86 Fix the problem of the scheduler status 7d7dc2659 Check Volume Status on attahcment create/update 13499f589 Stop cleaning images to be deleted in remotefs driver e1fc723db Retry on DBDeadLock affecting worker updates cb1a4b161 Add test case: clone volume with bad size ee1ac5412 Remove deprecated query_volume_filters config option f6c11c2ce Correct default policy file 278028390 VMAX Driver - Place volume in SG as part of unmanage volume e810df119 PowerMax driver doc - removing support for VMAX2 797c5aa78 Ceph driver should respect the `--incremental` option for backups 7fba6fdc4 api-ref: fix some issues in volumes interfaces b738fc20f VMware: Check empty provider location c5cf4de6c Ignore updated stable release note 892e402c8 [Doc] Fix status and parameters of vol connection api 27c7829d5 Imported Translations from Zanata 593d8dfa7 An alternate way to fix retype notifier test case e7732680e api-ref: document encryption type provider choices 92f6ac216 Imported Translations from Zanata d85308c83 api-ref: volume summary is available from v3.12 18d0576bb Revert "Remove mount from volume.filters" cb96d2da3 Adding SPDK NVMe-oF target driver bf21cfff4 doc: Change variable name DEFAULT_API_VERSION to _MIN_API_VERSION 37091909c Block broken requests 2.20.0 4933a6ea6 [api-ref] Fix the value of project_id 88c62c1ca NetApp SolidFire: Revert volume to snapshot d0b59152e lvm: Avoid premature calls to terminate_connection for muiltiattach vols 45dc058c5 api-ref: fix succeed code and add field for update-backup 192da355b api-ref: add missing volumes_links in list-volume interfaces 49d73ef83 api-ref: Adding backup create response example 3c4daedbb Add policy test for volume GET_ALL_POLICY 472253d4d Imported Translations from Zanata 9f95ae9dc Set right attach mode after migration 43490897c api-ref: fix response example of list-backups 3c2a22f75 Make lower constraints CI works well cf11b8dfe api-ref: fix response code and data type for volume interfaces f6efd52ed Imported Translations from Zanata 609412fcd Improve/Clean api-ref parameters 54900fd86 [Trivial Fix] Correct spelling error of "bandwidth" 0af13cb6a Add test coverage to manage existing flow c3149ebc4 VMAX driver - allow for a clean system with no initiator groups 3773f8905 Drop simplejson usage 028af5cd6 Remove Babel from requirements b9c59caaa Update docs landing page to follow guideline cf80d437a api-ref: Correct response body type for show host details 24dd74748 Increase the length of resource property in quota_usages 70a79d7b4 Remove DeprecationWarning of "decodestring()" 6fee4e260 VMAX Driver - Fix for invalid device id length c37623640 Remove out-of-date configurations in setup.cfg ef2a58238 Add policy test for volume:force_delete 553fbb2a3 add missing comma 5faeb70b7 Simplify the policy test case 3d7af7d43 Fix a typo in multiattach doc 50a1ed71c Remove setup.py check from pep8 job 4ba0306d5 [Trivial] Fix typo in comment in delete_volume 47726407f Update backup flow for CephBackupDriver 076fcbedb Imported Translations from Zanata 9e8c45892 Handle rbd.OSError on broken RBD image 043ada94e Fix non iSCSI attach serialization 67b2159f2 Set user message on volume create failure a7c68715c Imported Translations from Zanata a16f83b89 Raise the ImageTooBig exception when found it b4a7d5067 Move tgt targets to privsep c3f0c1fc2 Fix and Optimize : retype tests ec7977b76 hpe 3par driver initialization failure 6b852e859 api-ref: cleanup status conditions for backup/restore APIs f3d6ae88a PY3: Ensure rados.Object.read/write use byte data bfc27c9ab Forbidden to revert volume to a different size snapshot 525a78315 Fix debug message for _copy_volume_data 9703e14cb Remove scstadmin from rootwrap cad6f2721 [Trivial] Replace 'action' with 'command' in cinder-status doc 534fa38f4 Allow using forward slashes in metadata 9d43d22bf Fix unexpected behavior in _clone_image_volume a86eb80b2 Remove scsi_id from rootwrap filter ca81be15a Remove mount from volume.filters 47eb87fc4 Drop drv_cfg from rootwrap filters d02aebf2a Remove touch command from volume.filters 753861735 Imported Translations from Zanata d47486d31 cinder-manage online_data_migrations fixes d3afc3946 Handling unexpected python error "NoneType object is not iterable" 1729c889c Base framework for cinder-status upgrade check 0f3375689 api-ref: add missing fields in volume group types 5f43041ab Huawei: Simplify wait_for_condition calls 2cc688e05 Update sphinx extension logging 409e9796f Restructure Huawei driver 157f6392a VMAX: set faked max_oversubscription_ratio 0ff0cbf74 Move cinder-manage page to cli doc subtree 5c82ba8b4 api-ref: fix some inconsistencies in snapshot API e82a84261 Add test-requirements to pylint reqs 94641537b Rename cinder.privsep.utils to cinder.privsep.path 6449d734c Adding regression test for update_group b742179f3 DS8K: correct the usage for ssl method(SSLContext.wrap_socket) 33e487695 Fix: storage_pools key in Huawei Driver 1b2a16788 Imported Translations from Zanata e468e97ab Fix for field type error dd03b287f fix misspelling of available 5084f84a9 Imported Translations from Zanata 1dc0238e1 Increment versioning with pbr instruction 441a1c236 Mark Veritas HyperScale Driver Unsupported 84d2a8b09 Cinder Backup: object_count value incorrect 91788d1ce Extract volume image metadata into volume utils c14b86d3c Extract _get_image_metadata into volume utils 3b351b267 Use tempest-pg-full c1007ed82 Remove the ITRI DISCO driver fdc10686c NFS Backup: Avoid TypeError in os-brick when not configured 89ae27d21 [minifix] Update reno formatting on Quobyte driver defaults change cd33e6d84 api-ref: totalSnapshotsUsed in limits response should be integer e16598066 Add column only when it doesn't exist 3269da58d VNX: Add constraints for async migration f207bac80 Remove volume:get policy from test policy file 16192bc74 Replace openSUSE experimental check with newer version 042ad4025 Fix for cinder-manage db purge ae832f0b2 Follow Up: Generalizing is_replicated_str to is_boolean_str 30568ee1a api-ref: Add response fields and response example for snapshot manage fbf431abe api-ref: remove created_at from response example of list-transfer b07c91abd Handle drivers that do not support list manageable 61c438710 Fix doc output examples 2ec51c391 Fix: UnboundLocalError variable referenced before assignment a065af3c2 api-ref: Add response fields and response example for volume manage 6cf93c2f8 api_ref: total_capacity and free_capacity can be float 978f02d21 Stop using deprecated rpc_backend option 8ca71f5b5 Don't quote {posargs} in tox.ini 792959422 Imported Translations from Zanata 69b143012 api-ref: qos and extra_spec are optional in types view 0b8b3a4b4 Fix wrong uuid recognized when create group a60fd0a61 api-ref: Fix namespace parameter for backend capabilities 7532e5af8 Imported Translations from Zanata d1b3adfbe SF ensure the correct volume is deleted 3aec9e223 Mark the Nexenta Edge driver unsupported 5d94e7fc5 Mark the Tintri driver unsupported 0b8bf9b7f Remove source_replica info from api-ref a5ce711a5 Remove sg_scan 330fa5b14 Update unit test debug instructions 1323ef738 API-REF:os-quota-sets v2 API reference has the wrong parameters 7f49aa7bd VMAX docs - Replace serial_number 48fbd291a Remove the HGST Flash Storage Driver 5d2f6f76e Add missing 'is_public' volume type parameter b2d0ac0c2 nimble storage: support for force detach fb17168c2 nimble storage: retype support 340d162a2 Use Tempest slow job to run all slow tests 8d161d9d1 api-ref: Change extensions updated type to updated_at dd9e1764e api-ref: remove encryption from Show-an-encryption-type a87f2b92d hosts api ref: all fields should be of type string c03f3c891 Remove systool from rootwrap b735c44c2 Add tests for multiattach check in cinder.objects 81107c992 Clean up the deprecated description in doc f037d6a26 Fix wrong NotFound in get_by_name_or_id bb703a9f4 api-ref: add missing response body for groups 2cfc44767 Fix CLI output examples 7f85be418 Fix multiattach set to false after retype 62ae6f899 Update Dell EMC Driver's multi-attach Support c3b842a99 Fix backup driver configuration examples in the documetation c14121024 api-ref: add missing fields in volume types 8fec696bf api-ref: total/free_capacity should be with postfix _gb be156c2d0 api-ref: namespace in extensions is optional 68c803843 Fix pylint warning 3ae2bd672 Exclude disabled API versions from listing d6a19e403 Enable split logging for cinder-keystoneclient interaction 348b7a9f7 Remove unecessary pass 94428fbf0 VMAX Driver - Fix for manage volume if volume is part of SG 3eda3fa7a api-ref: clarify volume_type param in volume create API b2276d693 api-ref: fix req/resp params for v3 os-quota-class-sets 00c5d946c api-ref: mark name as optional in volume create API 134d03609 Fix DRBD volume driver creating a 2-volume resource fe0a71b59 ZFSSA iSCSI implement get_manageable_volumes() 37ffab3e2 Get rid of keys() usage 985509a3a Imported Translations from Zanata 764b7b736 Fix bug of renaming volume with same name c5d3396ca Fix some inconsistencies in qos-specs api ref 530fb9319 Propose example volume protection tests bf0a685c2 services api ref: fix field enum value and add missing field 1d33595de ZFSSA iSCSI driver doc fix - allow_rename auth/o 023c8f64e ZFSSA handle manage nonexistent volume e0baecf01 Adding variable for total gigabytes used by snapshot param ffb955602 [Optimize] Use OVO when retrieve volume object 027e5b23f Add microversion history to api-ref 3308fa733 Dell PS Driver moves to maintenance mode dd5f13644 Remove udevadm from rootwrap 7262964ce VMAX Rocky doc - version information edcf82fd5 Fix some inconsistencies in messages api ref 4088690df Fix typos in volume api ref doc cf805cd3b Remove aoe-revalidate, aoe-discover, aoe-flush b67e2de51 VMAX Driver - Rollback for manage existing volume 396086ad8 ZFSSA volume driver REST client python3 fixes 74249de63 Fix image volume cache max size and max count limits 4d54ceaa1 Move hscli to privsep 0e6b36c9d Imported Translations from Zanata ca4e83aa6 3PAR: Update Storage Driver docs 6b3456532 Imported Translations from Zanata e0b7c1153 EMC ScaleIO driver does not honor create from snapshot volume size 643b53c04 Link to the in-tree driver support matrix from multiattach docs 5c7b5a2d1 Imported Translations from Zanata 04ce5179b api-ref: document no_snapshots default for volume transfer API 8f13d2e42 api-ref: add preconditions for volume transfer APIs 2cd5957c5 Add comment to online data migration command c40c28922 Rename devstack-plugin-ceph jobs 18570a716 Fix wrong filter of backups in db api 290240abe Fix indentation in docs fe421fe4b Remove resolve_hostname 9da2a3363 Imported Translations from Zanata 39defc040 Clean up bare raised pylint warning 7c50366f4 Fix pylint warnings for "unnecessary not" 7c192b6d2 Update Zuul configuration cb16d7d7d add python 3.6 unit test job 29f651106 switch documentation job to new PTI c369493e8 import zuul job settings from project-config 4310dbc4d Ds8k: Mock evenlet.sleep calls 65111bb84 Fujitsu DX: Add retries for busy error c47ac17c4 Ensure VNX unit tests don't sleep adcfb4f97 Simplify running pylint 9585e6a15 Tintri: Inherit tests from BaseDriverTestCase 8d9090700 NetApp SolidFire: Fix CG snapshot deletion 777832838 Imported Translations from Zanata 030d89369 Modify Pure driver to configure PG/Pod names f02232599 Move check_encryption_provider to volume utils 797769371 Imported Translations from Zanata 062cf65de Move release note to the releasenotes/notes dir 62bdcbf7a NetApp SolidFire: Fix force_detach cb114e555 fix misspelling of 'configuration' 8dff3d498 Remove deprecated HPE Lefthand config opts 258beef26 VMware: Fix revert-to-snapshot f09924d32 VMware: Remove member initialization in properties 28374983d Move sphinx-feature-classification to docs reqs 091261773 Simplify hostname lookup 16cde6200 Imported Translations from Zanata c157425cc tintri: Remove _resolve_hostname 77c0d752d trival: Fix some spacing issues 891f0478f Fix typo a7dca2e78 Update doc for get-pools API 9fef136af Avoid using dict.get() in assertions 9973dc0d0 Imported Translations from Zanata 19dd18b17 Remove auth_uri usage 0d1c7b1d8 3PAR: Added retries on volume deletion 50586c61b VMAX Driver - Initiator retrieval short hostname fix 10e21d9e9 SIO: Clean up padded volume comments 7417a34b2 Add test case: create volume from source volume 925376527 Fix IPv6 for Cinder NetApp ONTAP drivers 9ce025835 Remove cinder-tox-compliance job d7537286f Correct the link of 'OpenStack Documentation Contributor Guide' 13a6689cc Fixed invalid number of arguments bug in ScaleIO driver b4883db7c LVM: Disable multiattach for LIO iSCSI target ba75074ae Replace assertRaisesRegexp with assertRaisesRegex 182befced Fix deprecation warnings 0b21419b9 VMAX doc - important known issue 86f62022e Drop legacy backup service support f448532b2 Changed default behaviour of nas_secure_file_* for Quobyte driver 890c4b181 Imported Translations from Zanata 76cc9bd02 api-ref: add docs for os-migrate_volume API 8d0dea694 Remove deprecated sio_allow_non_padded_thick_volumes 3f631351e Remove flashsystem_multipath_enabled opt 64dd6475f Dell EMC: Added excluded_domain_ips ListOpt to SC driver b428e25fa Remove WindowsDriver mapping e44984662 Remove deprecated iSCSI target config opts 0376b8c56 Imported Translations from Zanata 3541146aa Remove os-image-create API extension 972cff5a3 Make divisibility py3 compatible in DRBD driver 9a963b82e Xtremio: Remove unused constant afae1e4b4 Raise HTTPUnsupportedMediaType when content type is unsupported af66bce67 Add 'volume_attachment' to volume expected attributes b54b2de4e ScaleIO: Deprecate sio_allow_non_padded_thick_volumes 63a3054c5 Make solidfire code py3-compatible 0652085f2 Imported Translations from Zanata 9a8d738aa Add api-ref for mv 3.55 volume transfer 4eb6e7420 Fix support indicator for rbd extend attached 949cc46e1 ScaleIO: Disable volume creation without padding ebc9a12a1 Add policy granularity to the encryption API ecaac074c Fix api-ref title levels and index cb3c2bdd4 Fix XTREMIO driver name f3daa36d5 Add False check when do _retype_error 49f3c57d9 Add retry to LVM deactivation 0f5e330b2 [Docs] Update some links for Gerrit of Code Reviews 76db8cf76 Optimizing code (wrap_socket()) 0109b874a Save the backup.service just before _run_backup 043ac5e57 Make code py3-compatible (global callable()) 99e925a82 Update document for metadata show API 656a93a38 Reserve 3 migrations for DB backports 488107cdd Imported Translations from Zanata 182c578bf Imported Translations from Zanata 9089982ef NetApp SolidFire: Fix NetApp SolidFire SSL option 12d9b71da Imported Translations from Zanata 285fbc644 Remove the CoprHD driver 4d099370b Update reno for stable/rocky 0192397f7 Default functional tests to use v3 API df41cd517 Add retries to delete a volume in the Nimble Driver 3a5f83be2 Add volume create schema enforcement unit tests c3ea5da0b Note max API version for Rocky eb1ccb845 VMAX driver - releasenote fix fa1b8b399 Handle multiattach attribute when managing volumes a0b97e464 LVM: Enhance option descriptions a780ea60e Ceph backup: set close_fds on Popen 0bf81e69d Adds Overlay Volumes Created from Snapshots to Quobyte 12fab51ef Adds more validations in create_snapshot e08da42d8 Fix group availability zone-backend host mismatch 8c3b77293 Fix Dell EMC Xtremeio drivers report wrong value d628f3256 Update auth_uri option to www_authenticate_uri c9d832770 api-ref: modify 'keys' description d9da5ccd6 Add delete snapshot preconditions 7e5916ecd Allow extension of volumes with snapshots for VZstorage driver 1c5f5e58f Skip masking of command output over ssh Diffstat (except docs and test files) ------------------------------------- .gitreview | 1 + .pylintrc | 230 + .zuul.yaml | 178 +- HACKING.rst | 15 +- api-ref/source/api_microversion_history.rst | 1 + api-ref/source/index.rst | 8 + api-ref/source/v2/capabilities-v2.inc | 2 +- api-ref/source/v2/consistencygroups-v2.inc | 6 +- api-ref/source/v2/ext-backups-actions-v2.inc | 6 +- api-ref/source/v2/ext-backups.inc | 13 +- api-ref/source/v2/hosts.inc | 6 +- api-ref/source/v2/index.rst | 1 + api-ref/source/v2/os-vol-pool-v2.inc | 6 +- api-ref/source/v2/os-vol-transfer-v2.inc | 6 + api-ref/source/v2/parameters.yaml | 187 +- api-ref/source/v2/qos-specs-v2-qos-specs.inc | 2 +- api-ref/source/v2/quota-classes.inc | 6 +- api-ref/source/v2/quota-sets.inc | 106 +- .../v2/samples/pools-list-detailed-response.json | 8 +- .../source/v2/samples/snapshot-show-response.json | 3 +- .../v2/samples/snapshot-update-response.json | 1 + .../samples/snapshots-list-detailed-response.json | 9 +- .../source/v2/samples/snapshots-list-response.json | 9 +- .../volume-image-metadata-update-response.json | 14 + .../samples/volume-metadata-show-key-response.json | 0 .../samples/volume-os-migrate_volume-request.json | 5 + ...olume-os-migrate_volume_completion-request.json | 6 + .../v2/samples/volumes-list-detailed-response.json | 6 +- .../source/v2/samples/volumes-list-response.json | 6 +- api-ref/source/v2/volume-manage.inc | 38 +- api-ref/source/v2/volume-type-access.inc | 3 +- api-ref/source/v2/volumes-v2-extensions.inc | 2 +- api-ref/source/v2/volumes-v2-snapshots-actions.inc | 5 +- api-ref/source/v2/volumes-v2-snapshots.inc | 49 +- api-ref/source/v2/volumes-v2-types.inc | 6 +- api-ref/source/v2/volumes-v2-volumes-actions.inc | 166 +- api-ref/source/v2/volumes-v2-volumes.inc | 14 +- api-ref/source/v3/api-versions.inc | 2 +- api-ref/source/v3/attachments.inc | 64 +- api-ref/source/v3/capabilities-v3.inc | 4 +- api-ref/source/v3/consistencygroups-v3.inc | 40 +- api-ref/source/v3/ext-backups-actions-v3.inc | 6 +- api-ref/source/v3/ext-backups.inc | 100 +- api-ref/source/v3/group-replication.inc | 8 +- api-ref/source/v3/group-snapshots.inc | 56 +- api-ref/source/v3/group-type-specs.inc | 29 +- api-ref/source/v3/group-types.inc | 32 +- api-ref/source/v3/groups.inc | 63 +- api-ref/source/v3/hosts.inc | 12 +- api-ref/source/v3/index.rst | 3 +- api-ref/source/v3/limits.inc | 2 +- api-ref/source/v3/messages.inc | 10 +- api-ref/source/v3/os-cgsnapshots-v3.inc | 22 +- api-ref/source/v3/os-services.inc | 76 +- api-ref/source/v3/os-vol-pool-v3.inc | 6 +- api-ref/source/v3/os-vol-transfer-v3.inc | 6 + api-ref/source/v3/parameters.yaml | 934 ++- api-ref/source/v3/qos-specs-v3-qos-specs.inc | 39 +- api-ref/source/v3/quota-classes.inc | 16 +- api-ref/source/v3/quota-sets.inc | 13 +- api-ref/source/v3/resource-filters.inc | 4 +- .../source/v3/samples/backup-show-response.json | 1 + .../v3/samples/backups-list-detailed-response.json | 2 + .../source/v3/samples/backups-list-response.json | 71 +- .../extensions/extensions-list-response.json | 221 + .../v3/samples/group-create-from-src-response.json | 6 + api-ref/source/v3/samples/group-show-response.json | 3 +- .../group-snapshots-list-detailed-response.json | 6 +- .../v3/samples/group-snapshots-show-response.json | 3 +- .../v3/samples/group-types-list-response.json | 8 +- .../v3/samples/groups-list-detailed-response.json | 6 +- .../v3/samples/pools-list-detailed-response.json | 8 +- .../v3/samples/snapshot-create-response.json | 15 - .../v3/samples/snapshot-manage-response.json | 17 + .../snapshot-metadata-show-key-response.json | 5 - .../samples/snapshot-metadata-show-response.json | 5 - .../snapshot-metadata-update-key-request.json | 5 - .../source/v3/samples/snapshot-show-response.json | 15 - .../v3/samples/snapshot-update-response.json | 12 - .../samples/snapshots-list-detailed-response.json | 20 - .../source/v3/samples/snapshots-list-response.json | 21 - .../{ => snapshots}/snapshot-create-request.json | 4 +- .../snapshots/snapshot-create-response.json | 15 + .../snapshot-metadata-create-request.json | 0 .../snapshot-metadata-create-response.json | 5 + .../snapshot-metadata-show-key-response.json | 5 + .../snapshot-metadata-show-response.json} | 2 +- .../snapshot-metadata-update-key-request.json | 5 + .../snapshot-metadata-update-key-response.json | 5 + .../snapshot-metadata-update-request.json | 5 + .../snapshot-metadata-update-response.json | 5 + .../samples/snapshots/snapshot-show-response.json | 17 + .../samples/snapshots/snapshot-update-request.json | 6 + .../snapshots/snapshot-update-response.json | 15 + .../snapshots-list-detailed-response.json | 19 + .../samples/snapshots/snapshots-list-response.json | 17 + .../{ => versions}/version-show-response.json | 8 +- .../v3/samples/versions/versions-response.json | 52 + .../source/v3/samples/volume-create-response.json | 34 - .../volume-image-metadata-update-response.json | 14 + .../source/v3/samples/volume-manage-response.json | 33 - .../samples/volume-os-migrate_volume-request.json | 5 + ...olume-os-migrate_volume_completion-request.json | 6 + .../source/v3/samples/volume-show-response.json | 31 - .../v3/samples/volume-transfer-create-request.json | 2 +- .../samples/volume-transfer-create-response.json | 3 + .../v3/samples/volume-transfer-show-response.json | 3 + .../volume-transfers-list-detailed-response.json | 6 + .../v3/samples/volume-transfers-list-response.json | 2 - .../v3/samples/volume-type-access-add-request.json | 5 - .../samples/volume-type-access-list-response.json | 6 - .../v3/samples/volume-type-default-response.json | 11 - ...me-type-specific-extra-specs-show-response.json | 3 - .../volume-upload-to-image-request.json | 0 .../volume-upload-to-image-response.json | 16 +- .../volume-manage-request.json | 2 +- .../volume-manage-response.json | 17 + .../encryption-type-create-request.json | 0 .../encryption-type-create-response.json | 0 .../encryption-type-show-response.json | 0 ...cryption-type-specific-specs-show-response.json | 0 .../encryption-type-update-request.json | 3 +- .../encryption-type-update-response.json | 3 +- .../volume-type-access-add-request.json | 5 + .../volume-type-access-list-response.json | 8 + .../volume-type-all-extra-specs-show-response.json | 5 + .../volume-type-create-request.json | 0 .../volume-type-create-response.json | 9 +- .../volume-type-default-response.json} | 3 +- ...ume-type-extra-specs-create-update-request.json | 0 ...me-type-extra-specs-create-update-response.json | 0 .../volume_type/volume-type-show-response.json | 13 + ...me-type-specific-extra-specs-show-response.json | 3 + ...e-type-specific-extra-specs-update-request.json | 0 ...-type-specific-extra-specs-update-response.json | 0 .../volume-type-update-request.json | 0 .../volume-types-list-response.json | 24 +- .../v3/samples/volumes-list-detailed-response.json | 10 +- .../source/v3/samples/volumes-list-response.json | 4 + .../v3/samples/volumes/volume-create-request.json | 22 + .../v3/samples/volumes/volume-create-response.json | 34 + .../volumes/volume-metadata-create-request.json | 5 + .../volume-metadata-create-response.json | 2 +- .../volumes/volume-metadata-show-key-response.json | 5 + .../volume-metadata-show-response.json | 2 +- .../volume-metadata-update-key-request.json | 2 +- .../volume-metadata-update-key-response.json | 2 +- .../volumes/volume-metadata-update-request.json | 5 + .../volume-metadata-update-response.json | 2 +- .../v3/samples/volumes/volume-show-response.json | 38 + .../v3/samples/volumes/volume-update-request.json | 9 + .../{ => volumes}/volume-update-response.json | 44 +- .../volumes/volumes-list-detailed-response.json | 40 + .../v3/samples/volumes/volumes-list-response.json | 18 + api-ref/source/v3/snapshot-manage.inc | 30 +- api-ref/source/v3/valid-boolean-values.inc | 24 +- api-ref/source/v3/vol-transfer-v3.inc | 42 +- api-ref/source/v3/volume-manage.inc | 45 +- api-ref/source/v3/volume-type-access.inc | 7 +- api-ref/source/v3/volumes-v3-extensions.inc | 6 +- api-ref/source/v3/volumes-v3-snapshots-actions.inc | 4 +- api-ref/source/v3/volumes-v3-snapshots.inc | 148 +- api-ref/source/v3/volumes-v3-types.inc | 94 +- api-ref/source/v3/volumes-v3-versions.inc | 4 +- api-ref/source/v3/volumes-v3-volumes-actions.inc | 200 +- api-ref/source/v3/volumes-v3-volumes.inc | 153 +- api-ref/source/v3/worker-cleanup.inc | 4 +- bindep.txt | 3 + cinder/api/common.py | 18 +- cinder/api/contrib/volume_transfer.py | 4 +- cinder/api/contrib/volume_type_encryption.py | 28 +- cinder/api/microversions.py | 8 + cinder/api/middleware/fault.py | 2 +- cinder/api/openstack/api_version_request.py | 10 +- cinder/api/openstack/rest_api_version_history.rst | 34 +- cinder/api/openstack/wsgi.py | 23 +- cinder/api/v2/volumes.py | 11 +- cinder/api/v3/attachments.py | 3 + cinder/api/v3/backups.py | 14 + cinder/api/v3/views/group_snapshots.py | 14 +- cinder/api/v3/views/groups.py | 6 + cinder/api/v3/volume_transfer.py | 44 + cinder/api/v3/volumes.py | 25 +- cinder/api/validation/parameter_types.py | 4 +- cinder/api/validation/validators.py | 6 +- cinder/api/versions.py | 12 +- cinder/api/views/transfers.py | 14 + cinder/api/views/versions.py | 2 + cinder/backup/api.py | 4 +- cinder/backup/chunkeddriver.py | 11 +- cinder/backup/driver.py | 4 +- cinder/backup/drivers/ceph.py | 24 +- cinder/backup/drivers/gcs.py | 4 + cinder/backup/drivers/glusterfs.py | 4 + cinder/backup/drivers/nfs.py | 9 +- cinder/backup/drivers/posix.py | 4 + cinder/backup/drivers/swift.py | 6 +- cinder/backup/drivers/tsm.py | 9 +- cinder/backup/manager.py | 53 +- cinder/brick/local_dev/lvm.py | 19 +- cinder/cmd/backup.py | 20 +- cinder/cmd/manage.py | 71 +- cinder/cmd/rtstool.py | 10 +- cinder/cmd/status.py | 47 + cinder/cmd/volume_usage_audit.py | 2 +- cinder/common/config.py | 132 +- cinder/db/api.py | 33 +- cinder/db/migration.py | 2 +- cinder/db/sqlalchemy/api.py | 137 +- .../versions/086_create_default_cgsnapshot_type.py | 68 - .../087_allow_null_request_id_in_message.py | 21 - .../088_add_replication_info_to_cluster.py | 34 - .../versions/089_add_cluster_name_image_cache.py | 27 - .../versions/090_add_race_preventer_to_workers.py | 27 - .../versions/091_add_attachment_specs.py | 40 - .../migrate_repo/versions/096_placeholder.py | 22 - .../{085_cinder_init.py => 097_cinder_init.py} | 63 +- .../097_enforce_ocata_online_migrations.py | 50 - .../099_add_connection_info_to_attachment.py | 3 +- .../versions/103_message_action_detail_column.py | 6 +- .../117_add_encryption_key_id_to_backups.py | 3 +- .../{095_placeholder.py => 124_placeholder.py} | 6 +- .../{092_placeholder.py => 125_placeholder.py} | 6 +- .../{094_placeholder.py => 126_placeholder.py} | 6 +- ..._project_resource_attribute_for_quota_usages.py | 38 + .../128_add_project_id_and_accepted_to_transfer.py | 34 + cinder/db/sqlalchemy/models.py | 7 +- cinder/exception.py | 13 + cinder/group/api.py | 13 +- cinder/hacking/checks.py | 2 +- cinder/image/cache.py | 6 +- cinder/image/glance.py | 8 +- cinder/image/image_utils.py | 69 +- cinder/interface/util.py | 1 + cinder/keymgr/conf_key_mgr.py | 1 + cinder/keymgr/migration.py | 4 +- cinder/locale/cs/LC_MESSAGES/cinder.po | 297 +- cinder/locale/de/LC_MESSAGES/cinder.po | 406 +- cinder/locale/es/LC_MESSAGES/cinder.po | 406 +- cinder/locale/fr/LC_MESSAGES/cinder.po | 406 +- cinder/locale/it/LC_MESSAGES/cinder.po | 394 +- cinder/locale/ja/LC_MESSAGES/cinder.po | 797 +- cinder/locale/ko_KR/LC_MESSAGES/cinder.po | 552 +- cinder/locale/pt_BR/LC_MESSAGES/cinder.po | 392 +- cinder/locale/ru/LC_MESSAGES/cinder.po | 399 +- cinder/locale/zh_CN/LC_MESSAGES/cinder.po | 694 +- cinder/locale/zh_TW/LC_MESSAGES/cinder.po | 348 +- cinder/message/message_field.py | 11 +- cinder/objects/base.py | 9 +- cinder/objects/cleanable.py | 4 +- cinder/objects/fields.py | 14 +- cinder/objects/snapshot.py | 7 +- cinder/objects/volume.py | 9 +- cinder/objects/volume_attachment.py | 8 +- cinder/objects/volume_type.py | 3 + cinder/opts.py | 64 +- cinder/policies/group_snapshots.py | 16 + cinder/policies/groups.py | 15 + cinder/policies/volume_type.py | 52 +- cinder/policy.py | 33 +- cinder/privsep/fs.py | 29 + cinder/privsep/hscli.py | 45 + cinder/privsep/lvm.py | 44 + cinder/privsep/{utils.py => path.py} | 17 +- .../dell_emc/vmax => privsep/targets}/__init__.py | 0 cinder/privsep/targets/iet.py | 85 + .../093_placeholder.py => privsep/targets/scst.py} | 22 +- cinder/privsep/targets/tgt.py | 60 + cinder/quota.py | 4 +- cinder/quota_utils.py | 11 +- cinder/scheduler/driver.py | 9 + cinder/scheduler/host_manager.py | 18 +- cinder/scheduler/manager.py | 5 +- cinder/test.py | 49 +- .../extensions/extensions-list-response.json.tpl | 221 + .../snapshots/snapshot-create-request.json.tpl | 11 + .../snapshots/snapshot-create-response.json.tpl | 15 + .../snapshot-metadata-create-request.json.tpl | 2 +- .../snapshot-metadata-create-response.json.tpl | 5 + .../snapshot-metadata-show-key-response.json.tpl | 5 + .../snapshot-metadata-show-response.json.tpl | 4 +- .../snapshot-metadata-update-key-request.json.tpl | 5 + .../snapshot-metadata-update-key-response.json.tpl | 5 + .../snapshot-metadata-update-request.json.tpl | 5 + .../snapshot-metadata-update-response.json.tpl | 5 + .../snapshots/snapshot-show-response.json.tpl | 17 + .../snapshots/snapshot-update-request.json.tpl | 0 .../snapshots/snapshot-update-response.json.tpl | 15 + .../snapshots-list-detailed-response.json.tpl | 19 + .../snapshots/snapshots-list-response.json.tpl | 17 + .../versions/version-show-response.json.tpl | 28 + .../samples/versions/versions-response.json.tpl | 12 +- .../volume-upload-to-image-request.json.tpl | 8 + .../volume-upload-to-image-response.json.tpl | 16 + .../volume-manage-request.json.tpl | 18 + .../volume-manage-response.json.tpl | 17 + .../encryption-type-create-request.json.tpl | 8 + .../encryption-type-create-response.json.tpl | 10 + .../encryption-type-show-response.json.tpl | 12 + ...tion-type-specific-specs-show-response.json.tpl | 3 + .../encryption-type-update-request.json.tpl | 8 + .../encryption-type-update-response.json.tpl | 8 + .../volume-type-access-add-request.json.tpl | 5 + .../volume-type-access-list-response.json.tpl | 8 + ...ume-type-all-extra-specs-show-response.json.tpl | 5 + .../volume-type-create-request.json.tpl | 10 + .../volume-type-create-response.json.tpl | 12 + .../volume-type-default-response.json.tpl | 12 + ...type-extra-specs-create-update-request.json.tpl | 0 ...ype-extra-specs-create-update-response.json.tpl | 6 + .../volume_type/volume-type-show-response.json.tpl | 13 + ...ype-specific-extra-specs-show-response.json.tpl | 3 + .../volume-types-list-response.json.tpl | 26 + .../samples/volumes/volume-create-request.json.tpl | 0 .../volumes/volume-create-response.json.tpl | 34 + .../volume-metadata-create-request.json.tpl | 0 .../volume-metadata-create-response.json.tpl | 5 + .../volume-metadata-show-key-response.json.tpl | 5 + .../volumes/volume-metadata-show-response.json.tpl | 3 + .../volume-metadata-update-key-request.json.tpl | 0 .../volume-metadata-update-key-response.json.tpl | 5 + .../volume-metadata-update-request.json.tpl | 0 .../volume-metadata-update-response.json.tpl | 5 + .../samples/volumes/volume-show-response.json.tpl | 38 + .../samples/volumes/volume-update-request.json.tpl | 0 .../volumes/volume-update-response.json.tpl | 36 + .../volumes-list-detailed-response.json.tpl | 40 + .../samples/volumes/volumes-list-response.json.tpl | 18 + .../test_volume_manage_extensions.py | 36 + .../api/contrib/test_backup_project_attribute.py | 28 + .../api/contrib/test_volume_tenant_attribute.py | 48 +- .../unit/backup/drivers/test_backup_google.py | 6 + .../volume/drivers/dell_emc/powermax}/__init__.py | 0 .../drivers/dell_emc/powermax/powermax_data.py | 1052 +++ .../dell_emc/powermax/powermax_fake_objects.py | 333 + .../dell_emc/powermax/test_powermax_common.py | 2539 ++++++ .../drivers/dell_emc/powermax/test_powermax_fc.py | 286 + .../dell_emc/powermax/test_powermax_iscsi.py | 334 + .../dell_emc/powermax/test_powermax_masking.py | 1052 +++ .../dell_emc/powermax/test_powermax_metadata.py | 257 + .../dell_emc/powermax/test_powermax_provision.py | 557 ++ .../dell_emc/powermax/test_powermax_replication.py | 1008 +++ .../dell_emc/powermax/test_powermax_rest.py | 1656 ++++ .../dell_emc/powermax/test_powermax_utils.py | 502 ++ .../unit/volume/drivers/dell_emc/sc/test_fc.py | 2 + .../unit/volume/drivers/dell_emc/sc/test_sc.py | 2 + .../unit/volume/drivers/dell_emc/sc/test_scapi.py | 106 + .../unit/volume/drivers/dell_emc/scaleio/mocks.py | 3 + .../scaleio/test_create_volume_from_snapshot.py | 5 + .../volume/drivers/dell_emc/unity/test_adapter.py | 60 +- .../volume/drivers/dell_emc/unity/test_client.py | 22 +- .../volume/drivers/dell_emc/unity/test_driver.py | 12 + .../volume/drivers/dell_emc/unity/test_utils.py | 15 + .../unit/volume/drivers/dell_emc/vmax/test_vmax.py | 8455 -------------------- .../volume/drivers/dell_emc/vnx/mocked_vnx.yaml | 6 +- .../volume/drivers/dell_emc/vnx/test_adapter.py | 27 +- .../unit/volume/drivers/dell_emc/vnx/test_base.py | 31 + .../volume/drivers/dell_emc/vnx/test_client.py | 34 +- .../volume/drivers/dell_emc/vnx/test_common.py | 8 +- .../volume/drivers/dell_emc/vnx/test_driver.py | 6 +- .../drivers/dell_emc/vnx/test_replication.py | 10 +- .../volume/drivers/dell_emc/vnx/test_taskflows.py | 4 +- .../unit/volume/drivers/dell_emc/vnx/test_utils.py | 12 +- .../drivers/disco/test_create_cloned_volume.py | 158 - .../volume/drivers/disco/test_create_snapshot.py | 153 - .../volume/drivers/disco/test_create_volume.py | 53 - .../disco/test_create_volume_from_snapshot.py | 166 - .../volume/drivers/disco/test_delete_snapshot.py | 51 - .../volume/drivers/disco/test_delete_volume.py | 49 - .../volume/drivers/disco/test_extend_volume.py | 50 - .../volume/drivers/disco/test_manage_existing.py | 133 - .../volume/drivers/fusionstorage/test_dsware.py | 1213 ++- .../volume/drivers/fusionstorage/test_fs_client.py | 272 + .../volume/drivers/fusionstorage/test_fs_conf.py | 156 + .../drivers/fusionstorage/test_fspythonapi.py | 447 -- .../volume/drivers/fusionstorage/test_utils.py | 48 + .../volume/drivers/huawei/test_huawei_drivers.py | 767 +- .../unit/volume/drivers/ibm/test_ds8k_proxy.py | 3 +- .../unit/volume/drivers/ibm/test_storwize_svc.py | 12 +- .../volume/drivers/inspur/as13000}/__init__.py | 0 .../drivers/inspur/as13000/test_as13000_driver.py | 1346 ++++ .../unit/volume/drivers/inspur/instorage/fakes.py | 8 +- .../drivers/netapp/dataontap/client/test_api.py | 20 + .../netapp/dataontap/client/test_client_cmode.py | 4 +- .../unit/volume/drivers/netapp/dataontap/fakes.py | 4 +- .../dataontap/test_block_driver_interfaces.py | 3 +- .../drivers/netapp/dataontap/test_nfs_base.py | 77 +- .../drivers/netapp/dataontap/test_nfs_cmode.py | 29 +- .../unit/volume/drivers/netapp/eseries/fakes.py | 1469 ---- .../volume/drivers/netapp/eseries/test_client.py | 1218 --- .../volume/drivers/netapp/eseries/test_driver.py | 542 -- .../drivers/netapp/eseries/test_fc_driver.py | 35 - .../drivers/netapp/eseries/test_host_mapper.py | 662 -- .../drivers/netapp/eseries/test_iscsi_driver.py | 33 - .../volume/drivers/netapp/eseries/test_library.py | 2570 ------ .../volume/drivers/netapp/eseries/test_utils.py | 35 - .../volume/drivers/solidfire/test_solidfire.py | 557 +- .../{test_fujitsu.py => test_fujitsu_dx.py} | 9 +- .../drivers/veritas_access/test_veritas_iscsi.py | 37 +- .../unit/volume/drivers/vmware/test_vmware_vmdk.py | 121 +- .../volume/drivers/vmware/test_vmware_volumeops.py | 164 +- .../unit/volume/flows/test_create_volume_flow.py | 182 +- .../unit/volume/flows/test_manage_snapshot_flow.py | 124 +- .../unit/volume/flows/test_manage_volume_flow.py | 73 +- .../zonemanager/test_brcd_http_fc_zone_client.py | 19 +- cinder/transfer/api.py | 34 +- cinder/utils.py | 13 +- cinder/volume/api.py | 73 +- cinder/volume/driver.py | 130 +- cinder/volume/drivers/coprhd/common.py | 1512 ---- cinder/volume/drivers/coprhd/fc.py | 272 - .../drivers/coprhd/helpers/authentication.py | 220 - .../drivers/coprhd/helpers/commoncoprhdapi.py | 523 -- .../drivers/coprhd/helpers/consistencygroup.py | 220 - .../volume/drivers/coprhd/helpers/exportgroup.py | 303 - cinder/volume/drivers/coprhd/helpers/host.py | 93 - cinder/volume/drivers/coprhd/helpers/project.py | 88 - cinder/volume/drivers/coprhd/helpers/snapshot.py | 257 - cinder/volume/drivers/coprhd/helpers/tag.py | 55 - cinder/volume/drivers/coprhd/helpers/tenant.py | 117 - cinder/volume/drivers/coprhd/helpers/urihelper.py | 82 - .../volume/drivers/coprhd/helpers/virtualarray.py | 79 - .../volume/drivers/coprhd/helpers/virtualpool.py | 77 - cinder/volume/drivers/coprhd/helpers/volume.py | 517 -- cinder/volume/drivers/coprhd/iscsi.py | 226 - cinder/volume/drivers/coprhd/scaleio.py | 375 - cinder/volume/drivers/datacore/driver.py | 4 + cinder/volume/drivers/datera/datera_api2.py | 4 +- cinder/volume/drivers/datera/datera_api21.py | 4 +- .../{disco => dell_emc/powermax}/__init__.py | 0 .../drivers/dell_emc/{vmax => powermax}/common.py | 1844 +++-- .../drivers/dell_emc/{vmax => powermax}/fc.py | 52 +- .../drivers/dell_emc/{vmax => powermax}/iscsi.py | 50 +- .../drivers/dell_emc/{vmax => powermax}/masking.py | 101 +- .../dell_emc/{vmax => powermax}/metadata.py | 133 +- .../dell_emc/{vmax => powermax}/provision.py | 122 +- .../drivers/dell_emc/{vmax => powermax}/rest.py | 412 +- .../drivers/dell_emc/{vmax => powermax}/utils.py | 68 +- cinder/volume/drivers/dell_emc/ps.py | 9 + .../drivers/dell_emc/sc/storagecenter_api.py | 32 +- .../drivers/dell_emc/sc/storagecenter_common.py | 15 +- .../volume/drivers/dell_emc/sc/storagecenter_fc.py | 3 +- .../drivers/dell_emc/sc/storagecenter_iscsi.py | 3 +- cinder/volume/drivers/dell_emc/scaleio/driver.py | 49 +- cinder/volume/drivers/dell_emc/unity/adapter.py | 37 + cinder/volume/drivers/dell_emc/unity/client.py | 9 + cinder/volume/drivers/dell_emc/unity/driver.py | 15 +- cinder/volume/drivers/dell_emc/unity/utils.py | 12 + cinder/volume/drivers/dell_emc/vnx/adapter.py | 5 + cinder/volume/drivers/dell_emc/vnx/client.py | 5 +- cinder/volume/drivers/dell_emc/vnx/driver.py | 9 +- cinder/volume/drivers/dell_emc/vnx/replication.py | 4 +- cinder/volume/drivers/dell_emc/vnx/taskflows.py | 2 +- cinder/volume/drivers/dell_emc/vnx/utils.py | 4 +- cinder/volume/drivers/dell_emc/xtremio.py | 5 +- cinder/volume/drivers/disco/disco.py | 650 -- cinder/volume/drivers/disco/disco_api.py | 165 - cinder/volume/drivers/disco/disco_attach_detach.py | 69 - cinder/volume/drivers/dothill/dothill_client.py | 10 +- cinder/volume/drivers/dothill/dothill_common.py | 1 + .../notes/msa-multiattach-5407eb60093de8f1.yaml | 3 + cinder/volume/drivers/drbdmanagedrv.py | 20 +- .../eseries => fujitsu/eternus_dx}/__init__.py | 0 .../fujitsu/{ => eternus_dx}/eternus_dx_common.py | 27 + .../fujitsu/{ => eternus_dx}/eternus_dx_fc.py | 8 +- .../fujitsu/{ => eternus_dx}/eternus_dx_iscsi.py | 6 +- .../drivers/fusionstorage/constants.py} | 24 +- cinder/volume/drivers/fusionstorage/dsware.py | 833 +- cinder/volume/drivers/fusionstorage/fs_client.py | 256 + cinder/volume/drivers/fusionstorage/fs_conf.py | 127 + cinder/volume/drivers/fusionstorage/fspythonapi.py | 495 -- cinder/volume/drivers/hedvig/__init__.py | 0 cinder/volume/drivers/hedvig/config.py | 39 + cinder/volume/drivers/hedvig/hedvig_cinder.py | 613 ++ cinder/volume/drivers/hedvig/rest_client.py | 625 ++ cinder/volume/drivers/hgst.py | 610 -- cinder/volume/drivers/hpe/hpe_3par_base.py | 13 +- cinder/volume/drivers/hpe/hpe_3par_common.py | 56 +- cinder/volume/drivers/hpe/hpe_3par_iscsi.py | 2 +- cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py | 22 +- cinder/volume/drivers/huawei/common.py | 1844 +++++ cinder/volume/drivers/huawei/constants.py | 6 +- cinder/volume/drivers/huawei/huawei_conf.py | 450 +- cinder/volume/drivers/huawei/huawei_driver.py | 1938 +---- cinder/volume/drivers/huawei/huawei_utils.py | 452 +- cinder/volume/drivers/huawei/hypermetro.py | 8 +- cinder/volume/drivers/huawei/replication.py | 17 +- cinder/volume/drivers/huawei/rest_client.py | 106 +- cinder/volume/drivers/huawei/smartx.py | 262 +- cinder/volume/drivers/ibm/flashsystem_common.py | 11 +- cinder/volume/drivers/ibm/flashsystem_fc.py | 11 - cinder/volume/drivers/ibm/gpfs.py | 27 +- .../drivers/ibm/ibm_storage/ds8k_connection.py | 3 +- .../volume/drivers/ibm/ibm_storage/ds8k_proxy.py | 2 +- .../volume/drivers/ibm/ibm_storage/ibm_storage.py | 4 + cinder/volume/drivers/ibm/ibm_storage/xiv_proxy.py | 4 +- .../ibm/storwize_svc/storwize_svc_common.py | 35 +- .../drivers/ibm/storwize_svc/storwize_svc_fc.py | 4 + .../drivers/ibm/storwize_svc/storwize_svc_iscsi.py | 4 + cinder/volume/drivers/infinidat.py | 4 + cinder/volume/drivers/inspur/as13000/__init__.py | 0 .../drivers/inspur/as13000/as13000_driver.py | 872 ++ .../drivers/inspur/instorage/instorage_common.py | 32 +- .../volume/drivers/kaminario/kaminario_common.py | 4 + cinder/volume/drivers/kaminario/kaminario_iscsi.py | 5 +- cinder/volume/drivers/lenovo/lenovo_fc.py | 4 + cinder/volume/drivers/lenovo/lenovo_iscsi.py | 4 + cinder/volume/drivers/linstordrv.py | 1092 +++ cinder/volume/drivers/lvm.py | 28 +- cinder/volume/drivers/nec/volume.py | 9 + cinder/volume/drivers/netapp/common.py | 6 - .../volume/drivers/netapp/dataontap/client/api.py | 14 +- .../netapp/dataontap/client/client_cmode.py | 2 +- cinder/volume/drivers/netapp/dataontap/fc_cmode.py | 5 + .../volume/drivers/netapp/dataontap/iscsi_cmode.py | 5 + cinder/volume/drivers/netapp/dataontap/nfs_base.py | 41 +- .../volume/drivers/netapp/dataontap/nfs_cmode.py | 23 +- cinder/volume/drivers/netapp/eseries/client.py | 1056 --- cinder/volume/drivers/netapp/eseries/exception.py | 33 - cinder/volume/drivers/netapp/eseries/fc_driver.py | 132 - .../volume/drivers/netapp/eseries/host_mapper.py | 250 - .../volume/drivers/netapp/eseries/iscsi_driver.py | 129 - cinder/volume/drivers/netapp/eseries/library.py | 2147 ----- cinder/volume/drivers/netapp/eseries/utils.py | 63 - cinder/volume/drivers/netapp/options.py | 39 +- cinder/volume/drivers/netapp/utils.py | 36 +- cinder/volume/drivers/nexenta/iscsi.py | 5 + cinder/volume/drivers/nexenta/nexentaedge/iscsi.py | 17 +- cinder/volume/drivers/nexenta/nfs.py | 12 +- cinder/volume/drivers/nexenta/ns5/iscsi.py | 11 +- cinder/volume/drivers/nexenta/ns5/nfs.py | 8 + cinder/volume/drivers/nexenta/options.py | 2 +- cinder/volume/drivers/nfs.py | 4 + cinder/volume/drivers/nimble.py | 251 +- cinder/volume/drivers/prophetstor/dpl_fc.py | 6 +- cinder/volume/drivers/prophetstor/dplcommon.py | 4 + cinder/volume/drivers/pure.py | 47 +- cinder/volume/drivers/qnap.py | 23 +- cinder/volume/drivers/quobyte.py | 247 +- cinder/volume/drivers/rbd.py | 196 +- cinder/volume/drivers/remotefs.py | 76 +- cinder/volume/drivers/san/hp/hpmsa_fc.py | 4 + cinder/volume/drivers/san/hp/hpmsa_iscsi.py | 4 + cinder/volume/drivers/sheepdog.py | 4 + cinder/volume/drivers/solidfire.py | 185 +- cinder/volume/drivers/spdk.py | 414 + cinder/volume/drivers/storpool.py | 4 + cinder/volume/drivers/synology/synology_common.py | 2 +- cinder/volume/drivers/synology/synology_iscsi.py | 8 +- cinder/volume/drivers/tintri.py | 18 +- cinder/volume/drivers/veritas/utils.py | 39 +- cinder/volume/drivers/veritas/vrtshyperscale.py | 9 +- .../volume/drivers/veritas_access/veritas_iscsi.py | 159 +- cinder/volume/drivers/veritas_cnfs.py | 3 +- cinder/volume/drivers/vmware/fcd.py | 98 +- cinder/volume/drivers/vmware/vmdk.py | 197 +- cinder/volume/drivers/vmware/volumeops.py | 132 +- cinder/volume/drivers/vzstorage.py | 26 +- cinder/volume/drivers/windows/iscsi.py | 4 + cinder/volume/drivers/windows/smbfs.py | 4 + cinder/volume/drivers/zadara.py | 8 +- cinder/volume/drivers/zfssa/restclient.py | 11 +- cinder/volume/drivers/zfssa/zfssaiscsi.py | 51 +- cinder/volume/drivers/zfssa/zfssarest.py | 113 +- cinder/volume/flows/api/create_volume.py | 34 +- cinder/volume/flows/api/manage_existing.py | 6 + cinder/volume/flows/manager/create_volume.py | 147 +- cinder/volume/manager.py | 231 +- cinder/volume/targets/iet.py | 74 +- cinder/volume/targets/nvmet.py | 6 +- cinder/volume/targets/scst.py | 6 +- cinder/volume/targets/spdknvmf.py | 189 + cinder/volume/targets/tgt.py | 47 +- cinder/volume/utils.py | 176 +- cinder/volume/volume_migration.py | 72 + cinder/volume/volume_types.py | 15 +- .../drivers/brocade/brcd_fabric_opts.py | 6 +- .../drivers/brocade/brcd_fc_san_lookup_service.py | 4 +- .../drivers/brocade/brcd_fc_zone_client_cli.py | 2 +- .../brocade/brcd_fc_zone_connector_factory.py | 18 +- .../drivers/brocade/brcd_fc_zone_driver.py | 21 +- .../drivers/brocade/brcd_http_fc_zone_client.py | 54 +- .../drivers/brocade/brcd_rest_fc_zone_client.py | 412 + .../drivers/brocade/fc_zone_constants.py | 12 +- .../zonemanager/drivers/brocade/rest_constants.py | 59 + .../drivers/cisco/cisco_fc_zone_driver.py | 8 +- cinder/zonemanager/utils.py | 4 +- contrib/block-box/etc/cinder.conf | 4 +- contrib/block-box/etc/cinder.conf.keystone | 2 +- contrib/block-box/etc/cinder.conf.sf | 2 +- .../admin/blockstorage-capacity-based-qos.rst | 4 + .../admin/blockstorage-consistency-groups.rst | 2 +- .../admin/blockstorage-driver-filter-weighing.rst | 37 +- .../admin/blockstorage-lio-iscsi-support.rst | 4 +- .../admin/blockstorage-over-subscription.rst | 6 +- .../admin/blockstorage-volume-multiattach.rst | 7 +- .../block-storage/backup/ceph-backup-driver.rst | 2 +- .../block-storage/backup/gcs-backup-driver.rst | 2 +- .../backup/glusterfs-backup-driver.rst | 2 +- .../block-storage/backup/nfs-backup-driver.rst | 2 +- .../block-storage/backup/posix-backup-driver.rst | 2 +- .../block-storage/backup/swift-backup-driver.rst | 2 +- .../block-storage/backup/tsm-backup-driver.rst | 2 +- .../configuration/block-storage/config-options.rst | 135 +- .../block-storage/drivers/coprhd-driver.rst | 322 - .../drivers/datacore-volume-driver.rst | 18 +- ...max-driver.rst => dell-emc-powermax-driver.rst} | 737 +- .../drivers/dell-emc-unity-driver.rst | 19 +- .../block-storage/drivers/dell-emc-vnx-driver.rst | 16 +- .../drivers/dell-emc-vxflex-driver.rst | 22 +- ...emio-driver.rst => dell-emc-xtremio-driver.rst} | 0 .../drivers/dell-equallogic-driver.rst | 10 +- .../drivers/dell-storagecenter-driver.rst | 19 +- .../block-storage/drivers/drbd-driver.rst | 10 +- .../drivers/fujitsu-eternus-dx-driver.rst | 8 +- .../block-storage/drivers/hedvig-volume-driver.rst | 127 + .../block-storage/drivers/hgst-driver.rst | 17 - .../block-storage/drivers/hpe-3par-driver.rst | 25 +- .../drivers/huawei-storage-driver.rst | 2 +- .../drivers/ibm-storage-volume-driver.rst | 3 +- .../drivers/inspur-as13000-driver.rst | 78 + .../block-storage/drivers/itri-disco-driver.rst | 27 - .../block-storage/drivers/linstor-driver.rst | 29 + .../block-storage/drivers/lvm-volume-driver.rst | 4 +- .../block-storage/drivers/netapp-volume-driver.rst | 114 +- .../block-storage/drivers/pure-storage-driver.rst | 72 +- .../block-storage/drivers/spdk-volume-driver.rst | 60 + .../drivers/veritas-access-iscsi-driver.rst | 6 +- .../block-storage/drivers/vmware-vmdk-driver.rst | 9 +- .../block-storage/drivers/zfssa-iscsi-driver.rst | 3 +- .../configuration/block-storage/fc-zoning.rst | 14 +- .../block-storage/policy-config-HOWTO.rst | 445 ++ .../block-storage/samples/policy.yaml.rst | 34 +- .../configuration/block-storage/volume-drivers.rst | 11 +- .../configuration/tables/cinder-coordination.inc | 28 - .../configuration/tables/cinder-fusionio.inc | 78 +- .../tables/cinder-netapp_cdot_iscsi.inc | 4 +- .../tables/cinder-netapp_cdot_nfs.inc | 4 +- .../tables/cinder-netapp_eseries_iscsi.inc | 48 - .../configuration/tables/cinder-profiler.inc | 60 - .../configuration/tables/cinder-storwize.inc | 14 + .../contributor/attach_detach_conventions.rst | 22 +- .../contributor/attach_detach_conventions_v2.rst | 12 +- .../install/cinder-controller-install-obs.rst | 6 +- .../install/cinder-controller-install-rdo.rst | 6 +- .../install/cinder-controller-install-ubuntu.rst | 4 +- .../install/cinder-storage-install-ubuntu.rst | 10 +- driver-requirements.txt | 5 + etc/cinder/resource_filters.json | 6 +- etc/cinder/rootwrap.d/volume.filters | 48 +- lower-constraints.txt | 25 +- .../cinder-tempest-dsvm-lvm-lio-barbican/run.yaml | 9 +- pylintrc | 41 - .../notes/84-to-90-endpoints-831c28423d32cac5.yaml | 3 + ...cluded_domain_ips_ListOpt-51bacddee199ce83.yaml | 18 + ...up-groupsnapshot-response-512013e95a80784a.yaml | 6 + ...ansfer-pagination-support-7y33u7y68de3cb16.yaml | 3 + ...ribute-to-backup-response-ce27364680c895f7.yaml | 5 + .../backup-path-removal-c411bb6c0d3887f1.yaml | 8 + ...idfire-revert-to-snapshot-741b7c204cc99546.yaml | 5 + .../notes/bug-1560649-d4f3ff71fe4ddb89.yaml | 7 + .../notes/bug-1773446-984d76ed29445c9b.yaml | 5 + ...h-none-when-manage-volume-yu7du8yth78i0e6b.yaml | 4 + .../notes/bug-1784871-7f67402eb13abca7.yaml | 7 + ...ax-powermaxos-upgrade-fix-4c76186cfca66790.yaml | 9 + ...-in-case-of-glance-errors-6cae19218249c3cf.yaml | 6 + ...05550-default-policy-file-db15eaa76fefa115.yaml | 48 + ...max-replication-specs-fix-aa6b13b93b4059d6.yaml | 9 + ...alid-content-type-1715094-8yu8i9w425ua08f3.yaml | 5 + releasenotes/notes/bug-reno-69539ecb9b0b5464.yaml | 5 + ...netapp-driver-cinder-ipv6-c3c4d0d6a7d0de91.yaml | 4 + ...ne-migrations-exit-status-7c16edb7facc37bb.yaml | 13 + .../coprhd-remove-the-driver-00ef2c41f4c7dccd.yaml | 12 + .../db-schema-from-ocata-e1d7dd1dc4d3a0d9.yaml | 6 + .../dell-emc-ps-deprecation-ae8d166e1847ea94.yaml | 6 + ...cate-linbit-drbdmanagedrv-75c41ce8e81cac80.yaml | 5 + ...rbd-linstor-volume-driver-20273a9ad3783cf5.yaml | 4 + .../driver_reinitialization-b26a8b3e665567ec.yaml | 6 + .../fix-multiattach-deletion-b3990acf1f5fd378.yaml | 4 + .../notes/fix-netapp-cg-da4fd6c396e5bedb.yaml | 4 + .../fix-netapp-force_detach-36bdf75dd2c9a030.yaml | 3 + ...dfire-provisioning-report-880141e64c1ea52f.yaml | 7 + ...solidfire-python3-support-ee02ff2c1ec920f2.yaml | 5 + ...fujitsu-eternus-dx-update-4755ec446030d263.yaml | 8 + .../fusionstorage-driver-cf13b8d95ae97319.yaml | 24 + .../hedvig-cinder-driver-e7b98f4bc214bc49.yaml | 3 + .../notes/hpelh-deprecations-eb7716a0b02f145e.yaml | 10 + ...e-volume-transfer-records-5599e82ade4d302c.yaml | 7 + ...pur-as13000-cinder-driver-bfa5cc17683d87a9.yaml | 4 + ...itri-disco-driver-removal-11e14fbf431ea876.yaml | 15 + ...-nexenta-edge-unsupported-76c500738f0b3c61.yaml | 14 + ...unsupported-tintri-driver-a71b09b7c001c75e.yaml | 14 + ...nsupported-vrtshyperscale-2bd42e2af8b803d7.yaml | 14 + .../notes/multiple_clone-82bd7f80ae439080.yaml | 0 .../nimble-retype-support-18f717072948ba6d.yaml | 3 + ...orphaned_unmanaged_volume-db63ec0509b70b8f.yaml | 7 + ...rmax-inuse-retype-support-64bd35adab17420d.yaml | 5 + ...re-configure-pg-pod-names-525a4ce8e2f46b69.yaml | 6 + ...b-overlay-from-snap-cache-dc102acb4820e368.yaml | 8 + .../qb-switch-nas-sec-opts-635c6ef1205e4f3f.yaml | 13 + .../qnap-support-qts-440-c482f109694cb77f.yaml | 4 + .../qnap-tds-support-qes-5e5d766cded3a26d.yaml | 4 + .../rbd-multiattach-support-2900ce0245af0239.yaml | 8 + ...ove-flashsystem-multipath-0a3ee133ebe35d1e.yaml | 6 + .../remove-hgst-flash-driver-a930927de333329a.yaml | 16 + ...csi-target-config-options-d23e424eb8f82042.yaml | 8 + ...move-query-volume-filters-b59958fc68d3abb4.yaml | 6 + .../remove-windows-mapping-51a004f466470a2b.yaml | 9 + .../notes/remove_eseries-bb1bc134645aee50.yaml | 5 + .../scaleio-zeropadding-a0273c56c4d14fca.yaml | 12 +- .../notes/spdk-nvmf-target-31e4d4dd5e2f2114.yaml | 7 + .../notes/spdk-volume-081f6e72396b30e8.yaml | 6 + ..._deferred_deletion_in_RBD-0c5d96f8eac5b50a.yaml | 4 + ...ssisted-migration-support-145fce87f36f1ecc.yaml | 4 + .../notes/upgrade-checks-e58c4a81c857847d.yaml | 10 + .../vmax-failover-unisphere-2de78d1f76b5f836.yaml | 4 + .../vmax-powermax-rebrand-70569fc8cdf40a8c.yaml | 13 + .../notes/vmware_fcd_retype-979418c39fd5d59d.yaml | 5 + .../vmware_fcd_snapshot-b702f7e950dfbe7a.yaml | 6 + ...vmware_fcd_storage_policy-636d6a95f1c44b6e.yaml | 8 + ...dk_storage_profile_config-fa3784f1ed50df9e.yaml | 6 + .../vnx-update-sg-in-cache-3ecb673727bea79b.yaml | 7 + ...on-api-policy-granularity-7071e45f4c7894c5.yaml | 16 + ...nit_max_objects_retrieval-966f607c46190946.yaml | 9 + ...si-get-manageable-volumes-eb23a11570c813d7.yaml | 3 + releasenotes/source/index.rst | 1 + .../locale/en_GB/LC_MESSAGES/releasenotes.po | 691 +- releasenotes/source/rocky.rst | 6 + releasenotes/source/unreleased.rst | 2 + requirements.txt | 24 +- setup.cfg | 19 +- test-requirements.txt | 2 +- tools/coding-checks.sh | 56 + tools/config/cinder-config-generator.conf | 1 + tools/fast8.sh | 12 +- tools/generate_driver_list.py | 63 +- tools/lintstack.py | 276 - tools/lintstack.sh | 59 - tox.ini | 44 +- 904 files changed, 43577 insertions(+), 46437 deletions(-) Requirements updates -------------------- diff --git a/driver-requirements.txt b/driver-requirements.txt index 8adca4296..362ec8054 100644 --- a/driver-requirements.txt +++ b/driver-requirements.txt @@ -29,0 +30,5 @@ pyxcli>=1.1.5 # Apache-2.0 +# LINSTOR +protobuf>=3.6.1 # BSD +eventlet>=0.24.1 # MIT +python-linstor>=0.6.2 # GPLv3 + diff --git a/requirements.txt b/requirements.txt index 9015dd69d..ea5378f13 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6 +5,0 @@ pbr!=2.1.0,>=2.0.0 # Apache-2.0 -Babel!=2.4.0,>=2.3.4 # BSD @@ -16,2 +15,2 @@ ipaddress>=1.0.17;python_version<'3.3' # PSF -keystoneauth1>=3.4.0 # Apache-2.0 -keystonemiddleware>=4.17.0 # Apache-2.0 +keystoneauth1>=3.7.0 # Apache-2.0 +keystonemiddleware>=4.21.0 # Apache-2.0 @@ -25 +24 @@ oslo.log>=3.36.0 # Apache-2.0 -oslo.messaging>=5.29.0 # Apache-2.0 +oslo.messaging>=6.4.0 # Apache-2.0 @@ -27,2 +26,2 @@ oslo.middleware>=3.31.0 # Apache-2.0 -oslo.policy>=1.30.0 # Apache-2.0 -oslo.privsep>=1.23.0 # Apache-2.0 +oslo.policy>=1.44.1 # Apache-2.0 +oslo.privsep>=1.32.0 # Apache-2.0 @@ -33 +32,2 @@ oslo.service!=1.28.1,>=1.24.0 # Apache-2.0 -oslo.utils>=3.33.0 # Apache-2.0 +oslo.upgradecheck>=0.1.0 # Apache-2.0 +oslo.utils>=3.34.0 # Apache-2.0 @@ -43,2 +43,2 @@ python-barbicanclient>=4.5.2 # Apache-2.0 -python-glanceclient>=2.8.0 # Apache-2.0 -python-keystoneclient>=3.8.0 # Apache-2.0 +python-glanceclient>=2.15.0 # Apache-2.0 +python-keystoneclient>=3.15.0 # Apache-2.0 @@ -48 +48 @@ pytz>=2013.6 # MIT -requests>=2.14.2 # Apache-2.0 +requests>=2.14.2,!=2.20.0 # Apache-2.0 @@ -51 +51 @@ Routes>=2.3.1 # MIT -taskflow>=2.16.0 # Apache-2.0 +taskflow>=3.2.0 # Apache-2.0 @@ -53,2 +52,0 @@ rtslib-fb>=2.1.65 # Apache-2.0 -sphinx-feature-classification>=0.1.0 # Apache 2.0 -simplejson>=3.5.1 # MIT diff --git a/test-requirements.txt b/test-requirements.txt index 28ee878f0..31a249abf 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -15 +15 @@ PyMySQL>=0.7.6 # MIT License -psycopg2>=2.6.2 # LGPL/ZPL +psycopg2>=2.7 # LGPL/ZPL
participants (1)
-
no-reply@openstack.org