We are tickled pink to announce the release of: cinder 15.0.0: OpenStack Block Storage This release is part of the train 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. 15.0.0 ^^^^^^ Upgrade Notes ************* * SolidFire supports Synchronous, Asynchronous and SnapshotsOnly replication modes. This adds the config option *solidfire:replication_mode* to specify the mode to be used by Cinder. Its value can be *Sync*, *Async* or *SnapshotsOnly*. * The Virtuozzo driver has been marked as unsupported and is now deprecated. "enable_unsupported_driver" will need to be set to "True" in the driver's section in cinder.conf to continue to use it. Deprecation Notes ***************** * The Virtuozzo driver has been marked as unsupported and is now deprecated. "enable_unsupported_driver" will need to be set to "True" in the driver's section in cinder.conf to continue to use it. If its support status does not change, it will be removed in the 'U' development cycle. Bug Fixes ********* * The SolidFire replication was fixed. Several bugs were addressed (creating replicated volumes from snapshots, from volumes, retype a volume to a replicated type, managing a volume to a replicated type, correctly updating portal info on failover/failback and some minor other fixes). Closes bugs #1834013, #1751932. * This change fixes bug 1845483 - 3PAR: For Peer Persistence, add policy options in RCG. Following options are added after Remote Copy Group (RCG) is created: autoFailover, pathManagement, autoRecover Changes in cinder 14.0.0.0rc1..15.0.0 ------------------------------------- d879e76ff NetApp SolidFire: Add options for replication mode 87674f7bc Imported Translations from Zanata 7b227c647 NetApp SolidFire: Fix replication 1a1a003e6 3PAR: For Peer Persistence, add policy options in RCG 4e8038e5b PowerMax Docs - New features and supported software 38f93e9dd Fix: Online migrations for untyped volumes/snapshots ba014f672 Add "service token" documentation b4e783bee Tests: Fix retype unit test InvalidUUID warning 128b46ae7 PowerMax Docs - Short host and port group name changes 259258df3 PowerMax Driver - ODE Capabilities Fix a50adcc49 Mark Virtuozzo Driver Unsupported 9e09cf654 Add doc page for accelerate image compression 2ca0796c1 Update TOX/UPPER_CONSTRAINTS_FILE for stable/train ec64f8aa9 Update .gitreview for stable/train 96ae45212 Releasenote followup: Untyped to default volume type 1b25c29dc PowerMax Driver - Volume Retype Replication fix 49f24860e PowerMax Driver - Metro Volume Metadata change 827f954cb Add "deletion policy" property to uploaded images 36d860719 NEC Driver: Storage assist retype and a bugfix 2c534d9dd HPE 3PAR: Updated supported operations for multiattach feature ecf7041ad Make sure stale image metadata is not used 560eaabed PowerMax Driver - Unisphere version check f1eb128c8 PowerMax Driver - Debug Metadata Fix a550ade30 Untyped to Default Volume Type a6f4caabd NEC Driver: Support revert to snapshot 0ebcf5e2c Unity: Add replication support 5f05d8e18 Delete unused key when rekeying volume 9073f7591 Leverage hw accelerator in image compression ba3bba25d Tests: Fix test_volume.py import ordering 330f1ae45 Rekey volume on clone 46a16f1d6 3PAR: Add Peer Persistence support 83a4ba494 Denote max microversion for Train 1af55ce64 Pylint: use -j 0 arg aacd4ae79 target/spdknvmf: Add max_queue_depth configuration parameter 2fcc678e9 NEC Driver: allow more than 4 iSCSI portals 3ebefda51 Zadara VPSA: Move to API access key authentication c586d0886 Fix up test_snapshot notify tests 34a183a83 Continue renaming of volume_utils (drivers) ca5c2ce4e Continue renaming volume_utils (core) de789648e Rename volume/utils.py to volume/volume_utils.py e4ee4e953 NEC Driver: Support multi-attach bf379fde3 Address reno nit for ZFSSA deprecation 7e90919cf StorPool: update the driver requirements. 0ecbb7057 Mark the StorPool driver as supported again. 159a9c0cc Advertise some of the StorPool driver's capabilities. 27c0ca65a Mark HPE LeftHand driver as unsupported 230bda82c Fix online data migrations ee23696ca Blacklist eventlet 0.25.0 372b6fb81 PowerMax Driver - Revert to Snapshot Fix 2c67d2938 Fix potential NameError of rc_id 38d581996 Google backup: correct string encoding between py 2 and 3 9a4dd8ec0 Mark Huawei Fusionstorage Driver Unsupported 112e8a9a4 Change PDF file name c07908664 Mark IBM GPFS Driver Unsupported 59b0ed9b8 Unsupport IBM DS8k and XIV Drivers c8434d85a Mark Oracle ZFSSA Drivers Unsupported 3cef55907 nova: use EndpointNotFound from keystoneauth1 4c5f96acd Synology: Fix driver to be compatible with python3 e03285528 Added information how to use JsonFilter 3508d01a7 PowerMax Driver - Volume & Snapshot Metadata fb2791bb8 PowerMax driver - check cylinder count of source and target volumes 4d968acc9 PowerMax Driver - SnapVX NoCopy Mode 3d0abc28f PowerMax Driver - Miscellaneous improvements to delete c84586e7b PowerMax Driver - Fix for CI on replication_device config 5a7f8fcda Add cinder-specs link to readme.rst 4249e6e61 Fix fujitsu's wrong call to pywbem 08d35b099 Dell EMC SC: Handle the mappings of multiattached volume 5f7ef168b Mark IBM Flashsystem Drivers Unsupported 30630c962 Mark the IBM Storwize driver unsupported e10b094db Add pdf documentation build in tox ff9640226 docs: update new driver review page 293be4f81 Don't allow retype to encrypted+multiattach type d4aca061c Infortrend: Mock sleep in tests c6c26a56a NEC Driver: Python3 compatibility ec70a02dd Log exception info when objects fail to init 8a4dbf3ee Move some code out of utils.py 5018727f8 Support Incremental Backup Completion In RBD 33a3a4bf6 Fix NFS volume retype with migrate 311b89ce1 [api-ref]Fix response example file of update_type 9e2f46a87 Fix tox docs failure d4f1e5725 [api-ref]Fix values of service-status in list-hosts b0a56ddd2 Ignore hacking rule H101 fddb9b796 Fix LVM IPv6 target portals c0fb67b76 PowerMax Driver - feedback on tag removal 12096ee1d Address review comments for MacroSAN driver 9e122f116 3PAR: Add config for NSP single path attach 2b6ef6129 Revert "3PAR: Provide new option to specify NSP for single path attachments" e18f05e73 Create Seagate driver from dothill driver b9ab05902 Fix "Fix upload volume to glance" d754988fd Tests: Combine similar encrypted volume tests w/ ddt a62fabfa6 Rollback the quota_usages table when failed to create a incremental backup dff0f7b2c Docs: Jenkins is dead, long live Zuul 6bc29e280 Cisco FC Zone Manager Driver - Python3.x support af04cc339 Update docs building 99ec31f53 Docs: Make links more robust 0d2f3d0d5 PowerMax Driver - Train San REST Port Removal 27db9d2ed PowerMax Driver - QoS Utils Move ce988794c Add contributor notes on cinder-status checks c497c9387 Fixing 404's and broken links 36765c2e8 Update drivers documentation 858900f1b Tighten unit test dict assertions 0a0d55d8a Fix upload volume to glance 90f962553 Refactor API utilities into api_utils.py fd495d010 SF remove deprecated sf_allow_template_caching 9844b469a Update Veritas Access in Support Matrix 07e6086ca Mark Storpool Driver Unsupported 765696725 Fix ceph: only close rbd image after snapshot iteration is finished cf0f5daad Rsdlib changed providing_pools interface 31d8f6b38 NetApp ONTAP: Fix JSON serialization error on EMS logs 2e73bede8 Fix DetachedInstanceError for VolumeAttachment 2f0bd7460 Fix get_driver_options 4c9ae85ac Create extras for pypi install f2b0de24c Correcting typo in environment spelling f4cee575b PowerMax Driver - Create Volume from SG Payload Change 7f3a77b66 Prevent double-attachment race in attachment_reserve 692338185 Run 'tempest-ipv6-only' job in gate b7c81a7b4 3PAR: Provide new option to specify NSP for single path attachments 0fdb1dd2d Imported Translations from Zanata 22a047779 Add MacroSAN cinder driver fc628957d Fix dothill multiattach support 0acf95c10 Update api-ref location 68b0dc5bf Never skip jobs when .zuul.yaml is changed 29bb1f7b4 Remove outdated scripts from tools/ 377e51a0f [DOCFIX] Correct Cinder Backup Driver Option Value c461e1300 Bump Pure Storage FC driver version number for Train 99cb4a0b5 Re-add Infortrend Cinder volume driver d32652e8f Replace "integrated-gate-py3" template with new "integrated-gate-storage" 3c8fbb956 Update NexentaStor5 driver 1e74f318d Compress images uploaded to Glance ee8a2d8e9 HPE 3PAR - Fix detach of multiattach volumes f0ad03e45 doc: Fix rbd driver marked support multiattach ba674370e Update support matrix entries for MSA and Lenovo arrays. 674f9b60d Add policy sample file to gitignore c50494a70 Add release note ignore for backport note a91708bd2 Move DotHill release note to correct location 24236a9c2 Refactor use of encryption/image volume utils 78f2101fc Add context to cloning snapshots in remotefs driver c3d7880ed Cleanup api-ref sample files d0a196724 Zadara VPSA: Fix driver force detach operation 850013325 Unity: force delete lun by default 9dd5232ea Launch driver list generation with the same python interpreter a49f8c42f Blacklist sphinx 2.1.0 (autodoc bug) e102f3a71 Add support for VxFlex OS 3.0 to VxFlex OS driver f44292e39 Add Active/Active HA to Support Matrix 32aa53eaf Mark Datera driver unsupported 2a56fce0c RBD: save and restore multiattach features f38fbb646 Add case: force delete snapshot ef89161e2 Add case: volume can't be reverted in in-use status f8556ae98 Fix assertion methods in a unit test 68d8de3cf Replace deprecated with_lockmode with with_for_update 4e5e9701b Fix kwargs passed to exception to get better format of error message 12a7bf699 SF: Handle qos values on extend volume 66fcf8252 Fix volume type quota defaults in quotas tests f55c23361 Fix :param: in docstring d17760e06 Run cinderlib functional tests on Ceph job a1c58b50e Remove the Nexenta Edge Driver 9aca21f5c Remove the Veritas HyperScale Driver 042364295 Remove the Tintri Driver 7fb9b430e remove support for deprecated options in VxFlex OS driver 0eaca453b rename ScaleIO driver to VxFlex OS eb4e6c924 NetApp SolidFire: Adding new fields to scheduler data e269cc668 Add key-manager to sevice catalog d960cb047 NFS: Retry on intermittent mount failure 5e8e7a381 Add Contributor Docs for Upgrade Checks e875add1e Rename RSD doc file to match title for sorting 54a13c493 Update QoS and add Accuracy Note fbab79dee Remove the DRBDManage Driver 9a5bdb308 Add OS-SCH-HNT in extensions list b92b80241 Cinder RSD Driver 6bfa77105 Replace assert to raise AssertionError 748ab113d VMware: Enable thin volume from image on VVol fd8b74b61 PowerMax Driver - Metro ODE Support e2f52da0d PowerMax Driver - PowerMax Formatted Vols Fix cd39a9b2f PowerMax driver - Rapid TDEV Deallocation dae2a25e8 Remove unused CG volume manager constants edc5fab12 Enable osprofiler for rally job 11d74a2f0 Small doc updates: canonical URLs, rally doc, etc c35d78687 Re-enable new pycodestyle errors 197b7fc17 Mark Veritas Access Driver Unsupported 1d488005a Mark Prophetstor Driver Unsupported f37b98ed9 Mark the Nimble Driver Unsupported 852289932 PowerMax driver - locking improvements ff5cbe0d8 PowerMax driver - clone improvements e57c46042 PowerMax driver - add 'target_array_model' to metadata 57ea996bb Docs: Add new driver review checklist f3ee3dbf4 Revert "Implement volume capacity stats for VMware" bcc12d383 PowerMax driver - changing from 9.0 to 9.1 REST endpoints e0e912b08 Add rbd secret_uuid in secondary config 830490916 Bump hacking version to 1.1.x 44383cec9 Update Python 3 test runtimes for Train 1ca347c11 Fix formatting issues in PowerMax docs f37d88a71 PowerMax docs - known issues with metro 3b85ebe98 Make py37 unit tests voting 30da697a5 move Dell EMC SC driver exceptions e78e05c95 Add Upgrade Check for Drivers Removed in Stein bc18906f0 Add upgrade check for Windows iSCSI driver. 6db2e9454 move kaminario driver exceptions 8fbfe923b Deprecate NestedDbQuotaDriver for nested quotas ce7b86267 move dothill exceptions e2e5bddd4 Mark the Sheepdog driver unsupported 2bbd7d87a move purestorage driver exceptions c3f6ccbe8 move Hyperscale exceptions to driver d67105c7f move storpool exception c83e7ec2a Remove Sheepdog tests from zuul config 90f0d636c Drop use git.openstack.org for tox deps 49331b2bb Fix "connector=None" issue in Kaminario drivers cf49fc7a9 move cisco zonemanager exception b97670549 move vzstorage exceptions 8a954f117 move zadara exceptions 0554ee1d4 Bump bandit version 17bf1d387 Move RBD driver exception to driver d35e8565f LOG _init_vendor_properites 1926a0352 HPE 3PAR-Added support for multiattach feature in hpe3par cinder driver 23cfc6efa Pure Storage FlashArray iSCSI driver target CIDR support 18fbbd1af [VNX] Fix test case issue 7bb731098 Remove BackupDriverWithVerify class 7af13ef61 Cap sphinx for py2 to match global reqs 920a87866 Handle collections.abc deprecations a203f363d move zfssa exception 6b996b689 Update NEC driver manual and support matrix. c7d92f456 Correct typo in api-ref 25a5ddc69 Glob volume driver docs to auto sort b26026077 move netapp exception 9c00ebbed move Nexenta exception 153825146 move NVMEOF exception to target file 659d4e390 move brocade zone manager exceptions 73adbf564 move 3par exception b986a241d move xtremio exceptions a30fd0276 Update doc for missed quotation marks 8b4ca8588 Remove driver requirements of removed drivers 398904813 Remove the repeated calls faffb74ff Remove confusing annotation 52b765689 VMware: Filter out datastore with 0 capacity 1b8619258 move solidfire driver exceptions 7e038bc2e move smbfs exceptions c549325bd api-ref: mark migration_status parameter as optional 7a944b91f Add python37 job 846b6d388 Removes python-linstor as a requirement for LINSTOR driver f12fda8ff Make sure we install cinder requirements during the correct tox phase 44a788902 remove unused exceptions 12225b6c0 move datera exception 4454b7c44 move sheepdog exception 466f08b67 Use assertNotIn to check dict item fe32529d5 move Google backup exceptions 1c72c38ee Removes drbdmanage as a requirement for drbdmanage driver 467b0441d move synology driver exceptions 779979789 Remove unused exception 4dfca46ce Move NVMET driver exceptions to driver file 27afe7147 [Trivial fix]Remove unnecessary slash 4a42a5b97 Do not use 'self' in classmethod c6360d340 [Unity] Update doc for compressed volume support b7a7ac7b5 Allow filtering on size for volume list e049afa65 move GPFS driver exception to driver file 883e78537 Compact DB migrations to Queens 20c951041 Remove unneeded comment 3b7cde390 Update Brocade FCZM driver's driver options 1236220dd Fix invalid function name 46bec90f0 Add user messages for some volume snapshot actions 06bd566bb Remove obsolete get_backup_driver functions 379973887 Fix swift backup driver crashing during service startup 5cf104546 Correct and optimize hpe3par tests c1388ce1c lvm: Only use initiators when comparing connector dicts dbd4a100f Update unit test debugging instructions for stestr 3669d5204 OpenDev Migration Patch b96470467 Start release cycle checklist documentation 2fa49bbbe Remove docs for --allow-multiattach ddbd64bc1 Add missing ws seperator between words c2c084da7 PowerMax docs - add information on new and existing functionality f80849912 3PAR: Provide an option duing creation of volume from snapshot 326d2bcb9 NFS: Log exception when update_migrated_volume fails d182280a9 Drop use of git.openstack.org 5b6820132 Fix missing print format error c34e42af7 Rollback the volume_types table when failed to update quota_usages f4b7a5154 Uncap jsonschema 5ead63042 Fix cinder-manage args --max_count in docs 333e83b8a Use proper casing in backup_compression_algorithm doc 7f2c9f103 Remove DataCore volume drivers b0279f208 Introduce config to supplement periodic_interval 3ecdc2bfc VNX: add option vnx_async_migrate 50c341166 add libpq-dev to build psycopg2 d4c8a792d Tests: Fix up test_volume notify tests 0c1e261c8 Make backup_compression_algorithm case insensitive 8d57a0410 Update the min version of tox 4facb82ce Update gate-irrelevant-files 8c6355f3c Add upgrade check for presence of policy.json file 4ec5c76c8 Allow reset-state to detach volume as per policy 6c9609911 Fix deprecation escape sequence errors under 3.6 09c111190 Document behavior of message.create 06886e8f5 Reserve migrations for DB backports b3a89dc18 VNX: delete the LUN from VNX backend cef38b5e8 Add upgrade checker for backup driver path a5b5d8e70 Remove non-exception from EXCEPTION_DETAIL_MAPPINGS b56dc7e15 Remove scanning upgrade checker from opts generation e27d78145 Fix code-block JSON format issues 281685796 Replace HTTP numeric codes with constants 587715b58 Remove doc for Nova option that doesn't exist 661a4f121 Unity: Add consistent group support 6044160e2 Add NetApp E-Series Driver to Removal List b78db1ab5 Doc: Mark last Stein API microversion cb4b406b2 Raise eventlet lower-constraint to 0.22.0 c40765acd Replace openstack.org git:// URLs with https:// 55bce32c1 PowerMax Driver - In-Use Retype Path Fix 0bdb3cdd2 Run cinderlib functional tests on LVM-LIO job 881354c50 Imported Translations from Zanata 47d2a98fa Fix service_uuid migration for volumes with no host 160cb0d00 Update master for stable/stein 66bfd46e4 Synology: Add support for UC-Series model 80e94ac3d Handling filters in Generalized Filtering API 4e8ed9d5c Automate generation of volume transfer api-ref samples ff14c76e7 [NetApp] Casting block_count to int before calling ONTAP API. c981616d5 Refactored NexentaStor5 driver d50d6a24d Allow setting Pure host personality 694d8f092 Enable service capabilities update at less than 60 seconds bfa0f8d5e Fix the misspelling of "volumes" 40127d95a Refresh the Service.service_id after re-spawning children c65869626 NetApp: Return all iSCSI targets-portals 1b07b9e39 sqlalchemy: GroupTypeProjects.deleted is boolean Diffstat (except docs and test files) ------------------------------------- .gitignore | 1 + .gitreview | 3 +- .zuul.yaml | 37 +- README.rst | 7 +- api-ref/source/conf.py | 4 - api-ref/source/v2/hosts.inc | 2 +- api-ref/source/v2/parameters.yaml | 16 +- api-ref/source/v3/hosts.inc | 2 +- api-ref/source/v3/os-vol-transfer-v3.inc | 14 +- api-ref/source/v3/parameters.yaml | 14 +- .../v3/samples/extensions-list-response.json | 212 - .../extensions/extensions-list-response.json | 7 + .../v3/samples/snapshot-manage-response.json | 17 - .../snapshot-manage-request.json | 2 +- .../snapshot-manage-response.json | 17 + .../samples/volume-transfer-accept-response.json | 17 - .../samples/volume-transfer-create-response.json | 22 - .../v3/samples/volume-transfer-show-response.json | 21 - .../volume-transfers-list-detailed-response.json | 42 - .../v3/samples/volume-transfers-list-response.json | 34 - .../volume-manage-response.json | 46 +- .../volume-transfer-accept-request.json | 0 .../volume-transfer-accept-response.json | 17 + .../volume-transfer-create-request.json | 3 +- .../volume-transfer-create-response.json | 19 + .../volume-transfer-show-response.json | 18 + .../volume-transfers-list-detailed-response.json | 20 + .../volume-transfers-list-response.json | 19 + .../volume_type/volume-type-update-response.json | 11 + .../volume_type/volume-types-list-response.json | 23 +- .../v3/samples/volumes-list-detailed-response.json | 105 - .../source/v3/samples/volumes-list-response.json | 37 - .../v3/samples/volumes/volume-create-response.json | 2 +- .../v3/samples/volumes/volume-show-response.json | 2 +- .../v3/samples/volumes/volume-update-response.json | 2 +- .../volumes/volumes-list-detailed-response.json | 2 +- .../volumes-list-summary-response.json | 0 api-ref/source/v3/snapshot-manage.inc | 4 +- api-ref/source/v3/vol-transfer-v3.inc | 14 +- api-ref/source/v3/volume-manage.inc | 2 +- api-ref/source/v3/volumes-v3-types.inc | 4 +- api-ref/source/v3/volumes-v3-volumes.inc | 8 +- bindep.txt | 1 + cinder/api/api_utils.py | 145 + cinder/api/common.py | 12 +- cinder/api/contrib/admin_actions.py | 4 +- cinder/api/contrib/backups.py | 8 +- cinder/api/contrib/qos_specs_manage.py | 5 +- cinder/api/contrib/scheduler_hints.py | 11 + cinder/api/contrib/services.py | 2 +- cinder/api/contrib/types_manage.py | 5 + cinder/api/contrib/volume_actions.py | 8 +- cinder/api/contrib/volume_manage.py | 4 +- cinder/api/extensions.py | 2 +- cinder/api/middleware/fault.py | 4 +- cinder/api/openstack/rest_api_version_history.rst | 8 +- cinder/api/openstack/wsgi.py | 10 +- cinder/api/v2/limits.py | 1 + cinder/api/v2/router.py | 3 +- cinder/api/v2/snapshots.py | 8 +- cinder/api/v2/types.py | 36 +- cinder/api/v2/volumes.py | 22 +- cinder/api/v3/attachments.py | 21 +- cinder/api/v3/group_types.py | 31 +- cinder/api/v3/router.py | 3 +- cinder/api/v3/snapshots.py | 5 +- cinder/api/v3/volumes.py | 17 +- cinder/api/v3/workers.py | 3 +- cinder/api/validation/validators.py | 15 +- cinder/backup/api.py | 8 +- cinder/backup/chunkeddriver.py | 7 +- cinder/backup/driver.py | 15 - cinder/backup/drivers/ceph.py | 236 +- cinder/backup/drivers/gcs.py | 25 +- cinder/backup/drivers/glusterfs.py | 4 - cinder/backup/drivers/nfs.py | 18 +- cinder/backup/drivers/posix.py | 4 - cinder/backup/drivers/swift.py | 16 +- cinder/backup/drivers/tsm.py | 4 - cinder/backup/manager.py | 87 +- cinder/cmd/api.py | 3 + cinder/cmd/manage.py | 60 +- cinder/cmd/status.py | 254 +- cinder/cmd/volume_usage_audit.py | 18 +- cinder/common/config.py | 12 + cinder/common/sqlalchemyutils.py | 7 +- cinder/compute/nova.py | 3 +- cinder/context.py | 6 +- cinder/db/api.py | 27 +- cinder/db/migration.py | 2 +- cinder/db/sqlalchemy/api.py | 158 +- .../versions/098_message_add_expire_at_index.py | 20 - .../099_add_connection_info_to_attachment.py | 23 - .../versions/100_add_foreign_key_indexes.py | 65 - .../101_fix_replication_status_default_upgrade.sql | 45 - .../102_add_replication_status_to_groups_table.py | 28 - .../versions/103_message_action_detail_column.py | 25 - .../versions/105_add_backup_metadata.py | 50 - .../migrate_repo/versions/106_placeholder.py | 22 - .../migrate_repo/versions/110_placeholder.py | 22 - ...111_add_project_resource_idx_for_quota_usage.py | 31 - .../versions/112_add_uuid_to_services_table.py | 32 - .../113_add_reservation_deleted_uuid_index.py | 28 - .../versions/114_add_service_uuid_fk_to_volumes.py | 37 - .../versions/115_add_shared_targets_to_volumes.py | 25 - .../116_add_volume_attachment_connector.py | 21 - .../117_add_encryption_key_id_to_backups.py | 24 - .../migrate_repo/versions/118_placeholder.py | 22 - .../migrate_repo/versions/119_placeholder.py | 22 - .../migrate_repo/versions/120_placeholder.py | 22 - .../migrate_repo/versions/121_placeholder.py | 22 - .../migrate_repo/versions/122_placeholder.py | 22 - .../versions/123_add_transfer_no_snapshots.py | 21 - .../{097_cinder_init.py => 123_cinder_init.py} | 100 +- .../{108_placeholder.py => 129_placeholder.py} | 6 +- .../{107_placeholder.py => 130_placeholder.py} | 6 +- .../{109_placeholder.py => 131_placeholder.py} | 6 +- .../versions/132_create_default_volume_type.py | 45 + cinder/exception.py | 309 +- cinder/group/api.py | 8 +- cinder/image/accelerator.py | 105 + .../datacore => image/accelerators}/__init__.py | 0 cinder/image/accelerators/gzip.py | 98 + cinder/image/accelerators/qat.py | 99 + cinder/image/image_utils.py | 114 +- cinder/interface/backup_verify_driver.py | 38 - cinder/locale/cs/LC_MESSAGES/cinder.po | 5131 ---------------- cinder/locale/de/LC_MESSAGES/cinder.po | 592 +- cinder/locale/es/LC_MESSAGES/cinder.po | 464 +- cinder/locale/fr/LC_MESSAGES/cinder.po | 465 +- cinder/locale/it/LC_MESSAGES/cinder.po | 457 +- cinder/locale/ja/LC_MESSAGES/cinder.po | 586 +- cinder/locale/ko_KR/LC_MESSAGES/cinder.po | 442 +- cinder/locale/pt_BR/LC_MESSAGES/cinder.po | 455 +- cinder/locale/ru/LC_MESSAGES/cinder.po | 459 +- cinder/locale/zh_CN/LC_MESSAGES/cinder.po | 419 +- cinder/locale/zh_TW/LC_MESSAGES/cinder.po | 430 +- cinder/message/api.py | 47 +- cinder/message/message_field.py | 38 +- cinder/objects/backup.py | 11 +- cinder/objects/base.py | 14 +- cinder/objects/cleanable.py | 6 +- cinder/objects/group.py | 6 +- cinder/objects/snapshot.py | 5 + cinder/objects/volume.py | 5 + cinder/objects/volume_attachment.py | 13 +- cinder/objects/volume_type.py | 6 +- cinder/opts.py | 32 +- cinder/quota.py | 18 +- cinder/rpc.py | 9 +- cinder/scheduler/evaluator/evaluator.py | 1 + cinder/scheduler/filter_scheduler.py | 21 +- cinder/scheduler/filters/driver_filter.py | 10 + .../scheduler/filters/instance_locality_filter.py | 2 +- cinder/scheduler/filters/json_filter.py | 9 +- cinder/scheduler/host_manager.py | 26 +- cinder/scheduler/manager.py | 22 +- cinder/scheduler/weights/goodness.py | 4 +- cinder/service.py | 14 +- cinder/test.py | 19 +- .../extensions/extensions-list-response.json.tpl | 7 + .../snapshot-manage-request.json.tpl | 11 + .../snapshot-manage-response.json.tpl | 17 + .../volume-manage-response.json.tpl | 46 +- .../volume-transfer-accept-request.json.tpl | 5 + .../volume-transfer-accept-response.json.tpl | 17 + .../volume-transfer-create-request.json.tpl | 6 + .../volume-transfer-create-response.json.tpl | 19 + .../volume-transfer-show-response.json.tpl | 18 + ...olume-transfers-list-detailed-response.json.tpl | 20 + .../volume-transfers-list-response.json.tpl | 19 + .../volume-type-update-request.json.tpl | 7 + .../volume-type-update-response.json.tpl | 11 + .../volume-types-list-response.json.tpl | 19 +- .../volumes/volume-create-response.json.tpl | 2 +- .../samples/volumes/volume-show-response.json.tpl | 2 +- .../volumes/volume-update-response.json.tpl | 2 +- .../volumes-list-detailed-response.json.tpl | 2 +- .../test_snapshot_manage_extensions.py | 32 + .../unit/api/contrib/test_consistencygroups.py | 15 +- .../api/contrib/test_volume_encryption_metadata.py | 1 + .../unit/api/contrib/test_volume_image_metadata.py | 9 +- .../unit/api/contrib/test_volume_type_access.py | 1 + .../unit/attachments/test_attachments_manager.py | 6 +- .../unit/backup/drivers/test_backup_driver_base.py | 44 +- .../unit/backup/drivers/test_backup_google.py | 17 +- .../unit/group/test_groups_manager_replication.py | 4 +- .../unit/image/accelerators}/__init__.py | 0 .../scheduler/test_allocated_capacity_weigher.py | 8 +- .../unit/scheduler/test_volume_number_weigher.py | 8 +- .../volume/drivers/datacore/test_datacore_api.py | 732 --- .../drivers/datacore/test_datacore_driver.py | 702 --- .../volume/drivers/datacore/test_datacore_fc.py | 256 - .../volume/drivers/datacore/test_datacore_iscsi.py | 515 -- .../drivers/datacore/test_datacore_passwd.py | 289 - .../volume/drivers/datacore/test_datacore_utils.py | 78 - .../drivers/dell_emc/powermax/powermax_data.py | 167 +- .../dell_emc/powermax/powermax_fake_objects.py | 4 +- .../dell_emc/powermax/test_powermax_common.py | 1002 ++- .../drivers/dell_emc/powermax/test_powermax_fc.py | 2 +- .../dell_emc/powermax/test_powermax_iscsi.py | 2 +- .../dell_emc/powermax/test_powermax_masking.py | 2 +- .../dell_emc/powermax/test_powermax_metadata.py | 27 +- .../dell_emc/powermax/test_powermax_provision.py | 26 +- .../dell_emc/powermax/test_powermax_replication.py | 193 +- .../dell_emc/powermax/test_powermax_rest.py | 350 +- .../dell_emc/powermax/test_powermax_utils.py | 88 +- .../unit/volume/drivers/dell_emc/sc/test_fc.py | 101 + .../unit/volume/drivers/dell_emc/sc/test_sc.py | 114 +- .../unit/volume/drivers/dell_emc/sc/test_scapi.py | 3 +- .../unit/volume/drivers/dell_emc/test_xtremio.py | 9 +- .../drivers/dell_emc/unity/fake_exception.py | 36 +- .../volume/drivers/dell_emc/unity/test_adapter.py | 560 +- .../volume/drivers/dell_emc/unity/test_client.py | 268 +- .../volume/drivers/dell_emc/unity/test_driver.py | 181 +- .../drivers/dell_emc/unity/test_replication.py | 362 ++ .../volume/drivers/dell_emc/vnx/mocked_cinder.yaml | 9 + .../volume/drivers/dell_emc/vnx/mocked_vnx.yaml | 27 +- .../volume/drivers/dell_emc/vnx/test_adapter.py | 37 +- .../unit/volume/drivers/dell_emc/vnx/test_utils.py | 12 + .../dell_emc/{scaleio => vxflexos}/__init__.py | 28 +- .../dell_emc/{scaleio => vxflexos}/mocks.py | 6 +- .../test_attach_detach_volume.py | 4 +- .../test_create_cloned_volume.py | 8 +- .../{scaleio => vxflexos}/test_create_snapshot.py | 8 +- .../{scaleio => vxflexos}/test_create_volume.py | 51 +- .../test_create_volume_from_snapshot.py | 8 +- .../{scaleio => vxflexos}/test_delete_snapshot.py | 10 +- .../{scaleio => vxflexos}/test_delete_volume.py | 10 +- .../{scaleio => vxflexos}/test_extend_volume.py | 14 +- .../{scaleio => vxflexos}/test_get_manageable.py | 43 +- .../dell_emc/{scaleio => vxflexos}/test_groups.py | 34 +- .../test_initialize_connection.py | 22 +- .../test_initialize_connection_snapshot.py | 6 +- .../{scaleio => vxflexos}/test_manage_existing.py | 8 +- .../test_manage_existing_snapshot.py | 8 +- .../dell_emc/{scaleio => vxflexos}/test_misc.py | 96 +- .../{scaleio => vxflexos}/test_versions.py | 6 +- .../volume/drivers/fusionstorage/test_dsware.py | 2 +- .../volume/drivers/fusionstorage/test_fs_client.py | 8 +- .../unit/volume/drivers/hpe/test_hpelefthand.py | 16 +- .../volume/drivers/huawei/test_huawei_drivers.py | 6 +- .../unit/volume/drivers/ibm/test_ds8k_proxy.py | 3 +- .../volume/drivers/ibm/test_ibm_flashsystem.py | 2 +- .../unit/volume/drivers/ibm/test_storwize_svc.py | 56 +- .../unit/volume/drivers/ibm/test_xiv_proxy.py | 144 +- .../unit/volume/drivers/infortrend}/__init__.py | 0 .../drivers/infortrend/test_infortrend_cli.py | 2670 ++++++++ .../drivers/infortrend/test_infortrend_common.py | 2928 +++++++++ .../drivers/inspur/as13000/test_as13000_driver.py | 2 +- .../volume/drivers/inspur/instorage/test_common.py | 20 +- .../drivers/inspur/instorage/test_fc_driver.py | 3 +- .../drivers/inspur/instorage/test_iscsi_driver.py | 3 +- .../drivers/netapp/dataontap/client/test_api.py | 6 +- .../netapp/dataontap/client/test_client_cmode.py | 12 +- .../unit/volume/drivers/netapp/dataontap/fakes.py | 2 + .../drivers/netapp/dataontap/test_block_base.py | 58 +- .../drivers/netapp/dataontap/test_block_cmode.py | 21 +- .../dataontap/test_block_driver_interfaces.py | 11 +- .../drivers/netapp/dataontap/test_nfs_base.py | 9 +- .../drivers/netapp/dataontap/test_nfs_cmode.py | 14 +- .../netapp/dataontap/utils/test_data_motion.py | 6 +- .../unit/volume/drivers/nexenta/test_nexenta.py | 17 +- .../volume/drivers/nexenta/test_nexenta5_iscsi.py | 1154 +++- .../drivers/nexenta/test_nexenta5_jsonrpc.py | 1384 ++++- .../volume/drivers/nexenta/test_nexenta5_nfs.py | 1299 +++- .../volume/drivers/nexenta/test_nexenta_edge.py | 268 - .../volume/drivers/solidfire/test_solidfire.py | 1431 +++-- .../drivers/synology/test_synology_common.py | 106 +- .../volume/drivers/synology/test_synology_iscsi.py | 2 +- .../unit/volume/drivers/test_drbdmanagedrv.py | 716 --- .../drivers/{test_dothill.py => test_seagate.py} | 274 +- .../unit/volume/drivers/test_vrtshyperscale.py | 521 -- .../volume/drivers/vmware/test_vmware_datastore.py | 10 +- .../unit/volume/drivers/vmware/test_vmware_vmdk.py | 94 +- .../unit/volume/flows/test_create_volume_flow.py | 4 +- .../zonemanager/test_brcd_fc_zone_client_cli.py | 9 +- .../zonemanager/test_brcd_http_fc_zone_client.py | 27 +- .../zonemanager/test_cisco_fc_zone_client_cli.py | 6 +- cinder/transfer/api.py | 2 +- cinder/utils.py | 154 - cinder/volume/api.py | 94 +- cinder/volume/driver.py | 5 +- cinder/volume/drivers/datacore/api.py | 1062 ---- cinder/volume/drivers/datacore/driver.py | 746 --- cinder/volume/drivers/datacore/fc.py | 186 - cinder/volume/drivers/datacore/iscsi.py | 443 -- cinder/volume/drivers/datacore/passwd.py | 171 - cinder/volume/drivers/datacore/utils.py | 73 - cinder/volume/drivers/datera/datera_api2.py | 4 +- cinder/volume/drivers/datera/datera_api21.py | 4 +- cinder/volume/drivers/datera/datera_common.py | 16 +- cinder/volume/drivers/datera/datera_iscsi.py | 3 + cinder/volume/drivers/dell_emc/powermax/common.py | 858 ++- cinder/volume/drivers/dell_emc/powermax/fc.py | 10 +- cinder/volume/drivers/dell_emc/powermax/iscsi.py | 10 +- cinder/volume/drivers/dell_emc/powermax/masking.py | 91 +- .../volume/drivers/dell_emc/powermax/metadata.py | 51 +- .../volume/drivers/dell_emc/powermax/provision.py | 40 +- cinder/volume/drivers/dell_emc/powermax/rest.py | 361 +- cinder/volume/drivers/dell_emc/powermax/utils.py | 107 +- .../drivers/dell_emc/sc/storagecenter_api.py | 12 +- .../drivers/dell_emc/sc/storagecenter_common.py | 27 +- .../volume/drivers/dell_emc/sc/storagecenter_fc.py | 17 +- .../drivers/dell_emc/sc/storagecenter_iscsi.py | 22 +- cinder/volume/drivers/dell_emc/unity/adapter.py | 307 +- cinder/volume/drivers/dell_emc/unity/client.py | 171 +- cinder/volume/drivers/dell_emc/unity/driver.py | 81 +- .../volume/drivers/dell_emc/unity/replication.py | 214 + cinder/volume/drivers/dell_emc/unity/utils.py | 70 +- cinder/volume/drivers/dell_emc/vnx/adapter.py | 19 +- cinder/volume/drivers/dell_emc/vnx/common.py | 17 +- cinder/volume/drivers/dell_emc/vnx/driver.py | 6 +- cinder/volume/drivers/dell_emc/vnx/utils.py | 16 +- .../nexentaedge => dell_emc/vxflexos}/__init__.py | 0 .../dell_emc/{scaleio => vxflexos}/driver.py | 775 +-- cinder/volume/drivers/dell_emc/vxflexos/options.py | 145 + .../dell_emc/{scaleio => vxflexos}/simplecache.py | 5 +- cinder/volume/drivers/dell_emc/xtremio.py | 37 +- cinder/volume/drivers/drbdmanagedrv.py | 1078 ---- .../fujitsu/eternus_dx/eternus_dx_common.py | 20 +- cinder/volume/drivers/fusionstorage/dsware.py | 5 +- cinder/volume/drivers/hpe/hpe_3par_common.py | 291 +- cinder/volume/drivers/hpe/hpe_3par_fc.py | 346 +- cinder/volume/drivers/hpe/hpe_3par_iscsi.py | 321 +- cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py | 20 +- ...ar_multiattach_detach_fix-d2d3785d656fba90.yaml | 3 + cinder/volume/drivers/huawei/common.py | 2 +- cinder/volume/drivers/huawei/huawei_conf.py | 2 +- cinder/volume/drivers/ibm/flashsystem_common.py | 5 +- cinder/volume/drivers/ibm/gpfs.py | 16 +- .../drivers/ibm/ibm_storage/ds8k_connection.py | 1 + .../volume/drivers/ibm/ibm_storage/ds8k_proxy.py | 22 +- .../drivers/ibm/ibm_storage/ds8k_restclient.py | 2 +- .../volume/drivers/ibm/ibm_storage/ibm_storage.py | 3 + cinder/volume/drivers/ibm/ibm_storage/xiv_proxy.py | 27 +- .../volume/drivers/ibm/storwize_svc/replication.py | 2 +- .../ibm/storwize_svc/storwize_svc_common.py | 97 +- cinder/volume/drivers/infinidat.py | 40 +- .../drivers/{veritas => infortrend}/__init__.py | 0 .../volume/drivers/infortrend/infortrend_fc_cli.py | 392 ++ .../drivers/infortrend/infortrend_iscsi_cli.py | 368 ++ .../drivers/infortrend/raidcmd_cli/__init__.py | 0 .../drivers/infortrend/raidcmd_cli/cli_factory.py | 887 +++ .../drivers/infortrend/raidcmd_cli/common_cli.py | 2757 +++++++++ .../drivers/inspur/as13000/as13000_driver.py | 2 +- .../drivers/inspur/instorage/instorage_common.py | 33 +- .../drivers/inspur/instorage/instorage_fc.py | 11 +- .../volume/drivers/kaminario/kaminario_common.py | 90 +- cinder/volume/drivers/kaminario/kaminario_fc.py | 33 +- cinder/volume/drivers/kaminario/kaminario_iscsi.py | 7 +- cinder/volume/drivers/lenovo/lenovo_client.py | 4 +- cinder/volume/drivers/lenovo/lenovo_common.py | 31 +- cinder/volume/drivers/lenovo/lenovo_fc.py | 12 +- cinder/volume/drivers/lenovo/lenovo_iscsi.py | 11 +- cinder/volume/drivers/lvm.py | 60 +- cinder/volume/drivers/macrosan/__init__.py | 0 cinder/volume/drivers/macrosan/config.py | 91 + cinder/volume/drivers/macrosan/devop_client.py | 679 ++ cinder/volume/drivers/macrosan/driver.py | 1542 +++++ cinder/volume/drivers/nec/cli.py | 77 +- cinder/volume/drivers/nec/volume.py | 84 +- cinder/volume/drivers/nec/volume_common.py | 93 +- cinder/volume/drivers/nec/volume_helper.py | 636 +- .../volume/drivers/netapp/dataontap/block_base.py | 40 +- .../volume/drivers/netapp/dataontap/block_cmode.py | 73 +- .../drivers/netapp/dataontap/client/client_base.py | 19 +- .../netapp/dataontap/client/client_cmode.py | 13 +- cinder/volume/drivers/netapp/dataontap/nfs_base.py | 14 +- .../volume/drivers/netapp/dataontap/nfs_cmode.py | 12 +- .../drivers/netapp/dataontap/utils/capabilities.py | 3 +- .../drivers/netapp/dataontap/utils/data_motion.py | 17 +- cinder/volume/drivers/netapp/utils.py | 43 +- cinder/volume/drivers/nexenta/iscsi.py | 38 +- cinder/volume/drivers/nexenta/jsonrpc.py | 4 +- cinder/volume/drivers/nexenta/nexentaedge/iscsi.py | 345 -- .../volume/drivers/nexenta/nexentaedge/jsonrpc.py | 97 - cinder/volume/drivers/nexenta/nfs.py | 28 +- cinder/volume/drivers/nexenta/ns5/iscsi.py | 1636 +++-- cinder/volume/drivers/nexenta/ns5/jsonrpc.py | 746 ++- cinder/volume/drivers/nexenta/ns5/nfs.py | 1527 +++-- cinder/volume/drivers/nexenta/options.py | 74 +- cinder/volume/drivers/nexenta/utils.py | 63 +- cinder/volume/drivers/nfs.py | 11 +- cinder/volume/drivers/nimble.py | 3 + cinder/volume/drivers/prophetstor/dpl_iscsi.py | 7 +- cinder/volume/drivers/prophetstor/dplcommon.py | 5 +- cinder/volume/drivers/pure.py | 146 +- cinder/volume/drivers/quobyte.py | 3 +- cinder/volume/drivers/rbd.py | 194 +- cinder/volume/drivers/remotefs.py | 54 +- cinder/volume/drivers/rsd.py | 731 +++ cinder/volume/drivers/san/hp/hpmsa_client.py | 4 +- cinder/volume/drivers/san/hp/hpmsa_common.py | 31 +- cinder/volume/drivers/san/hp/hpmsa_fc.py | 14 +- cinder/volume/drivers/san/hp/hpmsa_iscsi.py | 14 +- cinder/volume/drivers/sheepdog.py | 48 +- cinder/volume/drivers/solidfire.py | 1179 ++-- cinder/volume/drivers/storpool.py | 16 +- cinder/volume/drivers/stx/__init__.py | 0 .../{dothill/dothill_client.py => stx/client.py} | 85 +- .../{dothill/dothill_common.py => stx/common.py} | 134 +- .../volume/drivers/{datacore => stx}/exception.py | 29 +- .../drivers/{dothill/dothill_fc.py => stx/fc.py} | 35 +- .../{dothill/dothill_iscsi.py => stx/iscsi.py} | 40 +- cinder/volume/drivers/synology/synology_common.py | 87 +- cinder/volume/drivers/synology/synology_iscsi.py | 5 +- cinder/volume/drivers/tintri.py | 978 --- cinder/volume/drivers/veritas/hs_constants.py | 56 - cinder/volume/drivers/veritas/utils.py | 352 -- cinder/volume/drivers/veritas/vrtshyperscale.py | 1008 --- .../volume/drivers/veritas_access/veritas_iscsi.py | 3 + cinder/volume/drivers/vmware/datastore.py | 2 +- cinder/volume/drivers/vmware/vmdk.py | 129 +- cinder/volume/drivers/vzstorage.py | 33 +- cinder/volume/drivers/windows/iscsi.py | 6 +- cinder/volume/drivers/windows/smbfs.py | 26 +- cinder/volume/drivers/zadara.py | 245 +- cinder/volume/drivers/zfssa/webdavclient.py | 25 +- cinder/volume/drivers/zfssa/zfssaiscsi.py | 8 +- cinder/volume/drivers/zfssa/zfssanfs.py | 8 +- cinder/volume/flows/api/create_volume.py | 18 +- cinder/volume/flows/api/manage_existing.py | 2 +- cinder/volume/flows/manager/create_volume.py | 159 +- .../flows/manager/manage_existing_snapshot.py | 2 +- cinder/volume/manager.py | 214 +- cinder/volume/rpcapi.py | 6 +- cinder/volume/targets/iscsi.py | 16 +- cinder/volume/targets/lio.py | 3 +- cinder/volume/targets/nvmeof.py | 8 +- cinder/volume/targets/nvmet.py | 13 +- cinder/volume/targets/scst.py | 9 +- cinder/volume/targets/spdknvmf.py | 10 +- cinder/volume/volume_types.py | 30 +- cinder/volume/{utils.py => volume_utils.py} | 44 +- cinder/wsgi/wsgi.py | 3 + .../drivers/brocade/brcd_fc_zone_client_cli.py | 19 +- .../drivers/brocade/brcd_fc_zone_driver.py | 23 +- .../drivers/brocade/brcd_http_fc_zone_client.py | 66 +- .../drivers/brocade/exception.py} | 22 +- .../drivers/cisco/cisco_fc_san_lookup_service.py | 3 +- .../drivers/cisco/cisco_fc_zone_client_cli.py | 15 +- .../drivers/cisco/cisco_fc_zone_driver.py | 29 +- .../drivers/cisco/exception.py} | 10 +- contrib/block-box/README.md | 2 +- .../blockstorage-accelerate-image-compression.rst | 59 + .../admin/blockstorage-volume-multiattach.rst | 10 - .../configuration/block-storage/backup-drivers.rst | 2 +- .../drivers/MacroSAN-storage-driver.rst | 423 ++ .../drivers/datacore-volume-driver.rst | 346 -- .../block-storage/drivers/datera-volume-driver.rst | 4 +- .../drivers/dell-emc-powermax-driver.rst | 402 +- .../drivers/dell-emc-unity-driver.rst | 91 +- .../block-storage/drivers/dell-emc-vnx-driver.rst | 28 +- .../drivers/dell-emc-vxflex-driver.rst | 80 +- .../drivers/dell-equallogic-driver.rst | 5 +- .../block-storage/drivers/drbd-driver.rst | 33 - .../block-storage/drivers/hp-msa-driver.rst | 66 +- .../block-storage/drivers/hpe-3par-driver.rst | 92 + .../drivers/ibm-storage-volume-driver.rst | 5 +- .../drivers/infortrend-volume-driver.rst | 143 + .../drivers/intel-rsd-volume-driver.rst | 52 + .../block-storage/drivers/kaminario-driver.rst | 10 +- .../block-storage/drivers/lenovo-driver.rst | 46 +- .../drivers/nec-storage-m-series-driver.rst | 37 +- .../block-storage/drivers/nexentaedge-driver.rst | 89 - .../block-storage/drivers/nexentastor5-driver.rst | 27 +- ...si-driver.rst => oracle-zfssa-iscsi-driver.rst} | 0 ...-nfs-driver.rst => oracle-zfssa-nfs-driver.rst} | 0 .../block-storage/drivers/pure-storage-driver.rst | 22 + .../block-storage/drivers/seagate-driver.rst | 181 + .../block-storage/drivers/tintri-volume-driver.rst | 84 - .../block-storage/drivers/vmware-vmdk-driver.rst | 4 +- .../configuration/block-storage/nested-quota.rst | 7 + .../block-storage/policy-config-HOWTO.rst | 2 +- .../block-storage/samples/cinder.conf.rst | 15 +- .../block-storage/samples/policy.yaml.rst | 6 +- .../block-storage/scheduler-filters.rst | 8 +- .../configuration/block-storage/service-token.rst | 139 + .../configuration/block-storage/volume-drivers.rst | 53 +- .../block-storage/volume-encryption.rst | 1 + .../configuration/tables/cinder-infortrend.inc | 38 + .../configuration/tables/cinder-nexenta_edge.inc | 46 - .../contributor/drivers_locking_examples.rst | 24 - .../install/cinder-backup-install-ubuntu.rst | 2 +- driver-requirements.txt | 17 +- etc/cinder/resource_filters.json | 8 +- etc/cinder/rootwrap.d/volume.filters | 5 +- lower-constraints.txt | 23 +- playbooks/cinderlib-run.yaml | 49 + .../cinder-tempest-dsvm-lvm-lio-barbican/run.yaml | 12 +- playbooks/tempest-and-cinderlib-run.yaml | 23 + rally-jobs/README.rst | 10 +- .../MacroSAN-volume-driver-6477e4ec7c38f49d.yaml | 3 + ...dara-change-to-access-key-b16bdaa9d8460b57.yaml | 11 + .../notes/bug-1782588-7e058b379da95309.yaml | 5 + ...809323-fix-invalid-backup-4a341dc362ded88e.yaml | 6 + .../notes/bug-1813851-60a4f0ffe386d9b6.yaml | 5 + ...pp-ontap-python3-failures-dd869e602f9539e1.yaml | 5 + .../notes/bugfix-1744692-5aebd0c97ae66407.yaml | 6 + ...e-encryption-key-on-clone-3be7cdb0e27386e0.yaml | 5 + ...tatus-check-backup_driver-fe009985df2bc32f.yaml | 6 + ...r-status-check-policyjson-ef61826eab95372b.yaml | 7 + ...eck-stein_removed_drivers-8184abe8ce82f373.yaml | 7 + ...heck-windows_iscsi_driver-5f4e0b93c7b92f53.yaml | 8 + .../notes/compress-images-fed3e354d94b0845.yaml | 7 + .../datera-mark-unsupported-7b71d9124b3fded2.yaml | 14 + .../db-schema-from-queens-de5025a780ff1d30.yaml | 6 + .../deprecate-nested-quota-d1ad7e8f54492a87.yaml | 13 + ...sf-allow-template-caching-b3a1ea32512cbb11.yaml | 9 + .../detachedinstanceerror-64be35894c624eae.yaml | 6 + .../enable-force-delete-lun-d0e05b5d669e40f7.yaml | 15 + ...fix-solidfire-replication-dcb3e59b29950933.yaml | 8 + ...par-peer-persistence.yaml-91cc84bf89dbb462.yaml | 5 + ...par-pp-rcg-policy-options-53271f38c315779f.yaml | 8 + ...sp-for-fc-bootable-volume-f372879e1b625b4d.yaml | 7 + .../hpe_3par_multiattach-bf98a9e5c2208902.yaml | 3 + ...pmsa-driver-updates-train-4fcbe71f3e2bb2da.yaml | 29 + ...fusionstorage-unsupported-4be766dd2ba8f980.yaml | 15 + ...m-flashsystem-unsupported-28f9aaf11b56fb2f.yaml | 14 + .../ibm-gpfs-unsupported-b95274829573835d.yaml | 14 + .../ibm-storage-unsupported-9e8ea6ce9cea503d.yaml | 14 + .../ibm-storwize-unsupported-e79cfd27523f013c.yaml | 14 + ...minario-cinder-driver-bug-44c728f026394a85.yaml | 6 + ...novo-driver-updates-train-f2ff96ca4a2885db.yaml | 29 + ...e-compression-accelerator-579c7032290cd1e9.yaml | 49 + .../notes/lvm-ipv6-fix-e8d418726c92bbd5.yaml | 5 + ...mark-unsupported-lefthand-312f8c34df6ed119.yaml | 12 + .../notes/msa-multiattach-5407eb60093de8f1.yaml | 0 ...-more-than-4iSCSI-portals-8342defe64491f81.yaml | 11 + ...assist-revert-to-sanpshot-58cddebfbf06d222.yaml | 5 + .../nec-support-multi-attach-8aae5100f513656c.yaml | 5 + .../netapp-non-discovery-19af4e10f7b190ea.yaml | 8 + ...fire-add-replication-mode-eb26535d0ec78cb4.yaml | 7 + ...solidfire-stats-improving-57207f313d7faf42.yaml | 5 + ...pts-for-periodic_interval-d0cb17a2d72e0cd0.yaml | 35 + ...xenta-edge-driver-removal-5626d542d75f3d43.yaml | 15 + ...exentastor5-driver-update-937d2a1ba76a504a.yaml | 34 + ...smartcompression-disabled-9c6ca7c758b6de69.yaml | 7 + .../nimble-mark-usnsupported-0c8e5e21c8d1179d.yaml | 14 + .../online-migration-checks-64b0d1732901e78e.yaml | 5 + .../oracle-zfssa-unsupported-4ce035213fa0e097.yaml | 15 + ...wermax-90-to-91-endpoints-a92c4d158cb63fe4.yaml | 5 + ...owermax-ode-metro-support-ed50bb20f932548b.yaml | 5 + ...powermax-snapvx-link-mode-0050ac6b4a16c739.yaml | 7 + ...owermax-tdev-deallocation-90bda0f95ab0b271.yaml | 5 + ...owermax-train-tag-removal-1dfa77df7440e5f5.yaml | 5 + .../powermax-vol-metadata-acd2555818d25b72.yaml | 6 + .../pure-host-personality-3512f7ccd961d4ad.yaml | 6 + .../notes/pure-iscsi-cidr-cbc1afb3850a9217.yaml | 7 + ...on_add_secret_uuid_config-c74d65e6d3d610c6.yaml | 6 + .../readd-infortrend-driver-d9b399b53a4355f8.yaml | 5 + .../notes/remove-datacore-300c667e9f504590.yaml | 5 + .../remove-drbdmanage-driver-4edd1e1e43b6ba39.yaml | 12 + ...veritas_hyperscale_driver-988ad62d2417124f.yaml | 15 + .../notes/rsd-cinder-driver-d71b88292536bfea.yaml | 4 + ...e-multiattach-onterminate-6ab1f96f21bb284d.yaml | 7 + .../scaleio-vxflexos-rebrand-27dfe2b82d35b6a2.yaml | 11 + .../notes/seagate-new-driver-d420fad549e9045f.yaml | 3 + ...sheepdog-mark-unsupported-648b2458d4a198de.yaml | 14 + ...spdk-add-config-parameter-39a880ec22956fd2.yaml | 5 + .../storpool-multiattach-f9b7edccd4db7e02.yaml | 5 + .../notes/support-cg-2b55da0bd9f69c7d.yaml | 11 + ...-backup-completion-in-rbd-1f2165fefcc470d1.yaml | 5 + ...synology-support-uc-model-9cda442828c2eb32.yaml | 4 + .../tintri-driver-removal-91a0931c417481d2.yaml | 15 + ...unity-replication-support-2ab121a5ea5a2ade.yaml | 4 + .../unsupport-prophetstor-bfbc674fd86303db.yaml | 14 + .../unsupport-veritas-access-ecfb4122770d93f9.yaml | 14 + .../untyped_to_default_type-0068e6bc8000986c.yaml | 18 + .../virtuozzo-unsupported-645b47dceb0ddbd2.yaml | 14 + ...re_revert_datastore_stats-ba85b30612970d91.yaml | 6 + ...-add-async-migrate-option-0734164feeaecadc.yaml | 6 + ...e-lun-due-to-tmp-snapshot-edd3cdd85e28be60.yaml | 9 + ...lexos-support-compression-9139e556677ac093.yaml | 6 + ...lexos_drop_deprecated_opt-3231a222e458fa92.yaml | 16 + releasenotes/source/conf.py | 13 +- releasenotes/source/index.rst | 1 + .../locale/en_GB/LC_MESSAGES/releasenotes.po | 6489 -------------------- .../source/locale/ja/LC_MESSAGES/releasenotes.po | 1227 ---- releasenotes/source/stein.rst | 8 + releasenotes/source/unreleased.rst | 2 +- requirements.txt | 4 +- setup.cfg | 40 + test-requirements.txt | 11 +- tools/coding-checks.sh | 3 +- tools/colorizer.py | 332 - tools/config/generate_cinder_opts.py | 8 +- tools/enable-pre-commit-hook.sh | 42 - tools/with_venv.sh | 7 - tox.ini | 64 +- 749 files changed, 45533 insertions(+), 40204 deletions(-) Requirements updates -------------------- diff --git a/driver-requirements.txt b/driver-requirements.txt index 362ec8054..1c077616e 100644 --- a/driver-requirements.txt +++ b/driver-requirements.txt @@ -5,4 +4,0 @@ -# DRBD -dbus # MIT -drbdmanage # GPLv3 - @@ -32,2 +27,0 @@ protobuf>=3.6.1 # BSD -eventlet>=0.24.1 # MIT -python-linstor>=0.6.2 # GPLv3 @@ -40,4 +34 @@ rbd # LGPLv2.1 -storops>=0.5.10 # Apache-2.0 - -# Violin -vmemclient>=1.1.8 # Apache-2.0 +storops>=1.1.0 # Apache-2.0 @@ -51,3 +41,0 @@ infi.dtypes.iqn # PSF -# DataCore SANsymphony -websocket-client>=0.32.0 # LGPLv2+ - @@ -55 +43,2 @@ websocket-client>=0.32.0 # LGPLv2+ -storpool # Apache-2.0 +storpool>=4.0.0 # Apache-2.0 +storpool.spopenstack>=2.2.1 # Apache-2.0 diff --git a/requirements.txt b/requirements.txt index ea5378f13..96785d63e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9 +9 @@ enum34>=1.0.4;python_version=='2.7' or python_version=='2.6' or python_version== -eventlet!=0.18.3,!=0.20.1,>=0.18.2 # MIT +eventlet!=0.23.0,!=0.25.0,>=0.22.0 # MIT @@ -13 +13 @@ iso8601>=0.1.11 # MIT -jsonschema<3.0.0,>=2.6.0 # MIT +jsonschema>=2.6.0 # MIT diff --git a/test-requirements.txt b/test-requirements.txt index 31a249abf..602320176 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -6 +6 @@ -hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0 +hacking>=1.1.0,<1.2.0 # Apache-2.0 @@ -9 +9 @@ coverage!=4.4,>=4.0 # Apache-2.0 -ddt>=1.0.1 # MIT +ddt>=1.2.1 # MIT @@ -13,0 +14 @@ oslotest>=3.2.0 # Apache-2.0 +pycodestyle==2.5.0 # MIT License @@ -21,2 +22,4 @@ tempest>=17.1.0 # Apache-2.0 -bandit>=1.1.0 # Apache-2.0 -reno>=2.5.0 # Apache-2.0 +# bandit is not included in upper-constraints, +# so we need to pin it here to a known working version +bandit==1.6.0 # Apache-2.0 +doc8>=0.6.0 # Apache-2.0
participants (1)
-
no-reply@openstack.org