[cinder] cinder 10.0.0 (ocata)
We contentedly announce the release of: cinder 10.0.0: OpenStack Block Storage This release is part of the ocata release series. Download the package from: https://tarballs.openstack.org/cinder/ For more details, please see below. 10.0.0 ^^^^^^ New Features ************ * Dell SC - Compression and Dedupe support added for Storage Centers that support the options. * Dell SC - Volume and Group QOS support added for Storage Centers that support and have enabled the option. * Added ability to query backups by project ID. * Add support to configure IO ports option in Dell EMC Unity driver. * Added reset status API to group snapshot. * Added reset status API to generic volume group. * Add v2.1 volume replication support in VMAX driver. * The IBM_Storage driver has been open sourced. This means that there is no more need to download the package from the IBM site. The only requirement remaining is to install pyxcli, which is available through pypi: ``sudo pip install pyxcli`` * Cinder is now collecting capacity data, including virtual free capacity etc from the backends. A notification which includes that data is periodically emitted. * Added update-host command for consistency groups in cinder-manage. * Added Datera EDF API 2.1 support. * Added Datera Multi-Tenancy Support. * Added Datera Template Support. * Broke Datera driver up into modules. * The "force" boolean parameter has been added to the volume delete API. It may be used in combination with "cascade". This also means that volume force delete is available in the base volume API rather than only in the "volume_admin_actions" extension. * Added backend driver for Dell EMC Unity storage. * Add consistent group capability to generic volume groups in VNX driver. * Added new Hitachi VSP FC Driver. The VSP driver supports all Hitachi VSP Family and HUSVM. * Adds new Hitachi VSP iSCSI Driver. * Hitachi VSP drivers have a new config option "vsp_compute_target_ports" to specify IDs of the storage ports used to attach volumes to compute nodes. The default is the value specified for the existing "vsp_target_ports" option. Either or both of "vsp_compute_target_ports" and "vsp_target_ports" must be specified. * Hitachi VSP drivers have a new config option "vsp_horcm_pair_target_ports" to specify IDs of the storage ports used to copy volumes by Shadow Image or Thin Image. The default is the value specified for the existing "vsp_target_ports" option. Either or both of "vsp_horcm_pair_target_ports" and "vsp_target_ports" must be specified. * Added the ability to list manageable volumes and snapshots to HNAS NFS driver. * Optimize backend reporting capabilities for Huawei drivers. * Added support for querying group details with volume ids which are in this group. For example, "groups/{group_id}?list_volume=True". * Added driver for the InfiniBox storage array. * Added backend FC and iSCSI drivers for NEC Storage. * The NetApp cDOT drivers report to the scheduler, for each FlexVol pool, the fraction of the shared block limit that has been consumed by dedupe and cloning operations. This value, netapp_dedupe_used_percent, may be used in the filter & goodness functions for better placement of new Cinder volumes. * Added extend method to NFS driver for NexentaStor 5. * Added secure HTTP support for REST API calls in the NexentaStor5 driver. Use of HTTPS is set True by default with option "nexenta_use_https". * Added support for snapshots in the NFS driver. This functionality is only enabled if "nfs_snapshot_support" is set to "True" in cinder.conf. Cloning volumes is only supported if the source volume is not attached. * Added Nimble Storage Fibre Channel backend driver. * Add Support for QoS in the Nimble Storage driver. QoS is available from Nimble OS release 4.x and above. * Add Support for deduplication of volumes in the Nimble Storage driver. * The Nimble backend driver has been updated to use REST for array communication. * Add consistent group capability to generic volume groups in Pure drivers. * Allow the RBD driver to work with max_over_subscription_ratio. * Added v2.1 replication support to RBD driver. * Added backend ISCSI driver for Reduxio. * Add provider_id in the detailed view of a volume for admin. * Added volume driver for QNAP ES Storage Driver. * The SolidFire driver will recognize 4 new QoS spec keys to allow an administrator to specify QoS settings which are scaled by the size of the volume. 'ScaledIOPS' is a flag which will tell the driver to look for 'scaleMin', 'scaleMax' and 'scaleBurst' which provide the scaling factor from the minimum values specified by the previous QoS keys ('minIOPS', 'maxIOPS', 'burstIOPS'). The administrator must take care to assure that no matter what the final calculated QoS values follow minIOPS <= maxIOPS <= burstIOPS. A exception will be thrown if not. The QoS settings are also checked against the cluster min and max allowed and truncated at the min or max if they exceed. * Add multipath enhancement to Storwize iSCSI driver. * Added support to querying snapshots filtered by metadata key/value using 'metadata' optional URL parameter. For example, "/v3/snapshots?metadata=={'key1':'value1'}". * Added support for ZMQ messaging layer in multibackend configuration. * Add support to backup volume using snapshot in the Unity driver. * Enable backup snapshot optimal path by implementing attach and detach snapshot in the VMAX driver. * Added the ability to create a CG from a source CG with the VMAX driver. * Support for compression on VMAX All Flash in the VMAX driver. * Storage assisted volume migration from one Pool/SLO/Workload combination to another, on the same array, via retype, for the VMAX driver. Both All Flash and Hybrid VMAX3 arrays are supported. VMAX2 is not supported. * VNX cinder driver now supports async migration during volume cloning. By default, the cloned volume will be available after the migration starts in the VNX instead of waiting for the completion of migration. This greatly accelerates the cloning process. If user wants to disable this, he could add "--metadata async_migrate=False" when creating volume from source volume/snapshot. * Add consistent group capability to generic volume groups in the XtremIO driver. Known Issues ************ * With the Dell SC Cinder Driver if a volume is retyped to a new storage profile all volumes created via snapshots from this volume will also change to the new storage profile. * With the Dell SC Cinder Driver retyping from one replication type to another type (ex. regular replication to live volume replication) is not supported. * Dell SC Cinder driver has limited support in a failed over state so thaw_backend has been implemented to reject the thaw call when in such a state. Upgrade Notes ************* * In certain environments (Kubernetes for example) indirect calls to the LVM commands result in file descriptor leak warning messages which in turn cause the process_execution method to raise and exception. To accommodate these environments, and to maintain backward compatibility in Newton we add a "lvm_suppress_fd_warnings" bool config to the LVM driver. Setting this to True will append the LVM env vars to include the variable "LVM_SUPPRESS_FD_WARNINGS=1". This is made an optional configuration because it only applies to very specific environments. If we were to make this global that would require a rootwrap/privsep update that could break compatibility when trying to do rolling upgrades of the volume service. * Previous installations of IBM Storage must be un-installed first and the new driver should be installed on top. In addition the cinder.conf values should be updated to reflect the new paths. For example the proxy setting of "storage.proxy.IBMStorageProxy" should be updated to "cinder.volume.drivers.ibm.ibm_storage.proxy.IBMStorageProxy". * Removed deprecated option "osapi_max_request_body_size". * To get rid of long running DB data migrations that must be run offline, Cinder will now be able to execute them online, on a live cloud. Before upgrading from Ocata to Pike, operator needs to perform all the Newton data migrations. To achieve that he needs to perform "cinder-manage db online_data_migrations" until there are no records to be updated. To limit DB performance impact migrations can be performed in chunks limited by "--max_number" option. If your intent is to upgrade Cinder in a non-live manner, you can use "-- ignore_state" option safely. Please note that finishing all the Newton data migrations will be enforced by the first schema migration in Pike, so you won't be able to upgrade to Pike without that. * Datera driver location has changed from cinder.volume.drivers .datera.DateraDriver to cinder.volume.drivers.datera.datera_iscsi .DateraDriver. * The Cinder database can now only be upgraded from changes since the Liberty release. In order to upgrade from a version prior to that, you must now upgrade to at least Liberty first, then to Ocata or later. * The v1 API was deprecated in the Juno release and is now defaulted to disabled. In order to still use the v1 API, you must now set "enable_v1_api" to "True" in your cinder.conf file. * There is a new policy option "volume:force_delete" which controls access to the ability to specify force delete via the volume delete API. This is separate from the pre-existing "volume-admin- actions:force_delete" policy check. * The Hitachi NAS iSCSI driver has been marked as unsupported and is now deprecated. "enable_unsupported_drivers" will need to be set to "True" in cinder.conf to continue to use it. * Removed deprecated option "kaminario_nodedup_substring" in Kaminario FC and iSCSI Cinder drivers. * The CloudByte driver has been marked as unsupported and is now deprecated. "enable_unsupported_drivers" will need to be set to "True" in cinder.conf to continue to use it. * The DotHill drivers have been marked as unsupported and are now deprecated. "enable_unsupported_drivers" will need to be set to "True" in cinder.conf to continue to use it. * The HPE XP driver has been marked as unsupported and is now deprecated. "enable_unsupported_drivers" will need to be set to "True" in cinder.conf to continue to use it. * The Nexenta Edge drivers have been marked as unsupported and are now deprecated. "enable_unsupported_drivers" will need to be set to "True" in cinder.conf to continue to use it. * Operator needs to perform "cinder-manage db online_data_migrations" to migrate existing consistency groups to generic volume groups. * The EqualLogic driver is moved to the dell_emc directory and has been rebranded to its current Dell EMC PS Series name. The volume_driver entry in cinder.conf needs to be changed to "cinder.volume.drivers.dell_emc.ps.PSSeriesISCSIDriver". * The ScaleIO driver is moved to the dell_emc directory. volume_driver entry in cinder.conf needs to be changed to "cinder.volume.drivers.dell_emc.scaleio.driver.ScaleIODriver". * The XtremIO driver is moved to the dell_emc directory. volume_driver entry in cinder.conf needs to be changed to "cinder.volume.drivers.dell_emc.xtremio.XtremIOISCSIDriver" or "cinder.volume.drivers.dell_emc.xtremio.XtremIOFCDriver". * New config option added. ""connection_string"" in [profiler] section is used to specify OSProfiler driver connection string, for example, ""connection_string = messaging://"", ""connection_string = mongodb://localhost:27017"" * After running the migration script to migrate CGs to generic volume groups, CG and group APIs work as follows. * Create CG only creates in the groups table. * Modify CG modifies in the CG table if the CG is in the CG table, otherwise it modifies in the groups table. * Delete CG deletes from the CG or the groups table depending on where the CG is. * List CG checks both CG and groups tables. * List CG Snapshots checks both the CG and the groups tables. * Show CG checks both tables. * Show CG Snapshot checks both tables. * Create CG Snapshot creates either in the CG or the groups table depending on where the CG is. * Create CG from Source creates in either the CG or the groups table depending on the source. * Create Volume adds the volume either to the CG or the group. * default_cgsnapshot_type is reserved for migrating CGs. * Group APIs will only write/read in/from the groups table. * Group APIs will not work on groups with default_cgsnapshot_type. * Groups with default_cgsnapshot_type can only be operated by CG APIs. * After CG tables are removed, we will allow default_cgsnapshot_type to be used by group APIs. * EMC VNX driver have been rebranded to Dell EMC VNX driver. Existing configurations will continue to work with the legacy name, but will need to be updated by the next release. User needs update "volume_driver" to "cinder.volume.drivers.dell_emc.vnx.driver.VNXDriver". * Old driver paths have been removed since they have been through our alloted deprecation period. Make sure if you have any of these paths being set in your cinder.conf for the volume_driver option, to update to the new driver path listed here. * Old path - cinder.volume.drivers.huawei.huawei_18000.Huawei18000ISCSIDriver * New path - cinder.volume.drivers.huawei.huawei_driver.HuaweiISCSIDriver * Old path - cinder.volume.drivers.huawei.huawei_driver.Huawei18000ISCSIDriver * New path - cinder.volume.drivers.huawei.huawei_driver.HuaweiISCSIDriver * Old path - cinder.volume.drivers.huawei.huawei_18000.Huawei18000FCDriver * New path - cinder.volume.drivers.huawei.huawei_driver.HuaweiFCDriver * Old path - cinder.volume.drivers.huawei.huawei_driver.Huawei18000FCDriver * New path - cinder.volume.drivers.huawei.huawei_driver.HuaweiFCDriver * Old path - cinder.volume.drivers.san.hp.hp_3par_fc.HP3PARFCDriver * New path - cinder.volume.drivers.hpe.hpe_3par_fc.HPE3PARFCDriver * Old path - cinder.volume.drivers.san.hp.hp_3par_iscsi.HP3PARISCSIDriver * New path - cinder.volume.drivers.hpe.hpe_3par_iscsi.HPE3PARISCSIDriver * Old path - cinder.volume.drivers.san.hp.hp_lefthand_iscsi.HPLeftH andISCSIDriver * New path - cinder.volume.drivers.hpe.hpe_lefthand_iscsi.HPELeftHa ndISCSIDriver * Old path - cinder.volume.drivers.san.hp.hp_xp_fc.HPXPFCDriver * New path - cinder.volume.drivers.hpe.hpe_xp_fc.HPEXPFCDriver * Removing the Dell EqualLogic driver's deprecated configuration options. Please replace old options in your cinder.conf with the new one. * Removed - "eqlx_cli_timeout" * Replaced with - "ssh_conn_timeout" * Removed - "eqlx_use_chap" * Replaced with - "use_chap_auth" * Removed - "eqlx_chap_login" * Replaced with - "chap_username" * Removed - "eqlx_chap_password" * Replaced with - "chap_password" * The Scality backend volume driver was marked as not supported in the previous release and has now been removed. * Configurations that are setting backend config in "[DEFAULT]" section are now not supported. You should use "enabled_backends" option to set up backends. * The volume_clear option to use *shred* was deprecated in the Newton release and has now been removed. Since deprecation, this option has performed the same action as the *zero* option. Config settings for *shred* should be updated to be set to *zero* for continued operation. * The GlusterFS volume driver, which was deprecated in the Newton release, has been removed. * The RBD driver no longer uses the "volume_tmp_dir" option to set where temporary files for image conversion are stored. Set "image_conversion_dir" to configure this in Ocata. * Removing cinder-all binary. Instead use the individual binaries like cinder-api, cinder-backup, cinder-volume, cinder-scheduler. * The VMAX driver is moved to the dell_emc directory. volume_driver entry in cinder.conf needs to be changed to "cinder.volume.drivers.dell_emc.vmax.iscsi.VMAXISCSIDriver" or "cinder.volume.drivers.dell_emc.vmax.fc.VMAXFCDriver". * Added config option "vmware_connection_pool_size" in the VMware VMDK driver to specify the maximum number of connections (to vCenter) in the http connection pool. * In VNX Cinder driver, "replication_device" keys, "backend_id" and "san_ip" are mandatory now. If you prefer security file authentication, please append "storage_vnx_security_file_dir" in "replication_device", otherwise, append "san_login", "san_password", "storage_vnx_authentication_type" in "replication_device". Deprecation Notes ***************** * Deprecated datera_api_version option. * Removed datera_acl_allow_all option. * Removed datera_num_replicas option. * The block_driver is deprecated as of the Ocata release and will be removed in the Queens release of Cinder. Instead the LVM driver with the LIO iSCSI target should be used. For those that desire higher performance, they should use LVM striping. * The Cinder Linux SMBFS driver is now deprecated and will be removed during the following release. Deployers are encouraged to use the Windows SMBFS driver instead. * The HBSD (Hitachi Block Storage Driver) volume drivers which supports Hitachi Storages HUS100 and VSP family are deprecated. Support for HUS110 family will be no longer provided. Support on VSP will be provided as hitachi.vsp_* drivers. * Support for snapshots named in the backend as "snapshot-<snapshot- id>" is deprecated. Snapshots are now named in the backend as "<volume-name>.<snapshot-id>". * The Hitachi NAS iSCSI driver has been marked as unsupported and is now deprecated. "enable_unsupported_drivers" will need to be set to "True" in cinder.conf to continue to use it. The driver will be removed in the next release. * Deprecated the configuration option "hnas_svcX_volume_type". Use option "hnas_svcX_pool_name" to indicate the name of the services (pools). * The CloudByte driver has been marked as unsupported and is now deprecated. "enable_unsupported_drivers" will need to be set to "True" in cinder.conf to continue to use it. If its support status does not change it will be removed in the next release. * The DotHill drivers has been marked as unsupported and are now deprecated. "enable_unsupported_drivers" will need to be set to "True" in cinder.conf to continue to use it. If its support status does not change it will be removed in the next release. * The HPE XP driver has been marked as unsupported and is now deprecated. "enable_unsupported_drivers" will need to be set to "True" in cinder.conf to continue to use it. If its support status does not change it will be removed in the next release. * The Nexenta Edge drivers has been marked as unsupported and are now deprecated. "enable_unsupported_drivers" will need to be set to "True" in cinder.conf to continue to use it. If its support status does not change it will be removed in the next release. * The 7-Mode Data ONTAP configuration of the NetApp Unified driver is deprecated as of the Ocata release and will be removed in the Queens release. Other configurations of the NetApp Unified driver, including Clustered Data ONTAP and E-series, are unaffected. * Marked the ITRI DISCO driver option "disco_wsdl_path" as deprecated. The new preferred protocol for array communication is REST and SOAP support will be removed. Security Issues *************** * The qemu-img tool now has resource limits applied which prevent it from using more than 1GB of address space or more than 2 seconds of CPU time. This provides protection against denial of service attacks from maliciously crafted or corrupted disk images. Bug Fixes ********* * With the Dell SC Cinder Driver retyping to or from a replicated type should now work. * With the Dell SC Cinder Driver retype failed to return a tuple if it had to return an update to the volume state. * The NetApp cDOT driver now sets the "replication_status" attribute appropriately on volumes created within replicated backends when using host level replication. * Fixed an issue where the NetApp cDOT NFS driver failed to clone new volumes from the image cache. * Fixed volume extend issue that allowed a tenant with enough quota to extend the volume to limits greater than what the volume backend supported. * Fixed HNAS bug that placed a cloned volume in the same pool as its source, even if the clone had a different pool specification. Driver will not allow to make clones using a different volume type anymore. * Fixed Non-WAN port filter issue in Kaminario iSCSI driver. * Fixed issue of managing a VG with more than one volume in Kaminario FC and iSCSI Cinder drivers. * For SolidFire, QoS specs are now checked to make sure they fall within the min and max constraints. If not the QoS specs are capped at the min or max (i.e. if spec says 50 and minimum supported is 100, the driver will set it to 100). Other Notes *********** * Now extend won't work on disabled services because it's going through the scheduler, unlike how it worked before. Changes in cinder 9.0.0.0rc1..10.0.0 ------------------------------------ 0df4175 Fix attachments after attached migration ac2d2f9 Fix volume retype with migration as non-admin 7ae9f54 Fix SolidFire cgsnap clone bug 4c9ddb7 SolidFire: Handle connect_volume() failure when create vol from image 7aa0be3 VMAX driver - allow for multi volume types in Consistency Group 4430dfe Fix duplicate lvs2 entry in rootwrap volume filter e8ed3fe fix create_consistencygroup in xiv 13634ee Dell EMC: Create independent volume on clone 708a835 VMAX driver - copy state fix 0f6bbe3 Prepare for using standard python tests 7fe0f8f Update UPPER_CONSTRAINTS_FILE for stable/ocata fed8f1d Update .gitreview for stable/ocata 5d7ab2a Reserve 5 migrations for DB backports d706b40 Tests: Fix NetApp unit test failure w/ hash randomization 0a47ab8 xiv create vol from replicated source fails 6c01699 Don't use None value for sql query. aa14ae5 Remove promote and reenable from policy dacd6c8 VMAX driver - ignore service level and workload in xml ac9ac76 VMAX driver - Convert eval to ast.literal_eval cde8697 VMAX driver - failover error fix 0b112b8 Add SUPPORTED flag to Lenovo FC driver 5bd297d Image utils: fix fetching available space on Windows d861384 Fix max_age calculation for quota usage refresh bb3bfb1 Fix 500 error while listing manageable volumes and snapshots 9a996c4 Add usage and limit info on quota limit errors c891ca9 Convert ignoreskippedcluster check to be static c5630ce Clean up release notes for Ocata da33a73 xiv delete cg fails if removed on backend 7401d0d Make get_capabilities look for clusters 777128d Resolve Brocade HTTPS connection error dece301 Add SUPPORTED flag to Lenovo iSCSI driver fc0eb50 Add SUPPORTED flag to HP MSA driver b9b352f Hitachi VSP: Specify compute nodes and copy ports 248324d ZTE: Added CI_WIKI_NAME e7171fd Fix notification short-circuit fd4f42d Fix CopyVolumeToImageTestCase max recursion depth d1f23f3 HNAS: Cloned volume with different volume type 743bd61 Move release notes to correct location da8f485 Add cluster_name to temporary volumes 4cca67f Fix host assignment when clustered 5c73230 3PAR: Inconsistency in copied and source CG a4318ac Remove redundant log during initialize connection 7c8cab0 VMAX driver - sync sv issue 7847cf1 Reduced the complexity of the main() method b65db84 Add descriptions to Pure drivers 8362202 Adds API documentation for update snapshot status 9dac476 clean up replication volume on an xiv backend c71d978 Add create volume from image policy a130387 Short-circuit notifications when not enabled 2bce7d6 Stop get_notifier mock in tests cleanup 61972f7 VMAX driver - removed incorrect six.text_type 0159704 Updated from global requirements 4e5c2be Rebrand and move EQLX driver to dell_emc folder 0b7e783 Fix Live Migration for Nimble Storage Driver 1df882d create consistency group mishandles types d4d88f3 VMAX driver - QoS key fix d063ed9 VMAX driver - remove global mock of volume_types c9a6969 Set image_owner before adding location to glance 0a36a89 Dell EMC SC: Delete doesn't account for migration cc325cb Zero out SolidFire capacity when unreachable 9f2308a IBM driver update CI_WIKI_NAME 1c98d16 Fix Qos for clone for Nimble Storage Driver f824bc0 Add lock acquire/release debug messages b548287 [api-ref]Fix the volume metadata description error 3ebee7f [api-ref]Add volumes/summary API doc 144ddd5 [api-ref]Change tenant to project 3acf94d Fix double call to "qemu-img create" bc7c001 Fix api-ref status parameter 893eb18 Small change to microversion header on devref 494264e Check if volume node has enough space for image operations 4b5d96d Revert "Mark the sheepdog driver as unsupported" 6543c0e backup of active 3par ISCSI bootable volume fails 1c7fe96 Open the source code of ibm_storage driver 2d77a7a NFS snapshots c9a604b Tests: Fix hash unstable dict comparison c0bce8c Tests: Fix mock for vzstorage remotefs a360290 Fix the api-ref CI failure 07ce5f6 Eager load projects when getting types by group e569188 VMAX driver - rename and restructure driver ff50631 Updated from global requirements 8e55405 Switch ManageableSnaphots & ManageableVolumes list to OVO d7f93d5 VMAX driver - storage group cleanup on error 0b7c4cc Add assert_min_rpc_version decorator ebb62a7 NetApp cDOT: Add NetApp Volume Encryption support 4f5adf4 Add volume backup tempest tests 28a0511 Make CappedVersionUnknown exception more useful f0f46e5 Break migrate_add_message_prefix into two queries ff49bff Remove useless FIXME d7997d3 Fix some problem for attachment list 3843479 Don't drop the volume type's extra spec at DB layer abf53e0 Switch to using generic groups with Pure driver 67a2178 VMAX driver - Implement volume replication for VMAX 2b0bfcc Brcd zonemanager: Fix unstable command generation a836157 Dell SC: Logging asyncTask if XML returned fabee55 Test: Fix assert_has_calls dict order bug (QoS) 9e6e56e FalconStor: Drop the copy_image_to_volume feature 85c9826 Refactor backup RPC API test cases d721119 Refactor scheduler RPC API test cases a998c3a Update the parameter check when create attachment 39eaa59 FalconStor: Restore option "san_secondary_ip" da90ffd Extracted HTTP response codes to constants ca77a48 XtremIO: Add CG capability to generic groups. 54e7c1d VMAX driver - Consistency Group automerge fix. a9a3edd VMAX driver - Support for compression on All Flash. 22e6998 Add new attachment APIS fb9ed78 Add lock around SolidFire clone-image 6624c31 VMAX driver - Storage assisted volume migration. c514b25 Dell SC: Retype fixes ff4ce83 Revert "Mark Huawei volume driver as unsupported" 170a166 Fix typos 96b8734 Adds getfattr and mount to Cinder rootwrap volume.filters 8840091 Refactor volume RPC API test cases e4b468a Make notify_service_capabilities cluster aware 6ccfcaf VNX: Add async migration support 2d5bad7 VNX: Update sg cache if it already existed e0aff5b Allow snapshots and volumes to have Null group values e73ae91 Fix for FC Initiator API in Nimble Storage Driver 4769acf Revert "Mark Quobyte volume driver as unsupported" dafd68e Fix retype with migrate 9a889a9 VMware: Allow deletion of snapshot in error state a879e4a Move driver tests to tests/unit/volume/drivers 24bab6b Prevent claiming and updating races on worker 2195885 Fix replication freeze mechanism 73603d5 Move service and cluster creation in test to utils 4d3e1e7 Make Image Volume Cache cluster aware b4a1328 Make Replication support Active-Active 94c5642 Fix for live migration for Nimble Storage e0a6071 NexentaStor5: Added extend method to NFS driver 3e0684d Sync ``services`` SQLA model with what's in the DB b93d0b7 Make BackupManager not a SchedulerDependentManager 857182e Optimise: Use sqlalchemy to build table sequence 03ad26c Fix volume manage a7d6323 Revert "Mark Tintri volume driver as unsupported" 97c082d Nosec subprocess with shell equal True from Bandit 58123e1 Modify the spelling mistakes 038fdda Add volume to fake snapshot object def9485 Clean up image tmp file if c-vol gets restarted d116647 Prevent driver load failures from objects 84db869 Nosec Paramiko exec_command() warning from Bandit 53f2e4c Replace deprecated pylint disable-msg with disable 66bc864 Updated from global requirements beccf8b Save model_update as admin in create_volume 5e0393b Improvement to get group detail(Part 2) c50d383 Add api version history for 3.23 d623546 Deprecate the Linux SMBFS driver 693c914 Storwize: do the correct update after failover 17171f6 Unity Driver: Backup volume via snapshot a2de857 RBD: Fix RBD replication on volumes from image source. 69daa50 Dell SC: Change DRP search to reference type c1b0c4d vzstorage: fixed snapshot deletion in error state 0efcf0e Dell SC: Missing version history 5fcfdc2 Remove deprecated RequestBodySizeLimiter class efa8e21 Allow triggering cleanup from API 9497e97 [py35] image file should be open in binary mode 8f82bb7 HNAS: Change snapshot names d876680 Add prefix to user message event ids 5b1c206 Improve compatibility with novaclient 7.0.0 179e35c Updated from global requirements 8e4e0c8 Unity: Add support to set IO ports in option d3ffcd5 Fixes hpelefthandclient AttributeError eec8559 Mark the sheepdog driver as unsupported 2f409f9 Add volume type access operations notification 6458931 Remove inheritance from deprecated classes 9a46106 FusionStorage: rename the CI_WIKI_NAME 653e147 Dell SC: Failback timeout extended 01a8d9e Tests: Remove more InvalidUUID warnings 379973a Don't translate exceptions w/ no message 91609a4 Add command information to cinder-manage.rst 6359dce Add CG capability to generic groups in VNX driver e739953 RBD: Remove volume_tmp_dir option 94d24cd VMware: Use versionutils in oslo.utils 7f09229 Delete volume when rescheduling 6b9464e VMware: Set backend UUID to volume UUID e01f24f Rename AddFCZone and RemoveFCZone according to PEP 8 b7e7a33 Cleanup limit view name processing 9a8dc08 Datera 2.3 driver update cf6744d Skip CI link in list for infra supported drivers 458153d Add manage/unmanage to DISCO driver 6b09ec5 Updated from global requirements 9d17ac9 Fix a few typos in storwize_svc_common.py 14d7450 Doc: Fix build warnings for missing code-block lang 304436c CoprHD: Handle ScaleIO CI failing with version-3.5 1016531 Python3 common patterns dbf61cd Enable DeprecationWarning in test environments 3ab0331 Add orm type check for paginate_query 3f7200b [api-ref]Add api ref for "volume type encryption" c64a9da Fix sphinx errors related to missing paths/modules 4d454f6 Cascade + force volume delete parameters f5cdbe8 Adds metadata in search option for snapshot c03c2fa Fix python integer interpretation in Py2 and Py3 27b7a29 Fix Cisco Initiator zoning updates d7931d7 Add QoS and Dedupe Support for Nimble Storage 49e99be Remove unused PasteAppNotFound exception 67ea024 tgt: Remove existence check before delete 0df3d7a Only log insecure key manager warning once 5c841f2 Refactoring ITRI DISCO cinder volume driver 2ac4e29 Convert 'parallels' format name to 'ploop' 193d912 Add psycopg2 and PyMySQL to test-requirements d0abb60 Attach/Delete volume for tgt driver race condition fix b907450 Correct RBD Provision stats&fix a perf problem d35c3ba Avoid Forcing the Translation of Translatable Variables cc9ab4e Updated from global requirements 65fe16e Deprecate the block_device driver 15c5554 [1/4]Reset generic volume group status 9885cb2 HNAS: Deprecate HNAS iSCSI driver 46726f7 VMAX driver - PortGroup rollback error path scenario. 277059a Report multiattach capability for Hitachi VSP drivers 65b97f6 Merge changes from kilo version of the dothill driver dde4f79 Tests: Split up NFS backup notification test 002170b Set replication_status automatically on retype 7647f99 Set replication_status on volume creation 36735e2 Update replication property in capabilities 7ca7b25 Cisco: can't add new zone when no zone is created before d42250e VMware: Fix inventory folder after volume transfer df647d0 Use oslo.messaging topics for multibackend 3f7acda Backup project attribute support 2655e8b Cinder consistency group returning generic error message c479e94 Move VNX driver to dell_emc folder 51368da NexentaStor5: sessions and HTTPS support 0d2dced Add more operations to cluster 91d3161 Make workers ORM compatible with SQLAlchemy 1.1.4 da9f529 VMAX driver - MVs and SGs not reflecting correct protocol. 7cbbb89 Delete space to pass the check of pep8 ca43430 Fix logging traceback in service logs e679627 Remove "service" from required_import_options c9eada8 Add Rest API Support for Nimble Storage 31dba52 Adds release note for 'Route extend_volume' bugfix 3b17143 Add 'unmanaging' state to volumes and snapshots 3c6a64b Fix service_get mock method de67779 Mark Nexenta Edge volume drivers as unsupported e35da7d Mark DotHill volume drivers as unsupported 55466de leave the unreleased branch unspecified for release notes 4e3eb04 Fix VMAX clone CG release note 2144668 Mark Tintri volume driver as unsupported 76ef111 Mark Quobyte volume driver as unsupported aec037b Mark Huawei volume driver as unsupported f0cf730 Mark CloudByte volume driver as unsupported 0b2bf68 Mark HPE XP volume driver as unsupported f81d8a3 RBD: Implement v2.1 replication cfdb587 Updated from global requirements 441442f Storwize: create vol fails near licensed limit 3f930bb Add get_all capability to volume_attachments 5181540 Cluster volume group fix in lvm c1183c6 Drop the judgement condition for FakeConnector fc0034b Rolling upgrade procedure documentation a931f9d Remove Scality backend driver 96d441a Use method is_valid_boolstr from oslo_utils 1d4d3a9 Updated from global requirements d48e967 Support new osprofiler API 7fa8165 [api-ref] Show more specific parameter of capabilities 41bbdbc Cosmetic changes to scheduler 9acf079 Support A/A on Scheduler operations 63475ef Fix detach twice of snapshot cb668cb Add cinder volume drivers for NEC Storage M series 2251525 Remove authorisation checks at the DB level for quota operations 842d17f Fix condition parameter bug in routes 88e9110 Add Apache 2.0 license to source file efd0703 VMAX driver - Attach and detach snapshot 8d56537 Improve DB method naming consistency ef44589 Simplify calls to mock_object ebdac1c Make APIVersionRequest's null check more pythonic b224ae8 Nexenta: Added ZFS cleanup in NexentaStor4 iSCSI driver 4fdfb81 Correct reraising of exception 45bfe2e Fix warning when running `tox -e docs` 4d2124f ibm_storage driver: Added fczm decorators 08c3db8 Dell SC: Added Logging to _swap_credentials ab84ead Unreserve volume: fix log message for completion c5368a7 Dell SC: Missing volume creation options. eca603b Hacking: Remove N333 oslo namespace import check 5a8f26e Adds Unity Cinder Driver 5bb68e4 Added initial backend ISCSI driver for Reduxio ca07867 Switch default py3x to py35 5d870b5 Remove run_tests.sh wrapper 6d7125b Do not manage VG with > 1 volume in Kaminario driver fb87dc5 HNAS: Add list manageable volume/snapshots daf404d Move to hacking 0.12 863486f Modify variable's usage in Log Messages 55fe4a2 Prohibit creating volume from source with dif encryptions c5afe76 Route extend_volume calls to scheduler f90c49e Remove deprecated volume_clear shred option 62fdf82 Fix dos-style endlines f6342d0 Add QNAP ES Storage Driver 218528c Fix TypeError when execute cinder-volume-usage-audit 55e3d5c Log detailed attach/detach volumes info efe7b1c Remove anyjson test dependency daeaf70 EMC VMAX: Remove unused is_in_range() method e8fb599 Non-WAN port filter issue in Kaminario iSCSI driver f33eed4 Updated from global requirements 3f6a973 Introduce Hitachi VSP iSCSI driver 681d090 Remove Kaminario deprecated option 5c81538 Introduce Hitachi VSP driver f91b29c Support A/A in delete actions and get_capabilities dcdc952 Dell SC: Incorrect exceptions being returned 2cad534 Tests: Fix invalid UUID warnings 850a197 Block 3.1 message with c-sch RPCAPI pinned to 3.0 49a0e86 Huawei: Mask unnecessary log print 4fb420c Fix status after a VolumeDriverException 7a66835 Fix replication_status on InvalidReplicationTarget 57bd024 Add host check on replication actions c250a3f Updated from global requirements 7b25637 Revert "Swap volume type for migration started by retype" 409391d SolidFire QoS scaled by volume size 14c053c Refactor api test_common to use ddt library 8020d32 New cinder driver to support INFINIDAT InfiniBox b069c02 Remove cgsnapshot_id before snapshot.save c7db2b8 Add missing consistencygroup_id in volume e8e3ae7 Remove support for single backend config 8737d16 Add back policy check for CG 005ba24 Fix secondary lvm cmds rootwrap filters 324fae7 Update detach_volume() with versionedobjects f0998f7 Update attach_volume() with versionedobjects b67a416 Calculate virtual free capacity and notify beed5c7 NetApp cDOT driver fails to clone from NFS cache da0ea57 Admin API policy enforcement contingent on is_admin_project c23c44a test: fix wrong usage of config option in test_window ccd8abb Fix wrong usage of config option gpfs_images_share_mode 57406b2 Correct the attributes of volume which created by clone a CG ef98a0b Swap volume type for migration started by retype 25782bd Replace functions 'Dict.get' and 'del' with 'Dict.pop' 4e1643e Reuse already existing groups in tempest plugin 1353e9f Huawei: Mark password option as secret d6f1137 Remove Unicode byte order mark c43e1cc Add driver interface for groups e56e866 Remove emc folder 25ae4bc Always allow to create snapshot db record with snapshot-manage 7592c8e [api-ref] Correct status code of backup delete 0594f1a Add cg constraint when deleting a volume type 556a2f8 Fix response bootable parameter type in api document 9cdf7c3 Skip more parameters when import backup record 3f5a7e1 Dell SC: Reject thaw call when backend is failed over 584ac57 Dell SC: Unable to locate LV primary after LV-AFO 229512a Remove nosetests i18n fix dfbd902 Remove temporary directory creation for BaseBackupTest adcc5c7 Add logging to FakeLoggingVolumeDriver 47c71f5 Remove empty debug_opts 2a247e8 Add unsupported status to driver listing 2d79c21 Add is_up property to service and cluster objects 19ad533 HNAS: Rename hnas_svcX_volume_type 57d257f Fix UnBoundLocalError in update_consistencygroup aff6574 Support A/A in attach/detach operations 409d48a Remove 2 unnecessary assignments d1a8b73 Show team and repo badges on README 9b0c5c4 HPE3PAR: handle conflict in iscsi host create 6c698bc Add dev doc for generic volume groups 28ce384 Remove unused constant in hbsd_horcm.py 21365ab Fix create_group with group type name ef0d793 Show provider_id for admin 2c19b1c Fix online data migrations cmd in release notes 84450e9 Fix UnableToFailOver exception message 4f5a596 Gate migration tests: Add Cinder tempest hook 87d6267 Updated from global requirements d7af72b Create a dell_emc folder for Dell EMC drivers 44ebdd2 CG API changes for migrating CGs 304ff4c [2/4]Reset group snapshot status 6f72616 Update is_up from Service OVO class to match ORM dff9fce Replace assertDictMatch with assertDictEqual method in tests dccd458 Move XtremIO driver to dell_emc folder fac3203 Replace six.iteritems with dict.items() b6b41d4 Fix VMAX unit test timeout issue 307da07 Migrate consistency groups to groups 3ff03ff Move ScaleIO driver to dell_emc folder b63c622 Modify the position of try-except 423aa5c Fix names in online-data-migrations release note dea50f7 Windows SMB: use os-brick remotefs client c78f9a4 Fix typo in test_quotas.py 072f9af Skip test_storwize_get_host_from_connector_with_lshost_failure 9ee2e94 Update v2 and v3 Volume actions documentation 80b93f2 Handle NotImplementedError for image cache cloning 33d1270 Fix v2 volume create api-reference request parameters e29f4b1 VMware: VMDK driver performance improvements 24ec725 VMAX driver - Create a CG from a source CG ba1e0d7 Deprecate Hitachi Block Storage Driver ace2203 Add host check while create snapshot 384cb34 Prevent Active-Active on drivers by default 50a1868 Log traceback for validate_connector exception aaa5169 Fix "wrap functions with 2 blank lines" pep8 check b3026c1 RBD: improve readability in over provisioning tests 04807b9 Delete the redundant expression expected_attrs d111600 Remove use of timeutils.set_time_override 942317a Add generic code for online data migrations ae4d479 VMAX driver - Ensure VMAX volume matches cinder db volume f89374e Updated from global requirements 93a2647 Pass OVO instance to copy_volume_to_image 5aba68e Drop unused parameter in class EntryCreateTask 4f31fb7 Set EVENTLET_NO_GREENDNS for IPv6 and dnspython compat 609ce1f Fix doc comments ad59cb5 Add multipath enhancement to Storwize iSCSI driver 01357dc Update replication doc 0a32edb Add VolumeAttachStatus Enum 84e4c2b Dell SC: Live Volumes not cleaned up d0100ab Remove race conditions from transfer API a08aa7a Convert backup_device to OVO 8080380 Clean _get_cctxt method signatures daf0b43 DB: Optimize volume_update method 5b4d38c Fix typo error 188abda Fix compatibility with decorator < 4.0.x ea0fcc9 Fix config generator issue with OVO decorators 439fd47 Dell SC: Minor cleanup d6bd4c8 NetApp ONTAP: Deprecate 7-mode driver dc84c1d Fix unit tests for LVM migration with os-brick 1.7.0 85b7fd8 Fix releasenotes job d2ec578 Make c-vol use workers table for cleanup 0079ead Updated from global requirements 6027c71 Dell SC: Log FO state more clearly e719f00 Add API unit tests for snapshot creation force values 1ce4063 Use VolumeDriverException for driver exceptions ab7e3f1 Dell SC: Error creating snapshots with live volume 16e93cc Remove GlusterFS volume driver e26368e VMAX driver - Useful name convention for CG names 486ed0d VMAX driver - Duplicate initiator group name error. 8bd424b To fix miscellaneous bugs in OVOs cae993a Dell SC: Add init_volume check and logging 4bf72b0 RBD: prevent creation of encrypted volumes 217746e Remove mox3 in test-requirement.txt b47099e Fix typos in comment fdc6f22 VMAX driver - No support for creating CG from CG source f054744 Updated from global requirements 326bdd7 NetApp Data ONTAP driver enhanced support logging 475566a FalconStor: Fix creating snapshot failed 6599529 Dell SC: AsyncTask could return incomplete 8f84505 VNX:Add more check on replication_device keys f1f90c8 Skip unit-tests which use os.fdatasync on MacOS 8d5a563 Missing parameter for storage pools in Pure Storage driver 685e4c9 NetApp: Report shared blocks exhaustion cf5c1fc Allow entry created in VolumeAttachment table for 2nd and later volumes 26e38af storwize: get_host_from_connector optimization d4ae67d Huawei: Fix the rest query timeout problem a0dda6d Updated from global requirements 4aaf78b Remove logging import unused 50be507 Add current status to error msg in reserve_volume e435194 Return HTTPBadRequest instead of HTTPNotFound 2fa79b3 Removed extra xml api-ref files ea97d8f Fix return values of consistencygroup actions in Pure storage driver 31769a4 Update .coveragerc after the removal of openstack directory bc2f011 Fixes ZFSSANFS driver on Solaris platform 2fce7a3 VMware:Config option for http connection pool size 4da5ba3 Updated from global requirements 069daac Add generic reset-status method in admin actions' testcases cb828dd Updated from global requirements 6705334 Imported Translations from Zanata 91b4ea7 Mark backup_swift_key option as secret dd0e0ae make Liberty incompatibility error more helpful c3d1dd1 Add Fibre Channel support for Nimble Storage d5f1bf8 Updated from global requirements dd0ab65 Adjust doc about threading 0ccce3c RemoteFS: Remove deprecated config options d724c75 Fix HNAS Driver KeyError exception in volume manage 0865c4a NetApp NFS: Look for new file for >60s 10bff37 Cleanup RCP API versioning ad444d9 VMware: Fix deprecation warning c4a634d VMware:Remove redundant check for usable ESX hosts e59f5b8 Updated from global requirements f1bbaea NetApp Data ONTAP headroom calculation error 70d9d18 Update synchronized decorator 95dacbf VNX: use delete instead of remove ce6646f Stop using mox in unit/api/v2/ tests b01fa27 Fix the issue that osprofiler opts not in cinder.conf.sample 6f174b4 Remove volid from attachments_get_by_host|instance a097c5c Coho Data: New socket connections per request 6eb6bc3 Imported Translations from Zanata f4f42c9 Log message cleanup for volume-usage-audit 44e172f Imported Translations from Zanata ad36b69 Make divisible py3 compatible in remotefs driver 27bf3fb Add 'cinder' to the 'allowed_direct_url_schemes' 674a6b0 Imported Translations from Zanata ebcf4fb Add backup notification to cinder-volume-usage-audit f963173 VMAX driver - Create initiator group in single call 2a5edb7 Fix log translation marker in volume/utils.py 817d6bc Fix policy file used for testing 4b4b6fe Imported Translations from Zanata a1c0fc3 Dell SC: Can incorrectly identify if it is failed over 20d0200 Enable release notes translation 0da95a1 Add VERSION to ZTE driver class f70367a Imported Translations from Zanata 6843bc5 Switch from tempest-lib to tempest 11f0455 VMAX driver - Misleading logging on portgroups. d9ccfae VMAX driver - Heat detach issue. 6632875 Sort options in cinder.conf by module name a8a0053 Fix typos in documentation 324d020 Move volume drivers unit tests to tests.unit.volume.driver module 6dd3965 Add version to ibm_storage driver 9a73f59 Remove support for 2.x volume RPC API d056718 Remove support for 2.x scheduler RPC API c517116 Imported Translations from Zanata a53f14f Error message for image conversion failure 95170e5 Add cleanable base object and cleanup request VO 1d6b7a9 Imported Translations from Zanata d63b455 Fix for Tegile driver failing to establish volume connection 58cc482 Removing deprecated Dell EqualLogic config options cdd560f Hacking: Remove C305 contextlib.nested check 62a0df2 Fix typo: remove redundant 'that' dafc68a Removing cinder-all binary 5224f10 Updated from global requirements 6ac5d02 Remove old deprecated driver mappings 3499070 Imported Translations from Zanata 9ef18b4 Nexenta: Use base VolumeDriver migrate_volume e030aae Add the note of maximum microversion a87d978 VNX: raise exception if no storops e408e5b Speed up kaminario's drivers tests 63bf7eb VMware: Skip setting vmdk UUID 26919e7 Imported Translations from Zanata ee7c338 Fix typo in emc_vmax_fast.py 7fcca07 Disable API v1 by default d4fd566 RBD Thin Provisioning stats 7abd20f Drop unused parameter in class ExtractSchedulerSpecTask. 5f8d4dc Add interface decorator to ibm_storage driver 24d7f16 Imported Translations from Zanata acfecc5 VMware: Remove FakeObject d3f2e3f Updated from global requirements 0217f47 Fix typo in devref/api_conditional_updates.rst 087734f Fix a typo in manager.py,test_common.py and emc_vmax_utils.py bdce7f9 Re-use RBDImageMetadata and RBDVolumeIOWrapper from os-brick d96fb9a Fix IndexError in volume manager 792108f Remove ovo[fixtures] dependency from tox.ini b66a41c extract_host: Handle empty host string input 14e1c1f Updated from global requirements 33c6e8d Hacking checks for H105 154404f Remove dead code - replication RPC APIs 305ec36 Speed up ibm storwize svc driver's tests 09bd44a Files with no code must be left completely empty 6850c8b Add support for Infortrend GS Series products 8efbf75 Add 'replication_targets' and 'display_name' in API docs ecd2567 Imported Translations from Zanata e75f298 OVO: OPTIONAL_FIELDS should be moved inside the OVO f71879b OPTIONAL_FIELDS should be inside OVO object group_snapshot fd5e2aa Moving the OPTIONAL_FIELDS inside the OVO object group d53f37d Updated from global requirements 073d824 Cleanup lintstack exceptions related to objects 1a120c9 Imported Translations from Zanata 05b4a01 Remove placeholder tempest test 054a417 Hacking: remove check for "tests/unit/integrated" e4921b4 Allow attribute lazy loading in VolumeType OVO 055ec1c Provide cfg to ignore lvm descriptor leak warnings 7304200 Imported Translations from Zanata 9be1372 Imported Translations from Zanata e5a88b0 Imported Translations from Zanata e7de3c6 Volume get: Check policy before fetching metadata c944a22 Fix a typo in scheduler manager "filter_propterties" ad7c181 Fix test case note d3ded36 Fix project assignment in VolumeType OVO 587a606 Imported Translations from Zanata 2792308 Fix pep8 E501 line too long 49b3186 Using assertIsNone() instead of assertIs(None) 06f9b65 Fix formatting in generate_config_opts 0396e19 Reduce redundant call of image show 78f17f0 Limit memory & CPU when running qemu-img info 6ecec80 Updated from global requirements a59cbe5 Allow getting qos_specs in db.volume_type_get 6f66b8d Fix missing string format specifiers 4cd96d9 Deprecate LocalVD, SnapshotVD, CGVD, ExtendVD, TransferVD 5194460 Use keystoneauth1 for creating the keystone session 85ae8dc Add test_get_all_by_volume in objects/test_backup ad9af68 replace filter() to meet python3 d1a035f Add snapshot id validation during volume creation a0b9357 Imported Translations from Zanata 051ff39 Remove extra param in list_manageable_snapshots 5ed4e58 Stop using mox in cinder/tests/unit b66d4d9 Modifies override logic for key_manager b87441c Remove unnecessary setUp f0f5ac7 Imported Translations from Zanata cc123d5 Sheepdog: fix clone failure 4fe3f4c Read domain info from context when contacting nova 38f2ad5 Compact Liberty database migrations a18253f XtremIO: fix migration bug 0408797 Remove unnecessary setUp and tearDown ad3da2a Imported Translations from Zanata a283978 Don't attempt to escalate cinder-manage privileges c06ee90 Remove duplicate keys from dictionary 8849b3b Remove unnecessary setUp and tearDown 77d2157 Add missing %s in print message 931e2f8 Create v3 API Reference 1369293 Reserve 5 migrations for Newton backports 2aed75f Add os-detach to api-ref 32bfddf Fix request_spec conversion from o.vo to dict f3d1be2 Storwize: remove SCSI LUN ID for volume attaching 14063a1 Stop using mox in unit/*.py (2/2) c240eaf Imported Translations from Zanata c557f3b Huawei: Backend capabilies report optimization 4bf66da Imported Translations from Zanata e0d3e1e Imported Translations from Zanata 9b5036a Update reno for stable/newton df284e6 NetApp cDOT: Fix model update for cheesecake volumes 081e5bb Mark v1 as DEPRECATED in devref 4708aa1 Dell SC: ISCSI initialize_connection fixes ed6e9b0 Add combined function get_vol_type_by_name_or_id 383c37e Fix release notes formatting 730761a Fix glance v2 image update aec5fbf DRBD: Don't put clients everywhere 2987b33 Have a default OPTIONAL_FIELDS for persistent OVOs f63f146 Include OPTIONAL_FIELDS in VolumeType OVO class f5fa8c7 Merge two fake drivers into the one FakeLoggingVolumeDriver 91bdf9d Fix creating typeless volumes with Mitaka's c-sch a1284a5 [api-ref] Correct response code in Cinder API v2 e6a5bda Fix order of arguments in assertIs cff6c08 Doc: qos-specs is always and only "Administrators only" acb86b6 Clean create_snapshots_in_db method 45bc8ab Dell SC: Error attaching after LV-AFO e82d639 [api-ref] Correct response code in Cinder API v1 0e206c9 VMAX driver - Replace "SLO" tag with "ServiceLevel" tag efd1f5c Refactor volume status in managing vol 3437ff9 Switch StrOpt to URIOpt for URL config options 7b03534 [Trivial] Refactor the using of dict.get() in the test assertion 49ed717 Refactor the usage of save_and_reraise_exception 67520e5 Added update-host for CGs in cinder-manage ca25d7a Fix backup NFS share mount with default backup_mount_options 3a7be46 Ceph doesn't save a container name for volume backup 0e8ebbd Add API Reference for groups 40e8908 Added unit test coverage to test_limits.py for api v2 7aab553 Add group_type_id in create_group_snapshot 863e5e0 Remove duplicate code in functional tests 642a1c7 Add functional tests for groups f5f3ca0 Unexpected function is called in _migrate_volume_generic Diffstat (except docs and test files) ------------------------------------- .coveragerc | 2 +- .gitreview | 1 + HACKING.rst | 1 - README.rst | 9 + api-ref/source/index.rst | 1 + api-ref/source/v1/index.rst | 6 +- api-ref/source/v1/os-quota-sets-v1.inc | 21 +- api-ref/source/v1/parameters.yaml | 6 + .../v1/samples/quotas-defaults-show-response.xml | 15 - api-ref/source/v1/samples/quotas-show-response.xml | 15 - .../source/v1/samples/quotas-update-request.xml | 4 - .../source/v1/samples/quotas-update-response.xml | 15 - .../source/v1/samples/snapshot-create-request.xml | 6 - .../v1/samples/snapshot-metadata-show-response.xml | 13 - .../samples/snapshot-metadata-update-request.xml | 4 - .../samples/snapshot-metadata-update-response.xml | 4 - .../source/v1/samples/snapshot-show-response.xml | 9 - .../source/v1/samples/snapshots-list-response.xml | 21 - .../v1/samples/user-quotas-show-response.xml | 15 - .../v1/samples/user-quotas-update-request.xml | 5 - .../v1/samples/user-quotas-update-response.xml | 15 - .../source/v1/samples/volume-create-request.xml | 11 - api-ref/source/v1/samples/volume-show-response.xml | 15 - .../v1/samples/volume-type-create-request.xml | 7 - .../v1/samples/volume-type-show-response.xml | 8 - .../v1/samples/volume-types-list-response.xml | 11 - .../source/v1/samples/volumes-list-response.xml | 25 - api-ref/source/v1/volumes-v1-snapshots.inc | 4 +- api-ref/source/v1/volumes-v1-types.inc | 2 +- api-ref/source/v1/volumes-v1-versions.inc | 3 +- api-ref/source/v1/volumes-v1-volumes.inc | 4 +- api-ref/source/v2/api-versions.inc | 6 - api-ref/source/v2/capabilities-v2.inc | 5 +- api-ref/source/v2/consistencygroups-v2.inc | 15 +- api-ref/source/v2/ext-backups-actions-v2.inc | 4 +- api-ref/source/v2/ext-backups.inc | 10 +- api-ref/source/v2/index.rst | 6 +- api-ref/source/v2/os-cgsnapshots-v2.inc | 4 +- api-ref/source/v2/os-vol-image-meta-v2.inc | 2 +- api-ref/source/v2/os-vol-transfer-v2.inc | 6 +- api-ref/source/v2/parameters.yaml | 25 +- api-ref/source/v2/qos-specs-v2-qos-specs.inc | 17 +- .../v2/samples/backend-capabilities-response.json | 3 +- .../v2/samples/consistency-group-show-response.xml | 14 - .../consistency-groups-list-detailed-response.xml | 25 - .../source/v2/samples/extensions-list-response.xml | 165 - api-ref/source/v2/samples/limits-show-response.xml | 17 - api-ref/source/v2/samples/qos-create-request.xml | 2 - api-ref/source/v2/samples/qos-create-response.xml | 9 - api-ref/source/v2/samples/qos-list-response.xml | 19 - api-ref/source/v2/samples/qos-show-response.xml | 11 - api-ref/source/v2/samples/qos-unset-request.xml | 4 - api-ref/source/v2/samples/qos-update-request.xml | 2 - api-ref/source/v2/samples/qos-update-response.xml | 4 - api-ref/source/v2/samples/qos_show_response.xml | 6 - .../v2/samples/quotas-defaults-show-response.xml | 15 - .../v2/samples/quotas-show-defaults-response.xml | 6 - api-ref/source/v2/samples/quotas-show-response.xml | 6 - .../source/v2/samples/quotas-update-request.xml | 4 - .../source/v2/samples/quotas-update-response.xml | 6 - .../v2/samples/quotas-user-show-response.xml | 6 - .../source/v2/samples/snapshot-create-request.xml | 5 - .../source/v2/samples/snapshot-create-response.xml | 7 - .../v2/samples/snapshot-metadata-show-response.xml | 4 - .../samples/snapshot-metadata-update-request.xml | 4 - .../samples/snapshot-metadata-update-response.xml | 4 - .../source/v2/samples/snapshot-show-response.xml | 11 - .../v2/samples/snapshot-status-reset-request.json | 5 + .../source/v2/samples/snapshot-update-request.xml | 4 - .../source/v2/samples/snapshot-update-response.xml | 14 - .../samples/snapshots-list-detailed-response.xml | 16 - .../source/v2/samples/snapshots-list-response.xml | 13 - .../v2/samples/user-quotas-show-response.xml | 15 - .../v2/samples/user-quotas-update-request.xml | 5 - .../v2/samples/user-quotas-update-response.xml | 15 - .../source/v2/samples/version-show-response.xml | 17 - api-ref/source/v2/samples/versions-response.xml | 25 - .../source/v2/samples/volume-create-request.xml | 5 - .../source/v2/samples/volume-create-response.xml | 11 - .../source/v2/samples/volume-detach-request.json | 6 + .../v2/samples/volume-metadata-show-response.xml | 2 - .../v2/samples/volume-metadata-update-request.xml | 4 - .../v2/samples/volume-metadata-update-response.xml | 4 - api-ref/source/v2/samples/volume-show-response.xml | 19 - .../v2/samples/volume-type-access-add-request.xml | 4 - .../samples/volume-type-access-delete-request.xml | 4 - .../v2/samples/volume-type-create-request.xml | 6 - .../source/v2/samples/volume-type-show-request.xml | 8 - .../v2/samples/volume-type-show-response.xml | 9 - .../v2/samples/volume-type-update-request.xml | 6 - .../v2/samples/volume-types-list-response.xml | 11 - .../source/v2/samples/volume-update-request.xml | 4 - .../source/v2/samples/volume-update-response.xml | 13 - .../v2/samples/volumes-list-detailed-response.xml | 31 - .../source/v2/samples/volumes-list-response.xml | 12 - api-ref/source/v2/volume-manage.inc | 2 +- api-ref/source/v2/volume-type-access.inc | 4 +- api-ref/source/v2/volumes-v2-extensions.inc | 3 +- api-ref/source/v2/volumes-v2-snapshots-actions.inc | 34 + api-ref/source/v2/volumes-v2-snapshots.inc | 16 +- api-ref/source/v2/volumes-v2-types.inc | 2 +- api-ref/source/v2/volumes-v2-versions.inc | 4 +- api-ref/source/v2/volumes-v2-volumes-actions.inc | 57 +- api-ref/source/v2/volumes-v2-volumes.inc | 47 +- api-ref/source/v3/api-versions.inc | 26 + api-ref/source/v3/capabilities-v3.inc | 48 + api-ref/source/v3/consistencygroups-v3.inc | 268 + api-ref/source/v3/ext-backups-actions-v3.inc | 38 + api-ref/source/v3/ext-backups.inc | 275 + api-ref/source/v3/group-snapshots.inc | 181 + api-ref/source/v3/group-types.inc | 251 + api-ref/source/v3/groups.inc | 257 + api-ref/source/v3/index.rst | 31 + api-ref/source/v3/limits.inc | 57 + api-ref/source/v3/os-cgsnapshots-v3.inc | 179 + api-ref/source/v3/os-vol-image-meta-v3.inc | 46 + api-ref/source/v3/os-vol-pool-v3.inc | 50 + api-ref/source/v3/os-vol-transfer-v3.inc | 217 + api-ref/source/v3/parameters.yaml | 1859 ++++ api-ref/source/v3/qos-specs-v3-qos-specs.inc | 315 + api-ref/source/v3/quota-sets.inc | 407 + .../v3/samples/backend-capabilities-response.json | 33 + .../source/v3/samples/backup-create-request.json | 9 + .../source/v3/samples/backup-create-response.json | 16 + .../v3/samples/backup-force-delete-request.json | 3 + .../v3/samples/backup-record-export-response.json | 6 + .../v3/samples/backup-record-import-request.json | 6 + .../v3/samples/backup-record-import-response.json | 16 + .../source/v3/samples/backup-restore-request.json | 6 + .../source/v3/samples/backup-restore-response.json | 6 + .../source/v3/samples/backup-show-response.json | 27 + .../v3/samples/backups-list-detailed-response.json | 54 + .../source/v3/samples/backups-list-response.json | 32 + .../v3/samples/cgsnapshots-create-request.json | 10 + .../v3/samples/cgsnapshots-create-response.json | 6 + .../cgsnapshots-list-detailed-response.json | 20 + .../v3/samples/cgsnapshots-list-response.json | 12 + .../v3/samples/cgsnapshots-show-response.json | 10 + .../consistency-group-create-from-src-request.json | 11 + .../samples/consistency-group-create-request.json | 8 + .../samples/consistency-group-create-response.json | 11 + .../samples/consistency-group-delete-request.json | 5 + .../samples/consistency-group-show-response.json | 13 + .../samples/consistency-group-update-request.json | 8 + .../consistency-groups-list-detailed-response.json | 26 + .../samples/consistency-groups-list-response.json | 12 + .../v3/samples/encryption-type-create-request.json | 8 + .../samples/encryption-type-create-response.json | 10 + .../v3/samples/encryption-type-show-response.json | 12 + .../v3/samples/encryption-type-update-request.json | 7 + .../samples/encryption-type-update-response.json | 7 + .../v3/samples/extensions-list-response.json | 212 + .../v3/samples/group-create-from-src-request.json | 11 + .../source/v3/samples/group-create-request.json | 12 + .../source/v3/samples/group-create-response.json | 6 + .../source/v3/samples/group-delete-request.json | 5 + api-ref/source/v3/samples/group-show-response.json | 16 + .../v3/samples/group-snapshots-create-request.json | 7 + .../samples/group-snapshots-create-response.json | 6 + .../group-snapshots-list-detailed-response.json | 20 + .../v3/samples/group-snapshots-list-response.json | 12 + .../v3/samples/group-snapshots-show-response.json | 10 + .../v3/samples/group-type-create-request.json | 10 + .../source/v3/samples/group-type-show-request.json | 9 + .../v3/samples/group-type-show-response.json | 11 + .../samples/group-type-specs-create-request.json | 6 + .../v3/samples/group-type-update-request.json | 7 + .../v3/samples/group-types-list-response.json | 16 + .../source/v3/samples/group-update-request.json | 8 + .../v3/samples/groups-list-detailed-response.json | 29 + .../source/v3/samples/groups-list-response.json | 12 + api-ref/source/v3/samples/host-attach-request.json | 5 + .../v3/samples/image-metadata-show-request.json | 18 + .../v3/samples/image-metadata-show-response.json | 33 + .../source/v3/samples/limits-show-response.json | 17 + .../v3/samples/pools-list-detailed-response.json | 30 + api-ref/source/v3/samples/qos-create-request.json | 7 + api-ref/source/v3/samples/qos-create-response.json | 21 + api-ref/source/v3/samples/qos-list-response.json | 22 + api-ref/source/v3/samples/qos-show-response.json | 21 + api-ref/source/v3/samples/qos-unset-request.json | 5 + api-ref/source/v3/samples/qos-unset-response.json | 0 api-ref/source/v3/samples/qos-update-request.json | 5 + api-ref/source/v3/samples/qos-update-response.json | 5 + api-ref/source/v3/samples/qos_show_response.json | 9 + .../source/v3/samples/quotas-delete-response.json | 0 .../v3/samples/quotas-show-defaults-response.json | 7 + .../source/v3/samples/quotas-show-response.json | 7 + .../source/v3/samples/quotas-update-request.json | 5 + .../source/v3/samples/quotas-update-response.json | 5 + .../quotas-user-show-detailed-response.json | 19 + .../v3/samples/quotas-user-show-response.json | 7 + .../source/v3/samples/snapshot-create-request.json | 8 + .../v3/samples/snapshot-create-response.json | 12 + .../samples/snapshot-metadata-show-response.json | 5 + .../samples/snapshot-metadata-update-request.json | 5 + .../samples/snapshot-metadata-update-response.json | 5 + .../source/v3/samples/snapshot-show-response.json | 14 + .../v3/samples/snapshot-status-reset-request.json | 5 + .../source/v3/samples/snapshot-update-request.json | 6 + .../v3/samples/snapshot-update-response.json | 11 + .../samples/snapshots-list-detailed-response.json | 18 + .../source/v3/samples/snapshots-list-response.json | 16 + .../v3/samples/user-quotas-show-response.json | 17 + .../v3/samples/user-quotas-update-request.json | 6 + .../v3/samples/user-quotas-update-response.json | 16 + .../source/v3/samples/version-show-response.json | 33 + .../v3/samples/version-v2-show-response.json | 44 + .../v3/samples/version-v3-show-response.json | 88 + api-ref/source/v3/samples/versions-response.json | 76 + .../source/v3/samples/volume-attach-request.json | 6 + .../source/v3/samples/volume-create-request.json | 22 + .../source/v3/samples/volume-create-response.json | 34 + .../source/v3/samples/volume-extend-request.json | 5 + .../v3/samples/volume-force-detach-request.json | 8 + .../samples/volume-image-metadata-set-request.json | 10 + .../volume-image-metadata-unset-request.json | 5 + .../v3/samples/volume-manage-request-cluster.json | 19 + .../source/v3/samples/volume-manage-request.json | 18 + .../source/v3/samples/volume-manage-response.json | 33 + .../v3/samples/volume-metadata-create-request.json | 5 + .../samples/volume-metadata-create-response.json | 5 + .../v3/samples/volume-metadata-show-response.json | 3 + .../v3/samples/volume-metadata-update-request.json | 5 + .../samples/volume-metadata-update-response.json | 5 + .../source/v3/samples/volume-show-response.json | 33 + .../v3/samples/volume-status-reset-request.json | 7 + .../v3/samples/volume-transfer-accept-request.json | 5 + .../samples/volume-transfer-accept-response.json | 17 + .../v3/samples/volume-transfer-create-request.json | 6 + .../samples/volume-transfer-create-response.json | 19 + .../v3/samples/volume-transfer-show-response.json | 18 + .../volume-transfers-list-detailed-response.json | 36 + .../v3/samples/volume-transfers-list-response.json | 34 + .../v3/samples/volume-type-access-add-request.json | 5 + .../samples/volume-type-access-delete-request.json | 5 + .../samples/volume-type-access-list-response.json | 6 + .../v3/samples/volume-type-create-request.json | 10 + .../v3/samples/volume-type-show-request.json | 9 + .../v3/samples/volume-type-show-response.json | 11 + .../v3/samples/volume-type-update-request.json | 10 + .../v3/samples/volume-types-list-response.json | 16 + .../source/v3/samples/volume-unmanage-request.json | 3 + .../source/v3/samples/volume-update-request.json | 6 + .../source/v3/samples/volume-update-response.json | 36 + .../v3/samples/volumes-list-detailed-response.json | 102 + .../source/v3/samples/volumes-list-response.json | 32 + .../v3/samples/volumes-list-summary-response.json | 6 + api-ref/source/v3/volume-manage.inc | 58 + api-ref/source/v3/volume-type-access.inc | 103 + api-ref/source/v3/volumes-v3-extensions.inc | 52 + api-ref/source/v3/volumes-v3-snapshots-actions.inc | 34 + api-ref/source/v3/volumes-v3-snapshots.inc | 359 + api-ref/source/v3/volumes-v3-types.inc | 445 + api-ref/source/v3/volumes-v3-versions.inc | 67 + api-ref/source/v3/volumes-v3-volumes-actions.inc | 269 + api-ref/source/v3/volumes-v3-volumes.inc | 614 ++ cinder/__init__.py | 17 +- cinder/api/common.py | 29 + cinder/api/contrib/admin_actions.py | 40 +- cinder/api/contrib/backups.py | 11 +- cinder/api/contrib/capabilities.py | 14 +- cinder/api/contrib/cgsnapshots.py | 101 +- cinder/api/contrib/consistencygroups.py | 132 +- cinder/api/contrib/qos_specs_manage.py | 16 +- cinder/api/contrib/quotas.py | 17 +- cinder/api/contrib/resource_common_manage.py | 22 +- cinder/api/contrib/services.py | 41 +- cinder/api/contrib/snapshot_actions.py | 3 +- cinder/api/contrib/snapshot_manage.py | 3 +- cinder/api/contrib/snapshot_unmanage.py | 5 +- cinder/api/contrib/types_extra_specs.py | 3 +- cinder/api/contrib/types_manage.py | 11 +- cinder/api/contrib/volume_actions.py | 25 +- cinder/api/contrib/volume_image_metadata.py | 3 +- cinder/api/contrib/volume_manage.py | 44 +- cinder/api/contrib/volume_transfer.py | 7 +- cinder/api/contrib/volume_type_access.py | 5 +- cinder/api/contrib/volume_type_encryption.py | 3 +- cinder/api/contrib/volume_unmanage.py | 5 +- cinder/api/middleware/sizelimit.py | 40 - cinder/api/openstack/api_version_request.py | 36 +- cinder/api/openstack/rest_api_version_history.rst | 100 +- cinder/api/openstack/wsgi.py | 9 +- cinder/api/v1/snapshots.py | 2 +- cinder/api/v1/volumes.py | 18 +- cinder/api/v2/views/volumes.py | 35 +- cinder/api/v2/volumes.py | 26 +- cinder/api/v3/attachments.py | 261 + cinder/api/v3/backups.py | 45 + cinder/api/v3/clusters.py | 21 +- cinder/api/v3/group_snapshots.py | 73 +- cinder/api/v3/group_types.py | 4 +- cinder/api/v3/groups.py | 82 +- cinder/api/v3/resource_common_manage.py | 83 + cinder/api/v3/router.py | 25 +- cinder/api/v3/snapshot_manage.py | 24 +- cinder/api/v3/snapshots.py | 76 + cinder/api/v3/views/attachments.py | 57 + cinder/api/v3/views/clusters.py | 23 +- cinder/api/v3/views/group_snapshots.py | 6 +- cinder/api/v3/views/groups.py | 7 + cinder/api/v3/views/volumes.py | 6 + cinder/api/v3/views/workers.py | 25 + cinder/api/v3/volume_manage.py | 24 +- cinder/api/v3/volumes.py | 66 +- cinder/api/v3/workers.py | 124 + cinder/api/views/cgsnapshots.py | 12 +- cinder/api/views/consistencygroups.py | 13 +- cinder/api/views/limits.py | 8 - cinder/api/views/qos_specs.py | 2 +- cinder/backup/api.py | 10 +- cinder/backup/drivers/ceph.py | 166 +- cinder/backup/drivers/nfs.py | 2 +- cinder/backup/drivers/swift.py | 5 +- cinder/backup/manager.py | 39 +- cinder/backup/rpcapi.py | 44 +- cinder/brick/local_dev/lvm.py | 38 +- cinder/cmd/all.py | 117 - cinder/cmd/manage.py | 94 +- cinder/cmd/volume.py | 14 +- cinder/cmd/volume_usage_audit.py | 308 +- cinder/common/config.py | 11 +- cinder/common/sqlalchemyutils.py | 49 +- cinder/compute/nova.py | 97 +- cinder/config/cinder-config-generator.conf | 1 + cinder/config/generate_cinder_opts.py | 55 +- cinder/consistencygroup/api.py | 18 +- cinder/coordination.py | 45 +- cinder/db/api.py | 178 +- cinder/db/migration.py | 2 +- cinder/db/sqlalchemy/api.py | 1040 +- .../migrate_repo/versions/046_cinder_init.py | 574 -- .../versions/047_add_per_volume_quota.py | 44 - .../versions/048_add_allocated_in_quotas.py | 25 - .../049_add_temp_volume_snapshot_ids_to_backups.py | 31 - .../versions/050_add_previous_status_to_volumes.py | 27 - ..._add_source_cgid_column_to_consistencygroups.py | 26 - .../052_add_provider_auth_column_to_snapshots.py | 25 - .../versions/053_add_version_columns_to_service.py | 36 - ..._add_has_dependent_backups_column_to_backups.py | 33 - .../versions/055_add_image_volume_cache_table.py | 37 - .../migrate_repo/versions/056_placeholder.py | 19 - .../migrate_repo/versions/057_placeholder.py | 19 - .../migrate_repo/versions/058_placeholder.py | 19 - .../migrate_repo/versions/059_placeholder.py | 19 - .../migrate_repo/versions/060_placeholder.py | 19 - .../061_add_snapshot_id_timestamp_to_backups.py | 30 - .../migrate_repo/versions/061_cinder_init.py | 607 ++ .../064_add_restore_volume_id_to_backups.py | 52 +- .../migrate_repo/versions/080_placeholder.py | 22 + .../migrate_repo/versions/081_placeholder.py | 22 + .../migrate_repo/versions/082_placeholder.py | 22 + .../migrate_repo/versions/083_placeholder.py | 22 + .../migrate_repo/versions/084_placeholder.py | 22 + .../versions/085_modify_workers_updated_at.py | 55 + .../versions/086_create_default_cgsnapshot_type.py | 68 + .../087_allow_null_request_id_in_message.py | 21 + .../088_add_replication_info_to_cluster.py | 33 + .../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/092_placeholder.py | 22 + .../migrate_repo/versions/093_placeholder.py | 22 + .../migrate_repo/versions/094_placeholder.py | 22 + .../migrate_repo/versions/095_placeholder.py | 22 + .../migrate_repo/versions/096_placeholder.py | 22 + cinder/db/sqlalchemy/models.py | 33 +- cinder/exception.py | 148 +- cinder/flow_utils.py | 31 +- cinder/group/api.py | 61 +- cinder/hacking/checks.py | 25 +- cinder/image/cache.py | 49 +- cinder/image/glance.py | 32 +- cinder/image/image_utils.py | 80 +- cinder/interface/backup_chunked_driver.py | 6 +- cinder/interface/backup_driver.py | 15 +- cinder/interface/util.py | 1 + cinder/interface/volume_group_driver.py | 227 + cinder/keymgr/__init__.py | 78 +- cinder/keymgr/conf_key_mgr.py | 9 +- cinder/locale/cs/LC_MESSAGES/cinder-log-error.po | 20 +- cinder/locale/cs/LC_MESSAGES/cinder-log-info.po | 11 +- cinder/locale/cs/LC_MESSAGES/cinder-log-warning.po | 20 +- cinder/locale/cs/LC_MESSAGES/cinder.po | 56 +- cinder/locale/de/LC_MESSAGES/cinder.po | 104 +- cinder/locale/es/LC_MESSAGES/cinder.po | 72 +- cinder/locale/fr/LC_MESSAGES/cinder.po | 65 +- cinder/locale/it/LC_MESSAGES/cinder-log-error.po | 20 +- cinder/locale/it/LC_MESSAGES/cinder-log-info.po | 11 +- cinder/locale/it/LC_MESSAGES/cinder.po | 63 +- cinder/locale/ja/LC_MESSAGES/cinder.po | 683 +- .../locale/ko_KR/LC_MESSAGES/cinder-log-error.po | 20 +- cinder/locale/ko_KR/LC_MESSAGES/cinder-log-info.po | 11 +- cinder/locale/ko_KR/LC_MESSAGES/cinder.po | 60 +- cinder/locale/pt_BR/LC_MESSAGES/cinder.po | 63 +- cinder/locale/ru/LC_MESSAGES/cinder.po | 64 +- .../locale/tr_TR/LC_MESSAGES/cinder-log-error.po | 20 +- cinder/locale/tr_TR/LC_MESSAGES/cinder-log-info.po | 11 +- .../locale/tr_TR/LC_MESSAGES/cinder-log-warning.po | 13 +- cinder/locale/tr_TR/LC_MESSAGES/cinder.po | 61 +- cinder/locale/zh_CN/LC_MESSAGES/cinder.po | 590 +- cinder/locale/zh_TW/LC_MESSAGES/cinder.po | 55 +- cinder/manager.py | 148 +- cinder/message/defined_messages.py | 36 +- cinder/objects/__init__.py | 3 + cinder/objects/backup.py | 63 + cinder/objects/base.py | 27 +- cinder/objects/cgsnapshot.py | 24 +- cinder/objects/cleanable.py | 237 + cinder/objects/cleanup_request.py | 49 + cinder/objects/cluster.py | 21 +- cinder/objects/consistencygroup.py | 20 +- cinder/objects/fields.py | 37 +- cinder/objects/group.py | 10 +- cinder/objects/group_snapshot.py | 22 +- cinder/objects/group_type.py | 11 +- cinder/objects/manageableresources.py | 103 + cinder/objects/qos_specs.py | 9 +- cinder/objects/service.py | 16 +- cinder/objects/snapshot.py | 80 +- cinder/objects/volume.py | 102 +- cinder/objects/volume_attachment.py | 122 +- cinder/objects/volume_type.py | 53 +- cinder/opts.py | 319 +- cinder/quota.py | 6 +- cinder/quota_utils.py | 20 +- cinder/replication/__init__.py | 23 - cinder/replication/api.py | 108 - cinder/rpc.py | 61 +- cinder/scheduler/__init__.py | 22 - cinder/scheduler/driver.py | 48 +- cinder/scheduler/evaluator/evaluator.py | 10 +- cinder/scheduler/filter_scheduler.py | 436 +- cinder/scheduler/filters/__init__.py | 18 +- cinder/scheduler/filters/affinity_filter.py | 26 +- .../scheduler/filters/availability_zone_filter.py | 9 +- cinder/scheduler/filters/capabilities_filter.py | 16 +- cinder/scheduler/filters/capacity_filter.py | 104 +- cinder/scheduler/filters/driver_filter.py | 76 +- .../filters/ignore_attempted_hosts_filter.py | 21 +- .../scheduler/filters/instance_locality_filter.py | 14 +- cinder/scheduler/filters/json_filter.py | 24 +- cinder/scheduler/flows/create_volume.py | 25 +- cinder/scheduler/host_manager.py | 391 +- cinder/scheduler/manager.py | 373 +- cinder/scheduler/rpcapi.py | 212 +- cinder/service.py | 107 +- cinder/test.py | 192 +- .../tempest/api/volume/test_consistencygroups.py | 4 +- .../tempest/api/volume/test_volume_placeholder.py | 25 - .../api/contrib/test_backup_project_attribute.py | 101 + .../unit/api/contrib/test_consistencygroups.py | 20 +- .../unit/api/contrib/test_qos_specs_manage.py | 2 +- .../unit/api/contrib/test_snapshot_actions.py | 4 +- .../unit/api/contrib/test_snapshot_unmanage.py | 18 +- .../api/contrib/test_volume_encryption_metadata.py | 3 +- .../unit/api/contrib/test_volume_host_attribute.py | 3 +- .../unit/api/contrib/test_volume_image_metadata.py | 3 +- .../test_volume_migration_status_attribute.py | 3 +- .../unit/api/openstack/test_api_version_request.py | 6 +- .../unit/attachments/test_attachments_manager.py | 99 + .../unit/backup/drivers/test_backup_glusterfs.py | 12 +- .../objects/test_manageable_volumes_snapshots.py | 107 + .../scheduler/test_allocated_capacity_weigher.py | 12 +- .../scheduler/test_stochastic_weight_handler.py | 6 +- .../unit/scheduler/test_volume_number_weigher.py | 15 +- .../unit/volume/drivers/dell/test_dellscapi.py | 1735 +++- .../volume/drivers/dell_emc/scaleio/__init__.py | 171 + .../unit/volume/drivers/dell_emc/scaleio/mocks.py | 98 + .../dell_emc/scaleio/test_attach_detach_volume.py | 45 + .../dell_emc/scaleio/test_consistencygroups.py | 211 + .../dell_emc/scaleio/test_create_cloned_volume.py | 106 + .../dell_emc/scaleio/test_create_snapshot.py | 117 + .../drivers/dell_emc/scaleio/test_create_volume.py | 138 + .../scaleio/test_create_volume_from_snapshot.py | 100 + .../dell_emc/scaleio/test_delete_snapshot.py | 95 + .../drivers/dell_emc/scaleio/test_delete_volume.py | 82 + .../drivers/dell_emc/scaleio/test_extend_volume.py | 106 + .../dell_emc/scaleio/test_initialize_connection.py | 116 + .../dell_emc/scaleio/test_manage_existing.py | 127 + .../scaleio/test_manage_existing_snapshot.py | 154 + .../volume/drivers/dell_emc/scaleio/test_misc.py | 226 + .../unit/volume/drivers/dell_emc/test_vmax.py | 10197 +++++++++++++++++++ .../unit/volume/drivers/dell_emc/test_xtremio.py | 1234 +++ .../unit/volume/drivers/dell_emc/unity/__init__.py | 0 .../drivers/dell_emc/unity/fake_exception.py | 70 + .../volume/drivers/dell_emc/unity/test_adapter.py | 634 ++ .../volume/drivers/dell_emc/unity/test_client.py | 461 + .../volume/drivers/dell_emc/unity/test_driver.py | 269 + .../volume/drivers/dell_emc/unity/test_utils.py | 254 + .../unit/volume/drivers/dell_emc/vnx/__init__.py | 26 + .../unit/volume/drivers/dell_emc/vnx/fake_enum.py | 119 + .../volume/drivers/dell_emc/vnx/fake_exception.py | 180 + .../drivers/dell_emc/vnx/fake_storops/__init__.py | 76 + .../dell_emc/vnx/fake_storops/lib/__init__.py | 0 .../drivers/dell_emc/vnx/fake_storops/lib/tasks.py | 28 + .../volume/drivers/dell_emc/vnx/mocked_cinder.yaml | 463 + .../volume/drivers/dell_emc/vnx/mocked_vnx.yaml | 2108 ++++ .../unit/volume/drivers/dell_emc/vnx/res_mock.py | 443 + .../volume/drivers/dell_emc/vnx/test_adapter.py | 1516 +++ .../volume/drivers/dell_emc/vnx/test_client.py | 474 + .../volume/drivers/dell_emc/vnx/test_common.py | 314 + .../volume/drivers/dell_emc/vnx/test_driver.py | 81 + .../volume/drivers/dell_emc/vnx/test_res_mock.py | 84 + .../volume/drivers/dell_emc/vnx/test_res_mock.yaml | 59 + .../volume/drivers/dell_emc/vnx/test_taskflows.py | 182 + .../unit/volume/drivers/dell_emc/vnx/test_utils.py | 198 + .../unit/volume/drivers/dell_emc/vnx/utils.py | 85 + .../drivers/disco/test_create_cloned_volume.py | 36 +- .../volume/drivers/disco/test_create_snapshot.py | 26 +- .../volume/drivers/disco/test_create_volume.py | 6 +- .../disco/test_create_volume_from_snapshot.py | 26 +- .../volume/drivers/disco/test_delete_snapshot.py | 6 +- .../volume/drivers/disco/test_delete_volume.py | 6 +- .../volume/drivers/disco/test_extend_volume.py | 4 +- .../volume/drivers/disco/test_manage_existing.py | 133 + .../unit/volume/drivers/emc/scaleio/__init__.py | 171 - .../emc/scaleio/test_attach_detach_volume.py | 45 - .../drivers/emc/scaleio/test_consistencygroups.py | 211 - .../emc/scaleio/test_create_cloned_volume.py | 106 - .../drivers/emc/scaleio/test_create_snapshot.py | 117 - .../drivers/emc/scaleio/test_create_volume.py | 138 - .../scaleio/test_create_volume_from_snapshot.py | 100 - .../drivers/emc/scaleio/test_delete_snapshot.py | 95 - .../drivers/emc/scaleio/test_delete_volume.py | 82 - .../drivers/emc/scaleio/test_extend_volume.py | 106 - .../emc/scaleio/test_initialize_connection.py | 116 - .../drivers/emc/scaleio/test_manage_existing.py | 127 - .../emc/scaleio/test_manage_existing_snapshot.py | 154 - .../unit/volume/drivers/emc/scaleio/test_misc.py | 223 - .../unit/volume/drivers/emc/test_emc_xtremio.py | 1073 -- .../unit/volume/drivers/emc/vnx/fake_exception.py | 172 - .../unit/volume/drivers/emc/vnx/fake_storops.py | 76 - .../unit/volume/drivers/emc/vnx/mocked_cinder.yaml | 445 - .../unit/volume/drivers/emc/vnx/mocked_vnx.yaml | 2029 ---- .../unit/volume/drivers/emc/vnx/test_adapter.py | 1315 --- .../unit/volume/drivers/emc/vnx/test_client.py | 465 - .../unit/volume/drivers/emc/vnx/test_common.py | 297 - .../unit/volume/drivers/emc/vnx/test_driver.py | 73 - .../unit/volume/drivers/emc/vnx/test_res_mock.py | 90 - .../unit/volume/drivers/emc/vnx/test_res_mock.yaml | 59 - .../unit/volume/drivers/emc/vnx/test_taskflows.py | 181 - .../unit/volume/drivers/emc/vnx/test_utils.py | 174 - .../volume/drivers/fusionstorage/test_dsware.py | 1542 +-- .../drivers/fusionstorage/test_fspythonapi.py | 894 +- .../drivers/hitachi/test_hitachi_hnas_backend.py | 234 +- .../drivers/hitachi/test_hitachi_hnas_iscsi.py | 150 +- .../drivers/hitachi/test_hitachi_hnas_nfs.py | 390 +- .../drivers/hitachi/test_hitachi_hnas_utils.py | 64 +- .../drivers/hitachi/test_hitachi_vsp_horcm_fc.py | 1821 ++++ .../hitachi/test_hitachi_vsp_horcm_iscsi.py | 1915 ++++ .../unit/volume/drivers/hpe/test_hpelefthand.py | 4 +- .../volume/drivers/huawei/test_huawei_drivers.py | 882 +- .../huawei/test_huawei_drivers_compatibility.py | 65 - .../volume/drivers/ibm/fake_pyxcli_exceptions.py | 88 + .../unit/volume/drivers/ibm/test_ds8k_proxy.py | 2829 +++++ .../volume/drivers/ibm/test_ibm_flashsystem.py | 5 +- .../unit/volume/drivers/ibm/test_ibm_storage.py | 15 +- .../unit/volume/drivers/ibm/test_storwize_svc.py | 2082 +++- .../unit/volume/drivers/ibm/test_xiv_proxy.py | 1845 ++++ .../drivers/infortrend/test_infortrend_cli.py | 9 +- .../drivers/infortrend/test_infortrend_common.py | 92 +- .../unit/volume/drivers/nec/volume_common_test.py | 299 + .../drivers/netapp/dataontap/client/fakes.py | 99 + .../drivers/netapp/dataontap/client/test_api.py | 84 +- .../netapp/dataontap/client/test_client_7mode.py | 22 +- .../netapp/dataontap/client/test_client_base.py | 16 +- .../netapp/dataontap/client/test_client_cmode.py | 481 +- .../unit/volume/drivers/netapp/dataontap/fakes.py | 1 - .../dataontap/performance/test_perf_7mode.py | 42 +- .../netapp/dataontap/performance/test_perf_base.py | 55 +- .../dataontap/performance/test_perf_cmode.py | 71 +- .../drivers/netapp/dataontap/test_block_7mode.py | 67 +- .../drivers/netapp/dataontap/test_block_base.py | 313 +- .../drivers/netapp/dataontap/test_block_cmode.py | 112 +- .../dataontap/test_block_driver_interfaces.py | 6 +- .../drivers/netapp/dataontap/test_nfs_7mode.py | 42 +- .../drivers/netapp/dataontap/test_nfs_base.py | 192 +- .../drivers/netapp/dataontap/test_nfs_cmode.py | 132 +- .../volume/drivers/netapp/dataontap/utils/fakes.py | 40 +- .../netapp/dataontap/utils/test_capabilities.py | 159 +- .../netapp/dataontap/utils/test_data_motion.py | 132 +- .../netapp/dataontap/utils/test_loopingcalls.py | 4 +- .../drivers/netapp/dataontap/utils/test_utils.py | 67 +- .../unit/volume/drivers/netapp/eseries/fakes.py | 3 +- .../volume/drivers/netapp/eseries/test_client.py | 117 +- .../volume/drivers/netapp/eseries/test_driver.py | 40 +- .../drivers/netapp/eseries/test_host_mapper.py | 114 +- .../volume/drivers/netapp/eseries/test_library.py | 451 +- .../unit/volume/drivers/netapp/test_common.py | 4 +- .../unit/volume/drivers/nexenta/test_nexenta.py | 32 +- .../volume/drivers/nexenta/test_nexenta5_iscsi.py | 222 +- .../drivers/nexenta/test_nexenta5_jsonrpc.py | 251 + .../volume/drivers/nexenta/test_nexenta5_nfs.py | 98 +- .../volume/drivers/nexenta/test_nexenta_edge.py | 1 + .../drivers/nexenta/test_nexenta_edge_nbd.py | 504 + .../unit/volume/drivers/solidfire/__init__.py | 0 .../solidfire/scaled_iops_invalid_data.json | 22 + .../drivers/solidfire/scaled_iops_test_data.json | 134 + .../volume/drivers/solidfire/test_solidfire.py | 1908 ++++ .../drivers/synology/test_synology_common.py | 1658 +++ .../volume/drivers/synology/test_synology_iscsi.py | 355 + .../unit/volume/drivers/test_drbdmanagedrv.py | 3 - .../unit/volume/drivers/test_falconstor_fss.py | 903 ++ .../unit/volume/drivers/test_prophetstor_dpl.py | 10 +- .../volume/drivers/violin/test_v7000_common.py | 3 - .../unit/volume/drivers/violin/test_v7000_fcp.py | 3 - .../unit/volume/drivers/vmware/test_vmware_vmdk.py | 246 +- .../volume/drivers/vmware/test_vmware_volumeops.py | 262 +- .../unit/volume/flows/test_create_volume_flow.py | 221 +- .../unit/volume/flows/test_manage_volume_flow.py | 4 +- .../zonemanager/test_brcd_fc_san_lookup_service.py | 2 +- .../zonemanager/test_brcd_fc_zone_client_cli.py | 2 +- .../zonemanager/test_brcd_http_fc_zone_client.py | 76 +- .../unit/zonemanager/test_brcd_lookup_service.py | 2 +- .../test_cisco_fc_san_lookup_service.py | 2 +- .../zonemanager/test_cisco_fc_zone_client_cli.py | 48 +- .../unit/zonemanager/test_cisco_fc_zone_driver.py | 39 +- .../unit/zonemanager/test_cisco_lookup_service.py | 2 +- cinder/transfer/api.py | 3 +- cinder/utils.py | 50 +- cinder/volume/api.py | 581 +- cinder/volume/driver.py | 326 +- cinder/volume/drivers/__init__.py | 22 - cinder/volume/drivers/block_device.py | 13 +- cinder/volume/drivers/cloudbyte/cloudbyte.py | 5 + cinder/volume/drivers/coho.py | 35 +- cinder/volume/drivers/coprhd/fc.py | 4 +- cinder/volume/drivers/coprhd/helpers/volume.py | 13 +- cinder/volume/drivers/datera.py | 1136 --- cinder/volume/drivers/datera/__init__.py | 0 cinder/volume/drivers/datera/datera_api2.py | 763 ++ cinder/volume/drivers/datera/datera_api21.py | 877 ++ cinder/volume/drivers/datera/datera_common.py | 211 + cinder/volume/drivers/datera/datera_iscsi.py | 739 ++ .../volume/drivers/dell/dell_storagecenter_api.py | 534 +- .../drivers/dell/dell_storagecenter_common.py | 254 +- .../volume/drivers/dell/dell_storagecenter_fc.py | 191 +- .../drivers/dell/dell_storagecenter_iscsi.py | 164 +- cinder/volume/drivers/dell_emc/__init__.py | 0 cinder/volume/drivers/dell_emc/ps.py | 685 ++ cinder/volume/drivers/dell_emc/scaleio/__init__.py | 0 cinder/volume/drivers/dell_emc/scaleio/driver.py | 1421 +++ cinder/volume/drivers/dell_emc/unity/__init__.py | 18 + cinder/volume/drivers/dell_emc/unity/adapter.py | 605 ++ cinder/volume/drivers/dell_emc/unity/client.py | 290 + cinder/volume/drivers/dell_emc/unity/driver.py | 219 + cinder/volume/drivers/dell_emc/unity/utils.py | 286 + cinder/volume/drivers/dell_emc/vmax/__init__.py | 0 cinder/volume/drivers/dell_emc/vmax/common.py | 5926 +++++++++++ cinder/volume/drivers/dell_emc/vmax/fast.py | 830 ++ cinder/volume/drivers/dell_emc/vmax/fc.py | 527 + cinder/volume/drivers/dell_emc/vmax/https.py | 347 + cinder/volume/drivers/dell_emc/vmax/iscsi.py | 452 + cinder/volume/drivers/dell_emc/vmax/masking.py | 2763 +++++ cinder/volume/drivers/dell_emc/vmax/provision.py | 1083 ++ .../volume/drivers/dell_emc/vmax/provision_v3.py | 1062 ++ cinder/volume/drivers/dell_emc/vmax/utils.py | 3026 ++++++ cinder/volume/drivers/dell_emc/vnx/__init__.py | 0 cinder/volume/drivers/dell_emc/vnx/adapter.py | 1570 +++ cinder/volume/drivers/dell_emc/vnx/client.py | 597 ++ cinder/volume/drivers/dell_emc/vnx/common.py | 492 + cinder/volume/drivers/dell_emc/vnx/const.py | 39 + cinder/volume/drivers/dell_emc/vnx/driver.py | 377 + cinder/volume/drivers/dell_emc/vnx/taskflows.py | 598 ++ cinder/volume/drivers/dell_emc/vnx/utils.py | 362 + cinder/volume/drivers/dell_emc/xtremio.py | 1151 +++ cinder/volume/drivers/disco/disco.py | 295 +- cinder/volume/drivers/disco/disco_api.py | 169 + cinder/volume/drivers/disco/disco_attach_detach.py | 70 + cinder/volume/drivers/dothill/dothill_client.py | 284 +- cinder/volume/drivers/dothill/dothill_common.py | 28 +- cinder/volume/drivers/dothill/dothill_fc.py | 33 +- cinder/volume/drivers/dothill/dothill_iscsi.py | 14 +- cinder/volume/drivers/drbdmanagedrv.py | 2 +- cinder/volume/drivers/emc/__init__.py | 0 cinder/volume/drivers/emc/emc_vmax_common.py | 4604 --------- cinder/volume/drivers/emc/emc_vmax_fast.py | 830 -- cinder/volume/drivers/emc/emc_vmax_fc.py | 438 - cinder/volume/drivers/emc/emc_vmax_https.py | 347 - cinder/volume/drivers/emc/emc_vmax_iscsi.py | 411 - cinder/volume/drivers/emc/emc_vmax_masking.py | 2744 ----- cinder/volume/drivers/emc/emc_vmax_provision.py | 1082 -- cinder/volume/drivers/emc/emc_vmax_provision_v3.py | 855 -- cinder/volume/drivers/emc/emc_vmax_utils.py | 2834 ------ cinder/volume/drivers/emc/scaleio.py | 1421 --- cinder/volume/drivers/emc/vnx/__init__.py | 0 cinder/volume/drivers/emc/vnx/adapter.py | 1463 --- cinder/volume/drivers/emc/vnx/client.py | 566 - cinder/volume/drivers/emc/vnx/common.py | 483 - cinder/volume/drivers/emc/vnx/const.py | 39 - cinder/volume/drivers/emc/vnx/driver.py | 333 - cinder/volume/drivers/emc/vnx/taskflows.py | 579 -- cinder/volume/drivers/emc/vnx/utils.py | 339 - cinder/volume/drivers/emc/xtremio.py | 1055 -- cinder/volume/drivers/eqlx.py | 731 -- cinder/volume/drivers/falconstor/fc.py | 4 +- cinder/volume/drivers/falconstor/fss_common.py | 20 +- cinder/volume/drivers/falconstor/iscsi.py | 2 +- cinder/volume/drivers/falconstor/rest_proxy.py | 31 +- cinder/volume/drivers/fujitsu/eternus_dx_fc.py | 4 +- cinder/volume/drivers/fusionstorage/dsware.py | 1254 +-- cinder/volume/drivers/glusterfs.py | 479 - cinder/volume/drivers/hitachi/hbsd_fc.py | 10 +- cinder/volume/drivers/hitachi/hbsd_horcm.py | 1 - cinder/volume/drivers/hitachi/hbsd_iscsi.py | 6 +- cinder/volume/drivers/hitachi/hnas_backend.py | 87 +- cinder/volume/drivers/hitachi/hnas_iscsi.py | 25 +- cinder/volume/drivers/hitachi/hnas_nfs.py | 351 +- cinder/volume/drivers/hitachi/hnas_utils.py | 56 +- cinder/volume/drivers/hitachi/vsp_common.py | 954 ++ cinder/volume/drivers/hitachi/vsp_fc.py | 178 + cinder/volume/drivers/hitachi/vsp_horcm.py | 1436 +++ cinder/volume/drivers/hitachi/vsp_horcm_fc.py | 189 + cinder/volume/drivers/hitachi/vsp_horcm_iscsi.py | 191 + cinder/volume/drivers/hitachi/vsp_iscsi.py | 185 + cinder/volume/drivers/hitachi/vsp_utils.py | 670 ++ cinder/volume/drivers/hpe/hpe_3par_common.py | 48 +- cinder/volume/drivers/hpe/hpe_3par_fc.py | 10 +- cinder/volume/drivers/hpe/hpe_3par_iscsi.py | 40 +- cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py | 10 +- cinder/volume/drivers/hpe/hpe_xp_fc.py | 8 +- cinder/volume/drivers/huawei/constants.py | 2 +- cinder/volume/drivers/huawei/huawei_conf.py | 2 +- cinder/volume/drivers/huawei/huawei_driver.py | 254 +- cinder/volume/drivers/huawei/rest_client.py | 73 +- cinder/volume/drivers/ibm/flashsystem_common.py | 5 +- cinder/volume/drivers/ibm/flashsystem_fc.py | 6 +- cinder/volume/drivers/ibm/flashsystem_iscsi.py | 2 +- cinder/volume/drivers/ibm/gpfs.py | 11 +- cinder/volume/drivers/ibm/ibm_storage.py | 292 - cinder/volume/drivers/ibm/ibm_storage/__init__.py | 138 + .../volume/drivers/ibm/ibm_storage/certificate.py | 66 + cinder/volume/drivers/ibm/ibm_storage/cryptish.py | 27 + .../drivers/ibm/ibm_storage/ds8k_connection.py | 151 + .../volume/drivers/ibm/ibm_storage/ds8k_helper.py | 1044 ++ .../volume/drivers/ibm/ibm_storage/ds8k_proxy.py | 993 ++ .../drivers/ibm/ibm_storage/ds8k_replication.py | 577 ++ .../drivers/ibm/ibm_storage/ds8k_restclient.py | 337 + .../volume/drivers/ibm/ibm_storage/ibm_storage.py | 263 + cinder/volume/drivers/ibm/ibm_storage/proxy.py | 409 + cinder/volume/drivers/ibm/ibm_storage/strings.py | 44 + cinder/volume/drivers/ibm/ibm_storage/xiv_proxy.py | 2559 +++++ .../volume/drivers/ibm/storwize_svc/replication.py | 302 +- .../drivers/ibm/storwize_svc/storwize_const.py | 49 + .../ibm/storwize_svc/storwize_svc_common.py | 1099 +- .../drivers/ibm/storwize_svc/storwize_svc_fc.py | 11 +- .../drivers/ibm/storwize_svc/storwize_svc_iscsi.py | 202 +- cinder/volume/drivers/infinidat.py | 432 + .../drivers/infortrend/eonstor_ds_cli/__init__.py | 0 .../infortrend/eonstor_ds_cli/cli_factory.py | 737 -- .../infortrend/eonstor_ds_cli/common_cli.py | 1942 ---- .../volume/drivers/infortrend/infortrend_fc_cli.py | 7 +- .../drivers/infortrend/infortrend_iscsi_cli.py | 3 +- .../drivers/infortrend/raidcmd_cli/__init__.py | 0 .../drivers/infortrend/raidcmd_cli/cli_factory.py | 737 ++ .../drivers/infortrend/raidcmd_cli/common_cli.py | 1950 ++++ .../volume/drivers/kaminario/kaminario_common.py | 49 +- cinder/volume/drivers/kaminario/kaminario_fc.py | 4 +- cinder/volume/drivers/kaminario/kaminario_iscsi.py | 7 +- cinder/volume/drivers/lenovo/lenovo_common.py | 2 +- cinder/volume/drivers/lenovo/lenovo_fc.py | 12 +- cinder/volume/drivers/lenovo/lenovo_iscsi.py | 12 +- cinder/volume/drivers/lvm.py | 19 +- cinder/volume/drivers/nec/__init__.py | 0 cinder/volume/drivers/nec/cli.py | 781 ++ cinder/volume/drivers/nec/product.xml | 27 + cinder/volume/drivers/nec/volume.py | 76 + cinder/volume/drivers/nec/volume_common.py | 922 ++ cinder/volume/drivers/nec/volume_helper.py | 1699 +++ .../volume/drivers/netapp/dataontap/block_7mode.py | 22 +- .../volume/drivers/netapp/dataontap/block_base.py | 38 +- .../volume/drivers/netapp/dataontap/block_cmode.py | 30 +- .../netapp/dataontap/client/client_7mode.py | 16 + .../drivers/netapp/dataontap/client/client_base.py | 92 - .../netapp/dataontap/client/client_cmode.py | 163 +- cinder/volume/drivers/netapp/dataontap/fc_7mode.py | 16 +- cinder/volume/drivers/netapp/dataontap/fc_cmode.py | 16 +- .../volume/drivers/netapp/dataontap/iscsi_7mode.py | 12 +- .../volume/drivers/netapp/dataontap/iscsi_cmode.py | 12 +- .../volume/drivers/netapp/dataontap/nfs_7mode.py | 30 +- cinder/volume/drivers/netapp/dataontap/nfs_base.py | 58 +- .../volume/drivers/netapp/dataontap/nfs_cmode.py | 35 +- .../netapp/dataontap/performance/perf_base.py | 3 +- .../drivers/netapp/dataontap/utils/capabilities.py | 62 +- .../drivers/netapp/dataontap/utils/data_motion.py | 10 +- .../volume/drivers/netapp/dataontap/utils/utils.py | 45 + cinder/volume/drivers/netapp/eseries/fc_driver.py | 10 +- .../volume/drivers/netapp/eseries/host_mapper.py | 5 +- .../volume/drivers/netapp/eseries/iscsi_driver.py | 6 +- cinder/volume/drivers/netapp/eseries/library.py | 18 +- cinder/volume/drivers/nexenta/iscsi.py | 78 +- cinder/volume/drivers/nexenta/nexentaedge/iscsi.py | 4 + cinder/volume/drivers/nexenta/nexentaedge/nbd.py | 7 +- cinder/volume/drivers/nexenta/ns5/iscsi.py | 297 +- cinder/volume/drivers/nexenta/ns5/jsonrpc.py | 230 +- cinder/volume/drivers/nexenta/ns5/nfs.py | 97 +- cinder/volume/drivers/nexenta/options.py | 9 +- cinder/volume/drivers/nfs.py | 187 +- cinder/volume/drivers/nimble.py | 1721 +++- cinder/volume/drivers/prophetstor/dpl_fc.py | 4 +- cinder/volume/drivers/prophetstor/dplcommon.py | 5 +- cinder/volume/drivers/pure.py | 247 +- cinder/volume/drivers/qnap.py | 1567 +++ cinder/volume/drivers/quobyte.py | 2 +- cinder/volume/drivers/rbd.py | 532 +- cinder/volume/drivers/reduxio/__init__.py | 0 cinder/volume/drivers/reduxio/rdx_cli_api.py | 543 + cinder/volume/drivers/reduxio/rdx_iscsi_driver.py | 502 + cinder/volume/drivers/remotefs.py | 115 +- cinder/volume/drivers/san/__init__.py | 4 +- cinder/volume/drivers/san/hp/hpmsa_common.py | 2 +- cinder/volume/drivers/san/hp/hpmsa_fc.py | 12 +- cinder/volume/drivers/san/hp/hpmsa_iscsi.py | 12 +- cinder/volume/drivers/scality.py | 306 - cinder/volume/drivers/sheepdog.py | 2 +- cinder/volume/drivers/smbfs.py | 2 + cinder/volume/drivers/solidfire.py | 169 +- cinder/volume/drivers/tegile.py | 10 +- cinder/volume/drivers/tintri.py | 1 - cinder/volume/drivers/violin/v7000_fcp.py | 4 +- cinder/volume/drivers/vmware/__init__.py | 18 - cinder/volume/drivers/vmware/vmdk.py | 168 +- cinder/volume/drivers/vmware/volumeops.py | 73 +- cinder/volume/drivers/vzstorage.py | 123 +- cinder/volume/drivers/windows/remotefs.py | 55 - cinder/volume/drivers/windows/smbfs.py | 15 +- cinder/volume/drivers/xio.py | 4 +- cinder/volume/drivers/zfssa/zfssanfs.py | 23 +- cinder/volume/drivers/zte/zte_ks.py | 5 + cinder/volume/flows/api/create_volume.py | 65 +- cinder/volume/flows/api/manage_existing.py | 18 +- cinder/volume/flows/common.py | 9 +- cinder/volume/flows/manager/create_volume.py | 81 +- cinder/volume/flows/manager/manage_existing.py | 20 +- cinder/volume/group_types.py | 27 + cinder/volume/manager.py | 1600 +-- cinder/volume/rpcapi.py | 465 +- cinder/volume/targets/scst.py | 2 +- cinder/volume/targets/tgt.py | 21 +- cinder/volume/utils.py | 114 +- cinder/volume/volume_types.py | 52 +- cinder/zonemanager/__init__.py | 27 - cinder/zonemanager/drivers/__init__.py | 27 - cinder/zonemanager/drivers/brocade/__init__.py | 27 - .../drivers/brocade/brcd_http_fc_zone_client.py | 14 +- .../drivers/cisco/cisco_fc_zone_client_cli.py | 84 +- .../drivers/cisco/cisco_fc_zone_driver.py | 202 +- .../zonemanager/drivers/cisco/fc_zone_constants.py | 3 +- cinder/zonemanager/drivers/fc_zone_driver.py | 14 +- cinder/zonemanager/utils.py | 8 +- etc/cinder/policy.json | 17 +- etc/cinder/rootwrap.d/volume.filters | 32 +- .../Dell-SC-New-Extra-Specs-1de0d3f1ebc62881.yaml | 8 + ...ell-SC-Retype-Limitations-74f4b5f6a94ffe4f.yaml | 16 + ...SC-ServerOS-Config-Option-bd0e018319758e03.yaml | 2 +- .../Dell-SC-thaw_backend-b9362d381fabd4c9.yaml | 5 + ...-backup-project-attribute-3f57051ef9159b08.yaml | 3 + .../add-io-ports-option-c751d1bd395dd614.yaml | 3 + ...set-group-snapshot-status-sd21a31cde5fa035.yaml | 3 + .../add-reset-group-status-sd21a31cde5fa034.yaml | 3 + ...chastic-scheduling-option-99e10eae023fbcca.yaml | 4 +- ...ss-lvm-fd-warnings-option.402bebc03b0a9f00.yaml | 17 + .../add-vmax-replication-490202c15503ae03.yaml | 3 + ...nmanage_itri_disco_driver-1c9ee31cc86b6eda.yaml | 3 + .../apply-limits-to-qemu-img-29f722a1bf4b91f8.yaml | 7 + ...-cinder-driver-update-2.1-5c6455b45563adc5.yaml | 3 +- ...en-src-ibm-storage-driver-d17808e52aa4eacb.yaml | 16 + ...ookupservice_http_support-f6485b38a1feaa15.yaml | 2 +- .../notes/bug-1570845-efdb0206718f4ca4.yaml | 4 +- ...status-cheesecake-volumes-804dc8b0b1380e6b.yaml | 5 + ...lone-from-nfs-image-cache-2218fb402783bc20.yaml | 4 + .../notes/capacity-headroom-4b07701f1df9e5c4.yaml | 5 + ...-remove-deprecated-option-98912ab7e8b472e8.yaml | 3 + ...-online-schema-migrations-d1c0d40f26d0f033.yaml | 13 + .../cluster_job_distribution-f916dd2e4cce6c1b.yaml | 5 + .../consistency_group_manage-d30a2ad8917a7a86.yaml | 3 + .../datera-2.3-driver-update-12d0221fd4bb9fb0.yaml | 15 + .../datera-driver-v2-update-930468e8259c8e86.yaml | 8 +- .../db-schema-from-liberty-f5fa57d67441dece.yaml | 6 + .../default-apiv1-disabled-9f6bb0c67b38e670.yaml | 6 + .../notes/delete_parameters-6f44fece22a7787d.yaml | 13 + .../dell-emc-unity-driver-72cb901467b23b22.yaml | 3 + ...ecate-backends-in-default-b9784a2333fe22f2.yaml | 10 +- ...ecate-block-device-driver-d30232547a31fe1e.yaml | 6 + ...e-cinder-linux-smb-driver-4aec58f15a963c54.yaml | 6 + ...tend-volume-in-thin-pools-57a3d53be4d47704.yaml | 7 + ...ith-different-volume-type-b969897cba2610cc.yaml | 5 + .../generic-groups-in-vnx-cbbe1346e889b5c2.yaml | 3 + .../hbsd-driver-deletion-d81f7c4513f45d7b.yaml | 6 + .../notes/hitachi-vsp-driver-87659bb496bb459b.yaml | 4 + .../hitachi-vsp-iscsi-driver-cac31d7c54d7718d.yaml | 3 + .../hitachi-vsp-ports-option-7147289e6529d7fe.yaml | 16 + ...nas-change-snapshot-names-8153b043eb7e99fc.yaml | 6 + ...as-deprecate-iscsi-driver-cd521b3a2ba948f3.yaml | 10 + ...eprecated-svc-volume-type-77768f27946aadf4.yaml | 4 + .../hnas-list-manageable-9329866618fa9a9c.yaml | 4 + ...ities-report-optimization-d1c18d9f62ef71aa.yaml | 3 + ...ement-to-get-group-detail-0e8b68114e79a8a2.yaml | 5 + ...idat-add-infinibox-driver-67cc33fc3fbff1bb.yaml | 3 + ...cinder-driver-bug-1646692-7aad3b7496689aa7.yaml | 4 + ...cinder-driver-bug-1646766-fe810f5801d24f2f.yaml | 5 + ...r-remove-deprecate-option-831920f4d25e2979.yaml | 5 + ...ark-cloudbyte-unsupported-8615a127439ed262.yaml | 11 + .../mark-dothill-unsupported-7f95115b7b24e53c.yaml | 11 + .../mark-hpe-xp-unsupported-c9ce6cfbab622e46.yaml | 11 + ...k-nexentaedge-unsupported-56d184fdccc6eaac.yaml | 11 + .../mark-scality-unsupported-530370e034a6f488.yaml | 8 +- ...-to-generic-volume-groups-f82ad3658f3e567c.yaml | 5 + ...e-eqlx-driver-to-dell-emc-fe5d2b484c47b7a6.yaml | 6 + ...io-driver-to-dell-emc-dir-c195374ca6b7e98d.yaml | 5 + ...io-driver-to-dell-emc-dir-f7e07a502cafd78f.yaml | 6 + ...nec_storage_volume_driver-57663f9ecce1ae19.yaml | 3 + ...ckend-replication-support-59d7537fe3d0eb05.yaml | 2 +- ...p-deprecate-7mode-drivers-a39bfcb3afefc9a5.yaml | 6 + ..._shared_blocks_exhaustion-073a73e05daf09d4.yaml | 9 + .../new-osprofiler-call-0bb1a305c8e8f9cc.yaml | 7 + .../notes/nexenta-ns5-5d223f3b60f58aad.yaml | 3 + .../notes/nexentastor5-https-6d58004838cfab30.yaml | 4 + .../notes/nfs-snapshots-21b641300341cba1.yaml | 5 + .../nimble-add-fc-support-0007fdbd647be947.yaml | 3 + .../notes/nimble-qos-specs-8cd006777c66a64e.yaml | 5 + .../nimble-rest-api-support-75c2324ee462d026.yaml | 4 + ...rated-groups-with-cp-apis-e5835c6673191805.yaml | 29 + .../notes/os-brick-lock-dir-35bdd8ec0c0ef46d.yaml | 6 +- ...ure-generic-volume-groups-2b0941103f7c01cb.yaml | 3 + .../pure-list-mangeable-fed4a1b23212f545.yaml | 2 +- .../rbd-thin-provisioning-c98522d6fe7b71ff.yaml | 3 + .../rbd-v2.1-replication-64a9d0bec5987faf.yaml | 3 + .../rebranded-vnx-driver-2fb7424ddc9c41df.yaml | 7 + .../reduxio-iscsci-driver-5827c32a0c498949.yaml | 3 + ...actor-disco-volume-driver-3ff0145707ec0f3e.yaml | 5 + ...eprecated-driver-mappings-b927d8ef9fc3b713.yaml | 24 + ...e-eqlx-deprecated-options-89ba02c41d4da62a.yaml | 15 + .../notes/remove-scality-fa209aae9748a1f3.yaml | 5 + .../remove-single-backend-7bf02e525bbbdd3a.yaml | 5 + ...remove-volume-clear-shred-bde9f7f9ff430feb.yaml | 7 + ...e_glusterfs_volume_driver-d8fd2cf5f38e754b.yaml | 5 + ...ove_volume_tmp_dir_option-c83c5341e5a42378.yaml | 7 + .../notes/removed-isertgtadm-7ccefab5d3e89c59.yaml | 4 +- .../removing-cinder-all-9f5c3d1eb230f9e6.yaml | 4 + ...fault-volume-provisioning-c648118fcc8f297f.yaml | 2 +- .../scaleio-scaling-qos-50c58e43d4b54247.yaml | 2 +- ...thin-provisioning-support-9c3b9203567771dd.yaml | 10 +- ...how-provider-id-for-admin-ff4fd5a2518a4bfa.yaml | 3 + .../notes/slug-qnap-driver-d4465ea6009c66df.yaml | 3 + .../solidfire-scaled-qos-9b8632453909e2db.yaml | 20 + ...e_iscsi_multipath_enhance-9de9dc29661869cd.yaml | 3 + ...d-snapshot-list-filtering-6e6df68a7ce981f5.yaml | 5 + .../support-zmq-messaging-41085787156fbda1.yaml | 3 + ...unity-backup-via-snapshot-81a2d5a118c97042.yaml | 3 + ...use-castellan-key-manager-4911c3c4908ca633.yaml | 2 +- ...oslo_middleware_sizelimit-5f171cf1c44444f8.yaml | 12 +- .../vmax-attach-snapshot-3137e59ab4ff39a4.yaml | 4 + .../notes/vmax-clone-cg-09fce492931c957f.yaml | 4 + .../vmax-compression-support-1dfe463328b56d7f.yaml | 3 + .../vmax-rename-dell-emc-f9ebfb9eb567f427.yaml | 6 + .../vmax-volume-migration-992c8c68e2207bbc.yaml | 5 + ...mdk_config_conn_pool_size-0658c497e118533f.yaml | 5 + .../notes/vmware-vmdk-config-eb70892e4ccf8f3c.yaml | 4 +- .../vmware_vmdk_paravirtual-3d5eeef96dcbcfb7.yaml | 4 +- ...x-async-migration-support-3c449139bb264004.yaml | 10 + ...vnx-repv2.1-config-update-cc2f60c20aec88dd.yaml | 8 + .../xtremio-generic-groups-912e11525573e970.yaml | 3 + releasenotes/source/conf.py | 3 + releasenotes/source/index.rst | 1 + releasenotes/source/newton.rst | 6 + requirements.txt | 53 +- setup.cfg | 1 - test-requirements.txt | 19 +- tools/enable-pre-commit-hook.sh | 2 +- tools/generate_driver_list.py | 15 +- tools/hooks/README | 4 + tools/hooks/run_multi_backend_matrix.sh | 99 + tools/hooks/utils.sh | 10 + tools/install_venv.py | 73 - tools/install_venv_common.py | 172 - tools/lintstack.py | 53 +- tools/test-setup.sh | 57 + tox.ini | 9 +- 1205 files changed, 144399 insertions(+), 77223 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 64c1c3a..2fea608 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5 +5 @@ -pbr>=1.6 # Apache-2.0 +pbr>=1.8 # Apache-2.0 @@ -14,5 +14,5 @@ ipaddress>=1.0.7;python_version<'3.3' # PSF -keystoneauth1>=2.10.0 # Apache-2.0 -keystonemiddleware!=4.1.0,!=4.5.0,>=4.0.0 # Apache-2.0 -lxml>=2.3 # BSD -oauth2client>=1.5.0 # Apache-2.0 -oslo.config>=3.14.0 # Apache-2.0 +keystoneauth1>=2.18.0 # Apache-2.0 +keystonemiddleware>=4.12.0 # Apache-2.0 +lxml!=3.7.0,>=2.3 # BSD +oauth2client!=4.0.0,>=1.5.0 # Apache-2.0 +oslo.config!=3.18.0,>=3.14.0 # Apache-2.0 @@ -21,3 +21,3 @@ oslo.context>=2.9.0 # Apache-2.0 -oslo.db!=4.13.1,!=4.13.2,>=4.10.0 # Apache-2.0 -oslo.log>=1.14.0 # Apache-2.0 -oslo.messaging>=5.2.0 # Apache-2.0 +oslo.db>=4.15.0 # Apache-2.0 +oslo.log>=3.11.0 # Apache-2.0 +oslo.messaging>=5.14.0 # Apache-2.0 @@ -25 +25 @@ oslo.middleware>=3.0.0 # Apache-2.0 -oslo.policy>=1.9.0 # Apache-2.0 +oslo.policy>=1.17.0 # Apache-2.0 @@ -31,2 +31,2 @@ oslo.service>=1.10.0 # Apache-2.0 -oslo.utils>=3.16.0 # Apache-2.0 -oslo.versionedobjects>=1.13.0 # Apache-2.0 +oslo.utils>=3.18.0 # Apache-2.0 +oslo.versionedobjects>=1.17.0 # Apache-2.0 @@ -36,0 +37 @@ PasteDeploy>=1.5.0 # MIT +psutil>=3.0.1 # BSD @@ -38 +39 @@ pycrypto>=2.6 # Public Domain -pyparsing>=2.0.1 # MIT +pyparsing>=2.1.0 # MIT @@ -40,4 +41,4 @@ python-barbicanclient>=4.0.0 # Apache-2.0 -python-glanceclient!=2.4.0,>=2.3.0 # Apache-2.0 -python-keystoneclient!=2.1.0,>=2.0.0 # Apache-2.0 -python-novaclient!=2.33.0,>=2.29.0 # Apache-2.0 -python-swiftclient>=2.2.0 # Apache-2.0 +python-glanceclient>=2.5.0 # Apache-2.0 +python-keystoneclient>=3.8.0 # Apache-2.0 +python-novaclient!=7.0.0,>=6.0.0 # Apache-2.0 +python-swiftclient>=3.2.0 # Apache-2.0 @@ -45 +46 @@ pytz>=2013.6 # MIT -requests>=2.10.0 # Apache-2.0 +requests!=2.12.2,>=2.10.0 # Apache-2.0 @@ -49,2 +50,2 @@ Routes!=2.0,!=2.3.0,>=1.12.3;python_version!='2.7' # MIT -taskflow>=1.26.0 # Apache-2.0 -rtslib-fb>=2.1.41 # Apache-2.0 +taskflow>=2.7.0 # Apache-2.0 +rtslib-fb!=2.1.60,!=2.1.61,>=2.1.43 # Apache-2.0 @@ -55 +56 @@ sqlalchemy-migrate>=0.9.6 # Apache-2.0 -stevedore>=1.16.0 # Apache-2.0 +stevedore>=1.17.1 # Apache-2.0 @@ -57 +58 @@ suds-jurko>=0.6 # LGPLv3+ -WebOb>=1.2.3 # MIT +WebOb>=1.6.0 # MIT @@ -59,4 +60,4 @@ oslo.i18n>=2.1.0 # Apache-2.0 -oslo.vmware>=2.11.0 # Apache-2.0 -os-brick>=1.6.1 # Apache-2.0 -os-win>=0.2.3 # Apache-2.0 -tooz>=1.28.0 # Apache-2.0 +oslo.vmware>=2.17.0 # Apache-2.0 +os-brick>=1.8.0 # Apache-2.0 +os-win>=1.4.0 # Apache-2.0 +tooz>=1.47.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index 7fb4e7c..45b50a6 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -6 +6 @@ -hacking<0.11,>=0.10.0 +hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0 @@ -8,2 +8 @@ hacking<0.11,>=0.10.0 -anyjson>=0.3.3 # BSD -coverage>=3.6 # Apache-2.0 +coverage>=4.0 # Apache-2.0 @@ -13 +11,0 @@ mock>=2.0 # BSD -mox3>=0.7.0 # Apache-2.0 @@ -16 +14,3 @@ oslotest>=1.10.0 # Apache-2.0 -sphinx!=1.3b1,<1.3,>=1.2.1 # BSD +sphinx!=1.3b1,<1.4,>=1.2.1 # BSD +PyMySQL>=0.7.6 # MIT License +psycopg2>=2.5 # LGPL/ZPL @@ -22,3 +22,4 @@ testscenarios>=0.4 # Apache-2.0/BSD -oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0 -os-testr>=0.7.0 # Apache-2.0 -tempest-lib>=0.14.0 # Apache-2.0 +oslosphinx>=4.7.0 # Apache-2.0 +oslo.versionedobjects[fixtures]>=1.17.0 # Apache-2.0 +os-testr>=0.8.0 # Apache-2.0 +tempest>=12.1.0 # Apache-2.0 @@ -26 +27 @@ bandit>=1.1.0 # Apache-2.0 -reno>=1.8.0 # Apache2 +reno>=1.8.0 # Apache-2.0
participants (1)
-
no-reply@openstack.org