Update git submodules

* Update cinder from branch 'master'
  - Merge "Fix CI failed: test_get_volume_filter_options_using_config"
  - Fix CI failed: test_get_volume_filter_options_using_config
    
    Recently, CI failed(py27, py35 and other unit tests) due to
    test_get_volume_filter_options_using_config case.
    
    In patch[1], we remove deprecated query_volume_filters config option,
    but the test case is fixed by a wrong way. The
    ``CONF.resource_query_filters_file`` is a **json path**, but NOT a
    **json str**, if we want to overwrite it, we should overwrite the
    _FILTERS_COLLECTION.[2]
    
    Unfortunately, if we have already called the _initialize_filters in
    other case (before this case), this error will not be exposed. So, we
    didn't find this error occurring in first-CI.
    
    This patch try to fix this issue.
    
    Co-Authored-By: wanghao <sxmatch1986@gmail.com>
    
    Closes-bug: #1809647
    
    [1] https://review.openstack.org/#/c/620632/
    [2] https://review.openstack.org/#/c/620632/2/cinder/api/common.py@356
    
    Change-Id: I190cc67a001ffce2a533480e6e39e26cd3f981df
    
  - Merge "[Doc] Fix status and parameters of vol connection api"
  - Merge "Extract copy_image_to_volume into volume utils"
  - Merge "Remove umount from volume.filters"
  - Merge "Ignore migration 127 error on MariaDB"
  - Remove umount from volume.filters
    
    Use umount to umount volumes via oslo.privsep.
    
    Change-Id: I83972fbfaf0842800c65ed8c391e2089de9807fe
    Signed-off-by: Chuck Short <chucks@redhat.com>
    
  - Merge "Correct the use of assertTrue"
  - Ignore migration 127 error on MariaDB
    
    Older MariaDB, and InnoDB with 4K page sizes [1], don't support a text fields
    to have more than 767 bytes, which means that we cannot extend the quota_usage
    _resource to 300 characters on migration 127.
    
    Since this migration is to cover a corner case, we ignore the exception
    during the migration if we are on a MySQL DB engine.
    
    [1]: https://mariadb.com/kb/en/library/innodb-limitations/#page-sizes
    
    Closes-Bug: #1808598
    Change-Id: Id990b98f0ac7aaedf48a77ebee2b083fcbdaaee7
    
  - Merge "Move tgt targets to privsep"
  - Merge "Handle image download and conversion errors"
  - Merge "Allow to use _max qos option together with per_gb"
  - Merge "Cleanup code duplication in cinder.cmd.backup module"
  - Merge "VMAX Driver - Place volume in SG as part of unmanage volume"
  - Merge "Rename BackupNFSSwiftBasedTestCase"
  - Merge "Doc: Remove unnecessary note"
  - Merge "PowerMax driver doc - clarifying SE and Unisphere support"
  - Merge "api-ref: add missing volumes_links in list-volume interfaces"
  - Merge "Remove deprecated query_volume_filters config option"
  - Merge "Add user_id in backup list and show API"
  - Allow to use _max qos option together with per_gb
    
    With this patch it'll become possible to limit max performance of volume
    even when qos is set per_gb. As a result operator will be able to set
    min and max options, with per gb increment, until the max value.
    
    Change-Id: I3c6c9e1c50100cfa56dcadf6445729484cdd616d
    
  - Merge "Add policy test for TENANT_ATTRIBUTE_POLICY"
  - Merge "Retry on DBDeadLock affecting worker updates"
  - Merge "Add missing ws seperator between words"
  - Merge "NetApp SolidFire: Revert volume to snapshot"
  - Merge "[api-ref] Fix the value of project_id"
  - Merge "Block broken requests 2.20.0"
  - Merge "Revert "Synchronize all LVM operations""
  - Merge "Fix _per_gb_min usage with _per_gb"
  - Correct the use of assertTrue
    
    If the first argument of assertTrue is True, the assertion
    will always pass. This patch fixes this which makes the
    comment gievn for the code reasonable.
    
    Change-Id: Ief4643a18c64854989e03441145c5a723684f067
    
  - Revert "Synchronize all LVM operations"
    
    This reverts commit 206f980cc2f09610ffb86cfc7728222fd39eee4f.
    
    This was part of troubleshooting long LVM operations.
    The hope is https://review.openstack.org/#/c/625269/
    actually fixes the issue since this change, at least
    by itself, still had failing runs due to lvchange
    operations taking longer than 60 seconds.
    
    Change-Id: I9c3dee2ba94c3779ff43db578c59448acbcf6653
    
  - Fix _per_gb_min usage with _per_gb
    
    As _per_gb_min was a text, it was in many cases larger, than
    _per_gb value. So, situations, when big drives were attached
    with min iops are now excluded.
    
    Change-Id: Ie24e5a85b54e4734c9b96987cc8ec497aa0ac435
    
  - Merge "Fix A/A 'resource_backend' when scheduling volumes"
  - Merge "Automate generation of api-ref samples"
  - Merge "Set message property in ImageDownloadFailed"
  - Merge "Synchronize all LVM operations"
  - Merge "Add secret=true to fixed_key configuration parameter"
  - Set message property in ImageDownloadFailed
    
    Set the correct property, "message". Looks like "_msg_fmt" may have
    been erroneously carried over from some other project (Ironic?)
    
    Change-Id: I2aa56da73660794c6dedcbb8a66e84bcec511a9c
    Closes-Bug: #1808443
    Related-Bug: #1799221
    
  - Fix A/A 'resource_backend' when scheduling volumes
    
    Fix an issue with the 'resource_backend' included in the scheduler spec
    for creating a volume associated with another volume, snapshot, or
    group/cg. When running A/A, the 'resource_backend' must reference the
    cluster, not the host.
    
    Enhance the unit tests that cover this area. This includes fixing the
    'expected_spec' so it copies a dictionary rather than referencing it,
    so that external changes to the dictionary don't inadvertently update
    the unit test's expected results.
    
    Closes-Bug: #1808343
    Change-Id: I7d414844d094945b55a094a8426687595f22de28
    
  - Handle image download and conversion errors
    
    Provide message when there is not enough space for image conversion
    
    With rbd as cinder backend, when creating volume from image, two steps
    follow to create the volume:
    
    1. image is downloaded to image_conversion_dir
    2. image is converted to raw in the same location
    
    If no space left in image_conversion_dir happened in step1, function
    fetch() in image_utils.py will catch this (IOError with e.errno ==
    errno.ENOSPC), and exception.ImageTooBig will be re-raised. If happened
    in step 2, no "space" specific message will be logged in current code.
    This patch provided the space specific log to indicate no space.
    
    Change-Id: I56057475cf55e4be77bbd1dfeabf2bf20d3e1311
    Co-authored-by: Irina Mihai <irina.mihai@windriver.com>
    Signed-off-by: Liang Fang <liang.a.fang@intel.com>
    
  - Merge "VMware: Check empty provider location"
  - Synchronize all LVM operations
    
    This makes us synchronize/serialize all of our external calls to LVM
    operations in an attempt to avoid contention of LVM's own locking
    scheme, as well as avoid potentially overlapping operations that may
    be flushing large amounts of data to disk.
    
    Related-Bug: #1739482
    Related-Bug: #1763712
    Change-Id: Idb4053685486f2163e7cb135cd579eba5d78f369
    
  - Merge "An alternate way to fix retype notifier test case"
  - Rename BackupNFSSwiftBasedTestCase
    
    These tests are just for the NFS backup driver
    and aren't related to Swift.
    
    Change-Id: I5a289a897d93e1c498281fd8c4fac15c6dcbd2c4
    
  - Merge "Tintri: Inherit tests from BaseDriverTestCase"
  - Add user_id in backup list and show API
    
    Add ``user_id`` to response body of list backup with detail and show
    backup detail APIs. In this way, you can get the ``user_id`` in backup
    list or show response, make the admin/user easy to manage backup file.
    
    Blueprint: add-user-id-attribute-to-backup-response
    Change-Id: I3ffb544ef3ee65276cee8b1e870d524fd0e57085
    
  - Merge "Increase the length of resource property in quota_usages"
  - Merge "Simplify hostname lookup"
  - Merge "Make policy config docs consistent"
  - Merge "Drop simplejson usage"
  - Merge "VMAX Driver - Fix for invalid device id length"
  - Merge "VMAX Driver - VMAX OS Upgrade Bug"
  - Merge "Remove Babel from requirements"
  - Make policy config docs consistent
    
    The RST file introducing the sample policy file in the docs directory
    has gotten out of sync with etc/cinder/README-policy.generate.md
    
    Change-Id: Ic43c631bb7af0b4d888e539d4ca50e379f693b3c
    Partial-bug: #1805550
    
  - Revert "Ceph driver should respect the `--incremental` option for backups"
    
    This reverts commit 797c5aa78574a29a9a0bf7dd1b8adb47554b42c2.
    
    That patch doesn't really fix the Ceph full backup issue.
    
    When doing a non incremental Ceph to Ceph backup, instead of doing a
    full backup that is ussable by the incremental feature, it creates a
    full backup as if it where a backup from a non Ceph volume, which then
    cannot be used by the incremental feature.
    
    Change-Id: I73a40babf5cb13956e44d4caef3d0ff7ef698048
    
  - Merge "Ensure image utils don't block greenthreads"
  - Merge "VMAX driver - allow for a clean system with no initiator groups"
  - Merge "Revert "Move check_encryption_provider to volume utils""
  - Merge "Remove out-of-date configurations in setup.cfg"
  - Merge "Remove DeprecationWarning of "decodestring()""
  - Merge "Tests : notifier problem with backup"
  - Revert "Move check_encryption_provider to volume utils"
    
    Closes-Bug: #1807446
    This reverts commit f02232599a05d8ca5bc788cf00d8e0c9d73db7e9.
    
    Change-Id: Ifb9a07b97d2625a6bf6c81bf667897bbc0e27cf7
    
  - VMAX Driver - VMAX OS Upgrade Bug
    
    Workload support was dropped in ucode 5978. If a VMAX All Flash
    array is upgraded to 5978 or greater and existing volume types
    leveraged workload e.g. DSS, DSS_REP, OLTP and OLTP_REP,
    attaching and detaching will no longer work and the volume type
    will be unusable.
    
    Change-Id: I0ad0c530c93a9494e1a3048e557360b38c4a125b
    Closes-Bug: #1790141
    
  - Merge "Huawei: Simplify wait_for_condition calls"
  - PowerMax driver doc - clarifying SE and Unisphere support
    
    Clarifying Solutions Enabler and Unisphere for PowerMax
    support.
    
    Change-Id: I2bfcfa4b42b7148ba202b2015aafd41afae081e5
    
  - Merge "Follow Up: Generalizing is_replicated_str to is_boolean_str"
  - Merge "Fix: storage_pools key in Huawei Driver"
  - Doc: Remove unnecessary note
    
    Cinder v1 API is removed and hence the note on the docs seems
    unnecessary.
    This patch removes it.
    
    Change-Id: I509a757a189c4f44c35623cabf83b93eaa34d483
    
  - Extract copy_image_to_volume into volume utils
    
    The "_copy_image_to_volume" method is a common function to
    copy image to volume.
    
    This also can be used by re-image interface, this patch
    extract them into volume utils.
    
    part of blueprint: add-volume-re-image-api
    
    Change-Id: I89471fd2737d0b21ce029a6ad7ed43a6e8bf4810
    
  - Merge "Check Volume Status on attahcment create/update"
  - Merge "api-ref: fix succeed code and add field for update-backup"
  - Merge "Ceph driver should respect the `--incremental` option for backups"
  - Ensure image utils don't block greenthreads
    
    When doing image operations in Cinder we may start getting errors on
    RabbitMQ and DB connections, which result in the volume service
    appearing as down to the scheduler.
    
    This is caused by file I/O operations, that in some cases block
    greenthreads, preventing switching to another greenthread on I/O as they
    should.
    
    This results in many different errors, so this patch makes sure that
    image operations (fetch, put, verify image, ...) that could prevent
    greenthread switching are executed in native threads.
    
    Closes-Bug: #1801958
    Change-Id: I8a8fbf96875319a7e5ca167fcd2bca45f57649c8
    
  - Automate generation of api-ref samples
    
    This patch adds the following functionality:
    
    1) Base framework for test cases
    2) Volume type tests
    
    Change-Id: I0e51bcc8c634923ca6fcff99a9f40b786933caa5
    Partially-Implements: blueprint generating-sample-files
    
  - Add policy test for TENANT_ATTRIBUTE_POLICY
    
    Add policy test for TENANT_ATTRIBUTE_POLICY, and remove it from
    test policy file, the default of TENANT_ATTRIBUTE_POLICY is
    'RULE_ADMIN_OR_OWNER', that means only admin and owner are authorized
    to show 'tenant_id'.
    
    This is one of the serious patches of policy-in-code test, see
    more information on [1] and [2].
    
    [1] 530fb9319ce21b7ff99e55f095c04f13f0785842
    [2] f207bac80924ffaf6d4c2a500c295d0e2e71966e
    
    Change-Id: Ibc674d05eb391e2bc83bfc83bfdce99e5e692ab5
    
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: I6512335dc5f537eb8d363a9f5730a3c06aa75877
    
  - Add missing ws seperator between words
    
    This is to add missing ws seperator between words, usually
    in log messages.
    
    Change-Id: I3d0ffb5a32397998de1e66b823141cb0cc7d039c
    
  - Merge "Change openstack-dev to openstack-discuss"
  - Merge "Make lower constraints CI works well"
  - Tests : notifier problem with backup
    
    There appears to be a race condition while sending notifications
    to ceilometer with rpc.
    the backup.createprogress notification seems to be leaking which
    appears to be the main cause of the failures.
    This patch addresses the issue.
    
    Change-Id: I460a270eba61cdca131717f7dfe726841a509378
    Closes-Bug: #1803648
    
  - Change openstack-dev to openstack-discuss
    
    Mailinglists have been updated. Openstack-discuss replaces openstack-dev.
    
    Change-Id: I555ab27581fb8ca3ee864b576a1e64c0159c1b3f
    
  - Add secret=true to fixed_key configuration parameter
    
    Add secret=true to fixed_key configuration parameter as that value
    shouldn't be logged.
    
    Change-Id: I21e1246769213fb7b9e283c0ed3a369cbe780650
    Closes-Bug: #1806473
    
  - Merge "Add policy test for volume GET_ALL_POLICY"
  - Merge "Add policy test for volume:force_delete"
  - Merge "Simplify the policy test case"
  - Merge "Stop cleaning images to be deleted in remotefs driver"
  - Cleanup code duplication in cinder.cmd.backup module
    
    Change-Id: I758d0cf04e434a82beca8637cbe7e18bfdc02fb2
    
  - Check Volume Status on attahcment create/update
    
    Currently the new Attachment calls in Cinder aren't checking the status
    of the volume when create or update is called.  This isn't good because
    it can mask problems with attach processes on the volume.
    
    This patch adds an explicit check of the volume status in both
    attachment_create and attachment_update, and if the volume status is in
    any error state, the call will result in an InvalidVolume exception.
    
    This is an API change to fix a bug, and is not microversioned.
    
    Closes-Bug: #1805762
    
    Change-Id: I9b32c4db93879dda6490b244643de1a18bddbbf5
    
  - Stop cleaning images to be deleted in remotefs driver
    
    Add '-d' flag to qemu-img commit operations during
    snapshot deletion in remotefs driver.
    
    Change-Id: I66396fb7e2616be734b7c8f73b87c650b1e603bf
    Closes-Bug: #1805853
    
  - Retry on DBDeadLock affecting worker updates
    
    Some updates on the workers table are prone to race conditions,
    leading to DB deadlocks.
    
    For example, when creating a large amount of volumes simultaneously,
    some of them may hang in "Creating" state due to this issue.
    
    We'll perform some retries when db deadlocks occur.
    
    Change-Id: Iae211acd619070405f84a84ea58e88723a5e9f9b
    Closes-Bug: #1789106
    
  - Remove deprecated query_volume_filters config option
    
    query_volume_filters was deprecated in Pike with
    Icee6c22621489f93614f4adf071329d8d2115637 and it should be safe to
    remove it now.
    
    Change-Id: Icd311db7f88c3c274d9a362eb96519e46c7e4d17
    
  - Correct default policy file
    
    Since Queens, the default policy file is policy.yaml, but the
    code is still looking for policy.json.  This patch corrects the
    location and includes a release note.
    
    Change-Id: I997109d6bd1adbcbf72c056f78f1e01547d0fcbd
    Closes-bug: #1805550
    
  - Merge "doc: Change variable name DEFAULT_API_VERSION to _MIN_API_VERSION"
  - VMAX Driver - Place volume in SG as part of unmanage volume
    
    A cinder unmanage operation using the VMAX driver doesn't place
    the volume in any storage group on the array. This leads to querying
    information about the volume very difficult. The volume being unmanaged
    should be placed in some storage group as part of the unmanage
    operation
    
    Change-Id: I4fd5370005848205e1bbc9d58d8452f38719dac8
    Closes-bug: 1792888
    
  - PowerMax driver doc - removing support for VMAX2
    
    Removing support for VMAX2 in current matrix.  Support for VMAX2
    ended in Newton.
    
    Change-Id: I9fa7250a35dee201d43060d85d9c2d2ee936b001
    
  - Ceph driver should respect the `--incremental` option for backups
    
    Volume backup service with Ceph driver should respect the `--incremental`
    option for backups. In this way we can keep consistency between backups.
    
    If the incremental flag is not specified then a new
    full backup will always be created, allowing for subsequent deletion of
    older incremental backups.
    
    Change-Id: I47f936e538810fcea8bffea0cf5c6065f6a3aa98
    Closes-Bug: #1790713
    Signed-off-by: Laura Sofia Enriquez <lsofia.enriquez@gmail.com>
    
  - Merge "Set right attach mode after migration"
  - Merge "api-ref: Adding backup create response example"
  - Merge "add missing comma"
  - Merge "[Trivial] Replace 'action' with 'command' in cinder-status doc"
  - VMware: Check empty provider location
    
    Adding a check for empty provider location before
    proceeding with volume delete.
    
    Change-Id: I4173a9d72894f4b6593a6aaf9f071a3cda7e6fef
    
  - [Doc] Fix status and parameters of vol connection api
    
    The response 'status' of initialize connection is 200, and the
    "connector" parameter is required in initialize/terminate connection
    API request.
    
    This patch try to fix these wrong content.
    
    Change-Id: I9d8c7c951b03f10fa29e3b3cc107a17e37b0e2bc
    
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: I466330d2b364f269e02fd714d925127a7a115120
    
  - An alternate way to fix retype notifier test case
    
    When we do backup for a volume, the backup notification is called
    periodically, but if we do other operations (like retype operation)
    in parallel, there is a possible to record the "volume.retype" and
    "backup.createprogress".
    
    This patch try to mock the send notification methods to ensure this
    doesn't happen.
    
    Cloeses-Bug: #1803648
    
    Co-Authored-By: Rajat Dhasmana <rajatdhasmana@gmail.com>
    
    Change-Id: I4c44cdd6a4a11a3b7b5c57ff5aac19a8d01ef124
    
  - Merge "lvm: Avoid premature calls to terminate_connection for muiltiattach vols"
  - Merge "api-ref: volume summary is available from v3.12"
  - Merge "api-ref: document encryption type provider choices"
  - Merge "api-ref: fix response code and data type for volume interfaces"
  - api-ref: document encryption type provider choices
    
    This updates the encrypted volume type provider
    parameter descriptions for the create and update
    requests to note the two choices of 'luks' and 'plain'.
    Since we don't want those choices in the response
    parameter descriptions, the parameters have to be
    broken down a bit in the parameters.yaml file to
    be request/response and optional/required.
    
    There are currently other supported values for the
    encryption type provider, including the legacy
    classpath values, but we want people using the
    non-legacy values so only luks and plain are
    documented here, and luks is marked as the
    recommended choice over plain (dm-crypt).
    
    Change-Id: I496d30ecf6390f51cdd8e547b7345b3da30e92de
    Closes-Bug: #1803513
    
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: I7775eb4b563b1cfa15e5392aefc93ec065d44130
    
  - api-ref: volume summary is available from v3.12
    
    GET volumes/summary is introduced to Cinder from V3.12, so this
    to add the comment for it.
    
    Change-Id: I7211ba4355fe9a10203e01436e571f41f8040adc
    
  - Revert "Remove mount from volume.filters"
    
    This reverts commit ca81be15a834269c6ee72bb19c2de42704ccf315.
    
    The mount command is used by the NFS driver, via os-brick.
    
    Change-Id: Ie9e1142b1412cc7bd1bdc75c6a8765a2cf308461
    
  - doc: Change variable name DEFAULT_API_VERSION to _MIN_API_VERSION
    
    The DEFAULT_API_VERSION variable doesn't exist in the specified
    file.
    As stated in [1], _MIN_API_VERSION is used as the default api
    version if no version is specified.
    
    [1] https://github.com/openstack/cinder/blob/master/cinder/api/openstack/api_version_request.py#L133-L136
    
    Change-Id: I6ecd0b2993c00c3abea98afc5be63bc8dc78624e
    
  - Merge "Update docs landing page to follow guideline"
  - Block broken requests 2.20.0
    
    Change-Id: I2889804a19499e1238b9b8cec9ebaea2c037d7d7
    Related-Bug: 1800985
    Depends-On: https://review.openstack.org/617296
    
  - [api-ref] Fix the value of project_id
    
    Change-Id: Ic48601e0279495920e57be9854b34ab7bbe94e8e
    
  - NetApp SolidFire: Revert volume to snapshot
    
    This implements the optimized version of revert_to_snapshot function
    on NetApp SolidFire driver.
    
    Change-Id: Id5e907aeabe9415a7342999bb00227ed8881d60a
    Implements: blueprint netapp-solidfire-revert-to-snapshot
    
  - lvm: Avoid premature calls to terminate_connection for muiltiattach vols
    
    Previously the LVM volume driver would always call termiante_connection
    on the configured target driver regardless of of the associated volume
    being attached to multiple instances on the same host. This isn't an
    issue for the tgt target driver used by upstream CI as this call is a
    noop but does cause the lioadm driver to prematurely remove specific
    host ACLs for volumes that are still being used.
    
    This change introduces a simple check to ensure that the target driver
    is only called when a single attachment remains that is in turn using
    the connector provided by the caller.
    
    Finally as a result of this bugfix the changes introduced by
    I84f607de13bc17b00609ad37121d8678f7f4a920 to disable the multiattach
    feature when using the lioadm target driver are removed.
    
    Closes-bug: #1786327
    Change-Id: Ib5aa1b7578f7d3200185566ff5f8634dd519d020
    
  - api-ref: fix succeed code and add field for update-backup
    
    https://developer.openstack.org/api-ref/block-storage/v3/index.html?expanded=update-a-backup-detail#update-a-backup
    
    1. metadata is present in the response example of "Update a backup",
    but is missing from the response parameters.
    
    2. succeed code of update-backup is 200, not 202
    
    Change-Id: I5c6098b1950b361a38d4a2b3a928344a277a3ed0
    
  - api-ref: add missing volumes_links in list-volume interfaces
    
    https://developer.openstack.org/api-ref/block-storage/v3/index.html?expanded=list-accessible-volumes-detail#list-accessible-volumes
    https://developer.openstack.org/api-ref/block-storage/v3/index.html?expanded=#list-accessible-volumes-with-details
    
    volumes_links is in the response body of list-volume and
    list-volume-with-details when pagination is used. So it should
    be an optional parameter.
    
    Change-Id: If61797f9a5cb5c522ed62886f4114d43e7cbbdef
    
  - Merge "Add test coverage to manage existing flow"
  - Merge "Improve/Clean api-ref parameters"
  - api-ref: Adding backup create response example
    
    The backup create response json file exists but isn't linked
    with the api-ref guide.
    This patch adds the link to it.
    
    Change-Id: Ib26670803ed57a23f282ac8f679db6e4957e8cc7
    
  - Add policy test for volume GET_ALL_POLICY
    
    Add policy test for volume GET_ALL_POLICY, and remove it from
    test policy file.
    
    This is one of the serious patches of policy-in-code test, see
    more information on [1] and [2].
    
    [1] 530fb9319ce21b7ff99e55f095c04f13f0785842
    [2] f207bac80924ffaf6d4c2a500c295d0e2e71966e
    
    Change-Id: Id391454fe1e9cc574ea2c996ffeed32e928af397
    
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: Iebbb0c26b9b64719c2ed9aff0f89bfced0131a17
    
  - Set right attach mode after migration
    
    When migrating attached volumes we are assuming they are always in "rw" mode,
    which means that a "ro" attached volume will end up as "rw" after a
    migration.
    
    Closes-Bug: #1802155
    Change-Id: I374df5d294587e0e91a10525b08ea1a5911c35a1
    
  - Merge "Imported Translations from Zanata"
  - Merge "Fix a typo in multiattach doc"
  - Make lower constraints CI works well
    
    The actual target of openstack-tox-lower-constraints is using the lower
    version package to run unit test.
    
    But in current Cinder CI,there was a hard code to specify the
    upper-constraints.txt, that means we install the package in
    upper-constraints.txt, but the lower-constraints.txt doesn't work well.
    
    This patch try to fix this error, move the hard code to 'deps'.
    
    We also refresh the lower-constraints.txt and requirements.txt to make
    CI works well:
    1. Add libxml2-dev, libxslt-devel, libxslt1-dev to bindep.txt to make
    lxml can be built successfully, like what we do in other project. [0]
    2. Upgrade oslo.messaging to 6.4.0 to avoid "ACCESS_REFUSED
    - Login was refused using authentication mechanism AMQPLAIN." error.
    3. Upgrade oslo.utils to 3.34.0 to add a new method escape_ipv6 [1] to
    oslo_utils.netutils, which is needed by [2].
    4. Upgrade keystoneauth1 to 3.7.0 to fix "no such option split_loggers
    in group [service_user]" [3]
    
    [0] https://github.com/openstack/nova/blob/bb3ded3/bindep.txt#L17-L19
    [1] https://review.openstack.org/#/c/495166/
    [2] https://github.com/openstack/cinder/blob/fe421fe/cinder/volume/drivers/netapp/utils.py#L172
    [3] https://review.openstack.org/#/c/578008/
    
    Change-Id: Ide84d49c283c0ad179a5cfdb0392d34ee73d97ea
    Closes-bug: #1801239
    
  - api-ref: fix response code and data type for volume interfaces
    
    1. https://developer.openstack.org/api-ref/block-storage/v3/?expanded=get-volumes-summary-detail#get-volumes-summary
    total_count in "Get volumes summary" should be integer
    
    2. https://developer.openstack.org/api-ref/block-storage/v3/index.html#create-metadata-for-volume
    Response code for "Create metadata for volume" interface should be 200.
    
    Change-Id: If278e939a9a580329e24709877c13ed4e70d6180
    
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: I6c4ddce3945ab07e0c52688c550eaa755b1d9a69
    
  - Improve/Clean api-ref parameters
    
    The parameters with name like example_1, example_2 ... etc. cause
    confusion while updating the api-ref docs like the examples below:
    
    https://review.openstack.org/#/c/609639/
    https://review.openstack.org/#/c/609611/
    
    This patch does the following changes :
    1) Replace numbering in the parameter with relevant names
    2) Clean up unused parameters
    
    Change-Id: I35b343bf068281d729576e5ecc209bda60c28680
    
  - [Trivial Fix] Correct spelling error of "bandwidth"
    
    Small modification to correct spelling mistake.
    
    Change-Id: Ic66736418de460c6e71b764322276019296aefe7
    
  - Add test coverage to manage existing flow
    
    We're almost missing unit tests for manage_existing functionality. The
    cinder.volume.flows.manager.manage_existing module has only ~37% of
    coverage, manage_existing_snapshot 61%.
    cinder.volume.flows.api.manage_existing also has ~58%.
    
    Change-Id: I28c1d70e5a53d7420e3eb52573d1d6fff474b635
    Partial-Bug: #1599140
    
  - VMAX driver - allow for a clean system with no initiator groups
    
    Currenty not allowing for a system with no initiator groups so in this
    empty list case an unhandled exception is thrown.
    
    Change-Id: I7fdfb71ce34aeebdaf23718727a938e9c450f615
    Closes-Bug: #1800005
    
  - Drop simplejson usage
    
    simplejson was mainly needed before the json standard library supported
    everything we need. This was when we supported Python versions earlier
    than 2.7.
    
    The standard library for all Python versions we now support is good
    enough and we should clean up unnecessary third party libs.
    
    Change-Id: I866445ffba9633db1de5ba615dcc19450f5d02e7
    Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
    
  - Remove Babel from requirements
    
    Change-Id: Ieccb6b987ef23272c8e943e7af3549cefab47263
    Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
    
  - Update docs landing page to follow guideline
    
    During the rocky cycle, there was a docs-spec approved [0] with the goal
    of having a recommended consistent documentation landing page for all
    projects.
    
    This updates our docs landing page to follow the structure described in
    that recommendation.
    
    [0] http://specs.openstack.org/openstack/docs-specs/specs/rocky/front-page-template.html
    
    Change-Id: I0f31c59e6b39ab8d9c0009f72967c793dadbed64
    
  - Merge "api-ref: Change extensions updated type to updated_at"
  - Merge "Remove source_replica info from api-ref"
  - Merge "Fix CLI output examples"
  - Increase the length of resource property in quota_usages
    
    When updating the volume type, the length of the name is checked to be
    0-255. If the user input length is 255 characters
    (e.g. volume_type_name='X*255'), when synchronizing the quota resource,
    the resource name needs to be updated to the form of 'resource +
    volume_type_name' in quota_usages [1], because the resource attribute in
    the DB is set to 'String(255)', the length limit is exceeded.
    
    Therefore, the resource column attribute in the quota_usages database table
    needs to be changed from 'String(255)' to 'String(300)'.
    
    [1]https://github.com/openstack/cinder/blob/master/cinder/db/sqlalchemy/api.py#L352
    
    Closes-Bug: #1798327
    Closes-Bug: #1608849
    Change-Id: I6c30a6be750f6b9ecff7399dbb0aea66cdc097da
    
  - Merge "Fix non iSCSI attach serialization"
  - Remove DeprecationWarning of "decodestring()"
    
    When running "tox -e py35", it shows:
    DeprecationWarning: decodestring() is a deprecated alias, use decodebytes()
    
    This patch helps to remove this deprecation warning by
    replacing "base64.decodestring" with "oslo_serialization.base64.decode_as_bytes".
    The same has been done for nova:
    https://review.openstack.org/#/c/610401/
    
    Change-Id: Ib3f7fc4392ca53e92ee2e421b95874dc97f04e5f
    
  - VMAX Driver - Fix for invalid device id length
    
    The external reference supplied while managing an existing device
    should be of exactly 5 digits as device ids on the VMAX array are
    of exactly 5 digits. The VMAX driver should perform a check and throw
    appropriate error.
    
    Change-Id: I06cc3e107a5b07f8f00e9a9a025a0152199092df
    Closes-bug: 1792889
    
  - Remove out-of-date configurations in setup.cfg
    
    We add the oslo_messaging.notify.drivers configuration in [1] for
    backwards compat with Havana notification_driver configuration values,
    and add the oslo_middleware configuration in [2] for backwards
    compatibility with Juno middleware configurations.
    
    But now these configuration is already out-of-date and useless, so we
    remove these configurations in this patch.
    
    [1] bcd9f363ff8a10ff30795c54f471a8c6d76450fe
    [2] c4897471777949983912676ad46ad99c42ed2b22
    
    Change-Id: I92792a98bb21e2759549949333dba82df4345c01
    
  - Merge "Remove setup.py check from pep8 job"
  - Add policy test for volume:force_delete
    
    Add policy test for volume:force_delete, and remove it from
    test policy file.
    
    This is one of the serious patches of policy-in-code test, see
    more information on [1] and [2].
    
    [1] 530fb9319ce21b7ff99e55f095c04f13f0785842
    [2] f207bac80924ffaf6d4c2a500c295d0e2e71966e
    
    Change-Id: I5a72e5ac05601cf084a9da00c4fe04b2752fed67
    
  - add missing comma
    
    Change-Id: I66462d7e0d1a87fe248e7ec8c26c58a736aa0d63
    
  - Simplify the policy test case
    
    In this patch, we extract _get_request_response method and
    common var for policy test case, and make test case simple,
    it's better for us to write follow policy test case.
    
    Change-Id: Id125a0b03d2ffadc19876fb9c6b891146266ad74
    
  - Merge "Raise the ImageTooBig exception when found it"
  - Merge "Ds8k: Mock evenlet.sleep calls"
  - Merge "Update backup flow for CephBackupDriver"
  - Merge "cinder-manage online_data_migrations fixes"
  - Fix a typo in multiattach doc
    
    Fixing a minor typo in multiattach docs
    
    Change-Id: I4ac6269c11051fb9b30c598585bdf1fe6c1a41f2
    
  - Merge "fix misspelling of available"
  - Merge "Restructure Huawei driver"
  - Merge "Handle drivers that do not support list manageable"
  - Merge "[Trivial] Fix typo in comment in delete_volume"
  - Merge "Remove deprecated HPE Lefthand config opts"
  - Merge "Ensure VNX unit tests don't sleep"
  - Merge "Remove deprecated iSCSI target config opts"
  - Merge "Increment versioning with pbr instruction"
  - Merge "Remove volume:get policy from test policy file"
  - Remove setup.py check from pep8 job
    
    Using "python setup.py check -r -s" method of checking the package has
    been deprecated with the new recommendation to build the sdist and
    wheel, then running "twine check" against the output.
    
    Luckily, there is already a job that covers this that only runs when the
    README, setup.py, or setup.cfg files change, making running this in the
    pep8 job redundant. This covered by the test-release-openstack-python3
    that is defined in the publish-to-pypi-python3 template.
    
    More details can be found in this mailing list post:
    
    http://lists.openstack.org/pipermail/openstack-dev/2018-October/136136.html
    
    Change-Id: Ia981b27852b9061c8a406e68388c60595aa528f8
    Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
    
  - Merge "Move sphinx-feature-classification to docs reqs"
  - [Trivial] Fix typo in comment in delete_volume
    
    Change-Id: I0c1367f541e38e1853bb9b3dda6260add27f09f6
    
  - Merge "Handle rbd.OSError on broken RBD image"
  - Update backup flow for CephBackupDriver
    
    Following the latest documentation, we should
    configure  class for backup_driver[1].
    
    [1] https://docs.openstack.org/cinder/latest/configuration/block-storage/backup/ceph-backup-driver.html
    
    Change-Id: I10f8eaa51d059e65ddff959b81f09cb90a065fdd
    
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: I804984acb158d38bb0d79ddd5cf4018bdabc3312
    
  - Merge "Update sphinx extension logging"
  - Merge "Set user message on volume create failure"
  - Handle rbd.OSError on broken RBD image
    
    With Rocky, cinder-volume began to fail again with another error type.
    This patch adds rbd.OSError type for exception block of
    _get_usage_info method.
    
    Change-Id: I93b8afeddae18d098fe926a3219811cc8c8d9b63
    Closes-Bug: 1698786
    
  - Merge "Imported Translations from Zanata"
  - Merge "Forbidden to revert volume to a different size snapshot"
  - Merge "Update unit test debug instructions"
  - Merge "hpe 3par driver initialization failure"
  - Merge "Handling unexpected python error "NoneType object is not iterable""
  - Merge "Add column only when it doesn't exist"
  - Fix non iSCSI attach serialization
    
    When the shared_targets concept was introduced it defaulted to True for
    any driver not reporting that capability.  This meant that the
    attachment of all volumes would be serialized even if they have no
    concept of a "shared target".
    
    This is caused because that feature was intended for iSCSI connections,
    but was applied to all connection types, introducing an unnecessary
    bottleneck on drivers like RBD or FC.
    
    This patch makes sure to check that the storage_protocol is also iSCSI.
    
    Closes-Bug: #1800136
    Change-Id: I2805e8acf560cb941ddd3454477d89fe5a13d37f
    
  - Merge "Replace openSUSE experimental check with newer version"
  - Set user message on volume create failure
    
    This patch is to log user message when volume creation fails.
    This is only for _create_raw_volume, and other patches will be
    submitted for _create_from_snapshot etc.
    
    Change-Id: I9ba87863623a9c5806e93b69e1992cabce2f13b9
    Partial-Bug: #1799159
    
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: If691126ff6e20e28384766305a8c9d07d8333d78
    
  - Merge "[minifix] Update reno formatting on Quobyte driver defaults change"
  - Merge "api-ref: Fix namespace parameter for backend capabilities"
  - Merge "Remove scsi_id from rootwrap filter"
  - Merge "Remove mount from volume.filters"
  - Merge "Remove touch command from volume.filters"
  - Merge "api-ref: add missing fields in volume group types"
  - Merge "DS8K: correct the usage for ssl method(SSLContext.wrap_socket)"
  - Raise the ImageTooBig exception when found it
    
    We add the image too big error message in [1], but when we
    call the driver.copy_image_to_volume, if the image too big
    is not re-raise.
    
    So, we need raise the ImageTooBig exception when
    driver.copy_image_to_volume is failed due to too big image,
    otherwise the NOT_ENOUGH_SPACE_FOR_IMAGE message will not
    be recorded in [2].
    
    [1] https://review.openstack.org/#/c/481107/
    [2] https://github.com/openstack/cinder/blob/f67180d/cinder/volume/flows/manager/create_volume.py#L773-L778
    
    Change-Id: I69767bcafe229b21d4381a704294f64b46a664d4
    Closes-bug: #1798088
    
  - Merge "PY3: Ensure rados.Object.read/write use byte data"
  - Move tgt targets to privsep
    
    Convert usage of tgt-admin and tgtadm to use privsep rather than
    the rootwrap wrapper.
    
    Change-Id: Ibdb94fc3aebb01fee6e2e76adeaa5d34a4af8753
    Signed-off-by: Chuck Short <chucks@redhat.com>
    
  - hpe 3par driver initialization failure
    
    do_setup call fails if the stats passed has the missing
    array_id, in such cases it should use the client login
    to fetch the array_id information.
    
    Change-Id: I36d75fbe18770d6e3ae03c05d5392f8141082a0f
    Closes-bug: #1790005
    
  - Merge "api-ref: cleanup status conditions for backup/restore APIs"
  - Merge "Drop drv_cfg from rootwrap filters"
  - api-ref: cleanup status conditions for backup/restore APIs
    
    The description for the backups API in both the v2 and v3
    reference had a generic statement that only available volumes
    can be backed up and restored, which is misleading since it
    is possible to backup an in-use volume if the force parameter
    is used.
    
    This change drops the generic statement from the high-level
    description and opts for per-API descriptions about the status
    preconditions for backup and restore operations.
    
    The v3 restore reference already mentioned the status precondition
    so the only change to that is fixing the bullet list formatting.
    
    Change-Id: Ib6c61af9ced2527884569fa15a848a215dd985b8
    Closes-Bug: #1799499
    
  - PY3: Ensure rados.Object.read/write use byte data
    
    rados.Object.write(string_to_write) [1] and rados.Ioctx.write(data) [2]
    expect to write byte data for the above named arguments.
    rados.Object.read() returns that data.
    
    Ensure that the json_meta argument passed to rados.Object.write() in
    VolumeMetadataBackup.set() is encoded as a UTF-8 bytes object and decoded
    after rados.Object.read().
    
    Also update the corresponding unit tests to ensure that metadata
    dictionaries are JSON serialized, encoded, and decoded similar to
    how the actual code behaves. [3]
    
    [1] https://github.com/ceph/ceph/blob/v13.2.1/src/pybind/rados/rados.pyx#L3984
    [2] https://github.com/ceph/ceph/blob/v13.2.1/src/pybind/rados/rados.pyx#L2641
    [3] https://bugs.launchpad.net/cinder/+bug/1798917/comments/4
    
    Change-Id: Idb225b5c84be3beac0c272ed4b8d69ebb04c5858
    Closes-Bug: #1798917
    
  - Merge "Fix multiattach set to false after retype"
  - Merge "Fix wrong uuid recognized when create group"
  - Merge "Fix unexpected behavior in _clone_image_volume"
  - Forbidden to revert volume to a different size snapshot
    
    As mentioned from original design:
    "As we support extend volumes at present, we could meet the
    case that snapshot is smaller than volume when reverting to
    snapshot and it's obviously safe to revert in that case. But we
    will still restrict to revert the volume which current volume size
    is equal to snapshot, cause we don't support shrink volume yet
    (that ability will be used in the generic method, if the driver
    don't support revert to snapshot)."
    
    So, we need add a size check before we revert a volume to a
    snapshot. If the volume size is not equal to its latest
    snapshot size, it will be raise a HTTPBadRequest(400).
    
    Change-Id: Ib3cc95a10870822b9f597d66007699fb40908b61
    Closes-bug: #1798503
    
  - [Trivial] Replace 'action' with 'command' in cinder-status doc
    
    Addressing pending comments on commit
    I2e532d313d12e60848b17e869882e52ec456929b.
    
    Change-Id: I0b4c7a273d0de17955dba04df6c7aabf42028a06
    
  - Fix unexpected behavior in _clone_image_volume
    
    Current, if we upload a snapshot-volume to image, then create
    a new volume from this image, this new volume is created from
    original snapshot rather than snapshot-volume.
    
    That means if we already make some data change on a
    snapshot-volume, then we export this snapshot-volume to image,
    this image will lose all change data.
    
    This patch try to fix this, we skip the "snapshot_id" and
    "source_volid" when we create tmp image volume.
    
    Closes-bug: 1795098
    
    Change-Id: Icf0dadc1ce4d008ff437ca5dcde1817d2e560e44
    
  - Remove scsi_id from rootwrap filter
    
    Remove scsi_id from rootwrap filter no longer being used.
    
    Change-Id: I1a3e527765c23a4b64a6493913f99e15ea25a7d4
    Signed-off-by: Chuck Short <chucks@redhat.com>
    
  - Remove mount from volume.filters
    
    Remove the mount command from volume.filters it is not being
    used anywhere.
    
    Change-Id: Iafdb783deb769cdee4028e42ec62027c8b2951d1
    Signed-off-by: Chuck Short <chucks@redhat.com>
    
  - Drop drv_cfg from rootwrap filters
    
    Drop "drv_cfg" from rootwrap filters its not being used
    anywhere.
    
    Change-Id: I10d58665d12565036d6a0dbb90743903071b3bd7
    Signed-off-by: Chuck Short <chucks@redhat.com>
    
  - Remove touch command from volume.filters
    
    Move touch to privsep and remove it from volume.filters.
    
    Change-Id: I169b45f1176537448871cf23b6362c7ffbb16fff
    Signed-off-by: Chuck Short <chucks@redhat.com>
    
  - cinder-manage online_data_migrations fixes
    
    Addresses some issues with this command:
    
    1) When used without the --max-count option, the summary table will
       always show zero migrations run, because it only accounts for the
       last batch, and the loop only exits when the last batch does no work.
    
    2) "remaining" counts cannot be accurate, given the way migrations are
       implemented, because the "found" count refers to the number of rows
       that exist in the database, not the number that still need the
       migration applied.
    
    3) In the case where no migrations are successful, but some raise
       exceptions, the command was exiting with status zero, which usually
       indicates "success". This can cause issues that cause migration
       failures to go unnoticed, especially when automated.
    
    4) When exceptions do occur, a minimally useful message is output, and
       no detail about the exception is available to the user. The exception
       detail should be logged.
    
    5) Inaccuracies in the documentation - "--max_number" should be
       "--max-count", and stale references to the "--ignore_state" option,
       which was removed in [1]
    
    The solution for (3) introduces a new exit status, 2. See release note
    for details.
    
    These changes are aligned with equivalents [2][3] for the nova-manage
    command, except for the calculation of "Total Needed" - nova seems to
    interpret the "found" count differently/inconsistently.
    
    [1] https://review.openstack.org/510201
    [2] https://review.openstack.org/605828
    [3] https://review.openstack.org/608091
    
    Change-Id: I878480eb2359625cde839b073230844acc645cba
    Closes-Bug: #1794364
    Closes-Bug: #1796192
    
  - Handling unexpected python error "NoneType object is not iterable"
    
    The glance documentation states that None (empty image) is a valid
    return value. We have to handle this outcome. Adding error handling
    helps debugging this unhandled issue
    
    Change-Id: If7c22ac4516f8c2a6ccd8bf6b6ed98409312b138
    Closes-Bug: #1798147
    
  - api-ref: add missing fields in volume group types
    
    There are some fields missing in volume group types api ref,
    https://developer.openstack.org/api-ref/block-storage/v3/#list-group-types
    
    is_public and description are missing from the response and
    sample of "List group types".
    
    Change-Id: I47c3c8279d2026f04646ceba4bd31f23519fffad
    
  - Huawei: Simplify wait_for_condition calls
    
    This simplifies the logic for waiting for conditions to be met and
    prepares things for further updates to consuming code.
    
    Change-Id: I4155eee3ec5a2db9b810674c02f5e6c9261e17fd
    Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
    
  - Update sphinx extension logging
    
    Sphinx 1.6 deprecated using the application object to perform logging
    and it will be removed in the upcoming 2.0 release. This updates our
    extensions to use the recommended sphinx.util.logging instead.
    
    Change-Id: I3b44e096c62a081e195ea22bc953d1752d7ff4b7
    Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
    
  - Restructure Huawei driver
    
    As part of further refactoring work, this pulls out common driver code
    into its own file to better organize the code.
    
    Change-Id: Ib5b52b638e27743d86106cc9859f8adeab2aab08
    Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
    
  - DS8K: correct the usage for ssl method(SSLContext.wrap_socket)
    
    Since Python 3.2 and 2.7.9, it is recommended to use the
    SSLContext.wrap_socket() instead of wrap_socket(). So the patch
    https://review.openstack.org/#/c/591608/ help to optimize it. But the
    usage of SSLContext.wrap_socket() is wrong, it caused DS8K cinder
    driver can not be initialized, so this patch will correct it.
    
    Change-Id: Ia015f3b48796dec79dd68b8d393e920a03dfa585
    Closes-Bug: 1797847
    
  - Fix: storage_pools key in Huawei Driver
    
    The storage pools key is written as storage_pool while
    getting the info from conf.
    This patch renames the key to storage_pools.
    
    Co-authored-by: zengyingzhe <zengyingzhe@huawei.com>
    
    Change-Id: I2aacec36f4d6bb69e88abe14bea689cee6057d87
    Closes-Bug: #1635500
    
  - fix misspelling of available
    
    Change-Id: I35d8b9443326479844bfc675d847210a8e932a15
    
  - Merge "Fix debug message for _copy_volume_data"
  - Fix debug message for _copy_volume_data
    
    Use the correct name of the method for a
    more clear log message.
    
    Change-Id: I7349518cd7a0cb4f4e35d94440dea1f7e3c2b416
    
  - Merge "Remove WindowsDriver mapping"
  - Merge "Fix Dell EMC Xtremeio drivers report wrong value"
  - Merge "Allow using forward slashes in metadata"
  - Allow using forward slashes in metadata
    
    The recent changes introduced in Rocky disallowed the use of forward
    slashes inside metadata which has caused software that relies on
    metadata and uses those forward slashes stop functioning, a notable
    example would be the Kubernetes cloud provider.
    
    This patch allows the usage of a forward slash in the metadata as
    well as extra specs, it is relatively harmless, unbreaks downstream
    users and we already accept a range of symbols in there anyways.
    
    Change-Id: Ibe180949205ef6985dc5c19904c127cbca361d53
    Closes-Bug: #1798798
    
  - Merge "Extract volume image metadata into volume utils"
  - Merge "Extract _get_image_metadata into volume utils"
  - Merge "api-ref: fix some inconsistencies in snapshot API"
  - api-ref: fix some inconsistencies in snapshot API
    
    https://developer.openstack.org/api-ref/block-storage/v3/index.html#list-snapshots-and-details
    
    1. updated_at is missing in the response fields of show-snapshot
       and list-snapshots
    2. id's description is "The UUID of the volume transfer.", which
       is incorrect.
    3. volume_id's description is "The UUID of the volume.", which is
       not very accurate.
    4. os-extended-snapshot-attributes:progress is something like '100%',
       so it should be string, not integer
    5. response fields of show-snapshot-metadata is incorrect.
    6. metadata is missing in the response example of update-snapshot
    7. snapshots_links is missing in the response of list-snapshot
    
    Change-Id: I0f6994c2d2dc27d3d594acdd460e27c338f86a2c
    
  - Merge "api-ref: Add response fields and response example for snapshot manage"
  - Merge "api_ref: total_capacity and free_capacity can be float"
  - Merge "api-ref: totalSnapshotsUsed in limits response should be integer"
  - Merge "Base framework for cinder-status upgrade check"
  - Base framework for cinder-status upgrade check
    
    This adds the cinder-status CLI for performing upgrade checks as part of
    the Stein cycle upgrade-checkers goal. It only includes a placeholder
    for actual checks. Follow up patches will need to be added for anything
    we identify as needing specific checking.
    
    Story: 2003657
    Task: 26123
    Change-Id: I2e532d313d12e60848b17e869882e52ec456929b
    Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
    
  - Merge "Cinder Backup: object_count value incorrect"
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: I937db30dfd897773ababc7b55370727fa6568d17
    
  - Merge "Fix for field type error"
  - Fix for field type error
    
    The data type of QuotaUsage.deleted is boolean, here assigned an
    integer to a boolean. Not good to assume 0 is the same as False.
    
    Similar sentence such as 'VolumeTypeProjects.deleted == 0' is correct
    because the type of VolumeTypeProjects.deleted is integer.
    
    Change-Id: Ia3f62c93dc2621474907906aeda0ddf1469d5c8f
    Signed-off-by: Liang Fang <liang.a.fang@intel.com>
    
  - Merge "Adding regression test for update_group"
  - Adding regression test for update_group
    
    Initially the issue was fixed here If74d23b9413209ee8db3c58fc71d215abeb580b2,
    but due to code changes, the same issue was repeated and fixed here,
    Ia43a6f2df7fd4066a0ed26450b26a1456d4cecfa.
    Addressing the comment on the latest fix, adding test case.
    
    Change-Id: I03d6214abf050e5f9a2cc5fa0772150bbbf8520e
    Related-Bug: #1645207
    
  - Merge "Mark Veritas HyperScale Driver Unsupported"
  - Merge "VMAX: set faked max_oversubscription_ratio"
  - VMAX: set faked max_oversubscription_ratio
    
    FakeConfiguration is used in VMAX tests. Without a valueset for
    max_oversubscription_ratio, this results in test failures with the
    error:
    
    "TypeError: float() argument must be a string or a number, not 'NoneType'"
    
    This adds a default value for this config option in the fake config.
    
    Change-Id: Ia0b9772823fe9d093cfafe3ee241aad5b21fc3fd
    Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
    
  - Merge "Rename cinder.privsep.utils to cinder.privsep.path"
  - Rename cinder.privsep.utils to cinder.privsep.path
    
    Rename file to path because most of these functions in the
    file have to do with filesystem paths and the like.
    
    Change-Id: I709d8f8722c6a477e50d0ee7fd9a368a16fe9cca
    Signed-off-by: Chuck Short <chucks@redhat.com>
    
  - Merge "Move cinder-manage page to cli doc subtree"
  - Move cinder-manage page to cli doc subtree
    
    Since we have a CLI reference and specific doc subtree the
    cinder-manage docs should live there. This moves the cinder-manage
    page from man/ to cli/ and adds a redirect link.
    
    Change-Id: If99416e8a382d2a6571412742276dccc591d180c
    
  - Merge "Add test-requirements to pylint reqs"
  - Add test-requirements to pylint reqs
    
    Need this for ddt, mock, etc.  pylint runs
    currently throw ImportErrors related to this.
    
    Change-Id: Ia906cd89acc9c12e4b731751763b4e9331aa80d2
    
  - Merge "SF ensure the correct volume is deleted"
  - Merge "api-ref: remove created_at from response example of list-transfer"
  - Merge "api-ref: qos and extra_spec are optional in types view"
  - Merge "api-ref: Add response fields and response example for volume manage"
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: I30fe71261e80593d626fb216485cf113fe9ab3e1
    
  - Merge "NFS Backup: Avoid TypeError in os-brick when not configured"
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: I964b9c1a4379d333a06ae2c699d1188e4ae2e4c3
    
  - Merge "Use tempest-pg-full"
  - Increment versioning with pbr instruction
    
    With moving away from required milestone releases, the version numbers
    calculated by PBR on the master branch will not work for those testing
    upgrades from the last stable release. More details can be found in the
    mailing list post here:
    
        http://lists.openstack.org/pipermail/openstack-dev/2018-October/135706.html
    
    This is an empty commit that will cause PBR to increment its calculated
    version to get around this.
    
    PBR will see the following which will cause it to increment the version:
    
    Sem-Ver: feature
    
    Please merge this patch as soon as possible to support those testing
    upgrades.
    
    Change-Id: I898f327003c68ee6f66d1a70e1b25a49336424f1
    Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
    
  - Mark Veritas HyperScale Driver Unsupported
    
    The Veritas HyperScale Driver 3rd Pary CI hasn't
    reported in 153 days.  This does not meet the requirements
    for Cinder's 3rd Party CI requirements.
    
    As a result the driver is being marked unsupported in the
    Stein release and should be removed in the 'T' release if
    the problems are not resolved.
    
    Change-Id: I4e20cdc555e9fb53dbc831f4464ccf80d9f01e7b
    
  - Merge "Fix: UnboundLocalError variable referenced before assignment"
  - Cinder Backup: object_count value incorrect
    
    Whenever we create a backup, the object_count value doesn't match
    with the actual number of objects created.
    This patch addresses the change.
    
    Co-authored-by: wanghongxu <wang19930902@gmail.com>
    
    Change-Id: I972df393fe64ca55fcdaa629f03cfc10761f0f24
    Closes-Bug: #1685731
    
  - Extract volume image metadata into volume utils
    
    The "get_volume_image_metadata" method is a common function to
    get the volume image metadata, and "enable_bootable_flag" method
    is used to enable volume bootable flag.
    
    These are also can be used by re-image interface, this patch
    extract them into volume utils.
    
    Change-Id: I37af102c95023f7ad6d23c8aa93d63d8fe6f547d
    blueprint: add-volume-re-image-api
    
  - Extract _get_image_metadata into volume utils
    
    The "_get_image_metadata" method is a common function to check
    whether we can use this image to write a volume or not.
    
    These logic also can be used by re-image interface, this patch
    extract it into volume utils.
    
    Change-Id: Ie1b9fd8b4f335f0b660984ca1b3121b2f203704d
    blueprint: add-volume-re-image-api
    
  - Use tempest-pg-full
    
    The legacy job legacy-tempest-dsvm-neutron-pg-full is now named
    tempest-pg-full - using the new tempest and Zuul v3 frameworks.
    
    Change experimental job to use new job.
    
    Change-Id: I6110790aec1f532c930753f5955f2976db6703fb
    Depends-On: https://review.openstack.org/609530
    
  - Remove the ITRI DISCO driver
    
    The ITRI DISCO driver was marked unsupported in
    the Rocky release.  It hasn't reported on a patch in
    74 days and hasn't successfully executed CI in 231 days.
    
    This falls well outside our CI requirements and therefore
    the driver is being removed.
    
    Change-Id: Iab4288983e8e13a3b9d59b30887d1934a2eb66c8
    
  - NFS Backup: Avoid TypeError in os-brick when not configured
    
    If backup_share is not set, a TypeError is raised from
    os-brick, because this code is run before the config options
    are validated.
    
    Don't try to initialize the path if this is not set.
    
    Closes-Bug: #1797227
    Change-Id: I96e104f0e0da0257c48bbaffc2b436f670ccdb76
    
  - [minifix] Update reno formatting on Quobyte driver defaults change
    
    Corrects formatting as requested in comment of previous
    change I0ce20e109f126500462e6459794e993bbd579b58 .
    
    Change-Id: Ibf3faa12ef3964071b39fe38b2724162b3ddb770
    
  - api-ref: totalSnapshotsUsed in limits response should be integer
    
    https://developer.openstack.org/api-ref/block-storage/v3/index.html#show-absolute-limits-for-project
    
    totalSnapshotsUsed in limits response should be integer, but
    not string. And totalSnapshotsUsed is also used in hosts response
    which is string, so this is to add a new parameter for totalSnapshotsUsed.
    
    Change-Id: I48f61f50defe9782d5a7afb7d7fa245f562785a0
    
  - Add column only when it doesn't exist
    
    Add existence check before actually create the specific column.
    
    Closes-Bug: #1797286
    
    Change-Id: I7ecd65b2da3700bb02fd12d9f700260f2b708f45
    
  - Remove volume:get policy from test policy file
    
    There is a policy file maintained specifically for testing that
    overrides the default policies so that they are easier to test
    against. Ideally, we should make it so that it easier to test the
    default policies instead of overriding them since this would help us
    prevent regression when policies are change. An example of how to do
    this was implemented in the following patch:
    
      I88354ec57849e59764b1f5b0233be4fa1ef70c38
    
    The more tests cases that are covered like that, the more policies we
    can remove from cinder/tests/unit/policy.json. Once that file is empty
    we should have satisfactory test coverage of the default policies that
    are maintained in code.
    
    Change-Id: Ia6c2e51fa88811e04f1c312f003b7b2524d90072
    
  - Replace openSUSE experimental check with newer version
    
    We're migrating now to openSUSE 15.0 (yes, 15.0 is newer than 42.3),
    remove legacy job and replace with native Zuul v3 job running python3.
    
    Change-Id: If7e1b1108acb7a7f8b6b7524213ba5dae5560b53
    Depends-On: https://review.openstack.org/609359
    
  - Merge "Fix for cinder-manage db purge"
  - Merge "Get rid of keys() usage"
  - Fix for cinder-manage db purge
    
    When backend database is postgresql, "cinder-manage db purge" will throw
    an exception. The root cause is that "deleted" column in table
    quality_of_service_specs is of type boolean, but it is compared with an
    integer. In mysql, there's no such issue because boolean in mysql is
    tinyint(1).
    
    Some logs:
    DBAPIError exception wrapped from (psycopg2.ProgrammingError) operator
    does not exist: boolean = integer
    
    Closes-Bug: #1797048
    
    Change-Id: I05b0edef4cc56518e99622599f01dbd6280a7f1b
    Signed-off-by: Liang Fang <liang.a.fang@intel.com>
    
  - Follow Up: Generalizing is_replicated_str to is_boolean_str
    
    Addressing the comment on the
    commit Ic6c19414738367aa794522aaa0c1a963abcac723, the method
    is_replicated_str consists the functionality of checking if the
    string is valid boolean type or not which is being used for purposes
    other than checking for replicated string.
    This patch generalizes the name of the method.
    
    Change-Id: Id299aeeea06a54d97fef2d8b0cabb83b7a518e19
    
  - api-ref: Add response fields and response example for snapshot manage
    
    https://developer.openstack.org/api-ref/block-storage/v3/index.html#manage-an-existing-snapshot
    Response fields and response example are missing in the
    "Manage an existing snapshot" api ref, this is to add them.
    
    Change-Id: I5a3f397e1a4d7e38d35b707f3c164ef7522aea95
    
  - Merge "Remove udevadm from rootwrap"
  - Merge "Add tests for multiattach check in cinder.objects"
  - Merge "API-REF:os-quota-sets v2 API reference has the wrong parameters"
  - Merge "api-ref: add missing response body for groups"
  - api-ref: remove created_at from response example of list-transfer
    
    created_at is only present in "List volume transfers and details", 
    and not in "List volume transfers for a project".
    https://developer.openstack.org/api-ref/block-storage/v3/index.html#list-volume-transfers-for-a-project
    https://developer.openstack.org/api-ref/block-storage/v3/index.html#list-volume-transfers-and-details
    
    So created_at should be removed from the response example of
    "List volume transfers for a project".
    
    Change-Id: I52a81454a995920c1ba5534fea3d50f6c9986881
    
  - Merge "Stop using deprecated rpc_backend option"
  - Merge "Remove the HGST Flash Storage Driver"
  - Merge "Fix doc output examples"
  - Merge "Don't quote {posargs} in tox.ini"
  - Handle drivers that do not support list manageable
    
    Listing manageable volumes and snapshots is not a required feature for
    drivers and not all of them support it. If a user attempts to list
    objects when using a backend that does not support it, they currently
    get a somewhat cryptic and internally-exposing error message:
    
    AttributeError: 'RBDDriver' object has no attribute 'get_manageable_snapshots'
    
    This updates the manager to better handle the case where a driver does
    not support listing volumes and snapshots.
    
    Closes-bug: #1796784
    
    Change-Id: Ib6cdbe22ad22841c7a166f722eee981913396af4
    Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
    
  - Fix doc output examples
    
    Update the response of openstack volume service list
    
    Change-Id: Ib5427827862c88bfe4b4cf7e649b7d60884337ca
    
  - Fix: UnboundLocalError variable referenced before assignment
    
    The variable used inside the try block is also used in the except
    block for logging volume id which errors out to
    UnboundLocalError: local variable 'add_vol_ref' referenced before
    assignment.
    This patch addresses the issue by using the volume id from the
    for loop.
    
    Change-Id: Ia43a6f2df7fd4066a0ed26450b26a1456d4cecfa
    Related-Bug: #1645207
    
  - api-ref: Add response fields and response example for volume manage
    
    https://developer.openstack.org/api-ref/block-storage/v3/index.html#manage-an-existing-volume
    Response fields and response example are missing in the
    "Manage an existing volume" api ref, this is to add them.
    
    Change-Id: If624b672d1723a7226741da85802de87979f6c12
    
  - Merge "Fix wrong NotFound in get_by_name_or_id"
  - api_ref: total_capacity and free_capacity can be float
    
    Some drivers will report total_capacity and free_capacity
    as float, so this is to change the data type description to
    include floating point.
    
    Change-Id: Icd206ba3733adf9543a9e1384ef7245e287ee858
    
  - Stop using deprecated rpc_backend option
    
    oslo.messaging deprecated the rpc_backend option long ago, but it was
    still being used in cinder unit test configuration fixtures. oslo.messaging
    9.0.0 finally removed that option, so now the tests are failing.
    
    This change replaces use of rpc_backend with the corresponding
    transport_url option that as recommended at:
    
    https://docs.openstack.org/oslo.messaging/latest/configuration/conffixture.html
    
    It also removes a redundant setUp() override.
    
    Change-Id: I7cc823e96da1fd38ba28650b72a358e792d7c892
    Closes-Bug: #1796759
    
  - Don't quote {posargs} in tox.ini
    
    Quotes around {posargs} cause the entire string to be combined into one
    arg that gets passed to stestr. This prevents passing multiple args
    (e.g. '--concurrency=16 some-regex')
    
    Change-Id: I8ce3c403904ea1c6990f88d52c1c1a068aaed75a
    
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: If7e7030bb9073e92a2f8fc034c1dc6349fcada5f
    
  - api-ref: qos and extra_spec are optional in types view
    
    As Felipe commented in I7ef9b3ea989d65dbd6dfa291ab4752664ed5f935,
    extra_specs and qos_specs_id are only populated following policy
    authorization: e1d8ec8b26/cinder/api/v2/views/types.py (L31)
    So this is to make them optional.
    
    Change-Id: I6f5103b7333b80b9651c279053dbdecd4574c18b
    
  - Fix wrong uuid recognized when create group
    
    We can't create a group with a uuid format name volume type,
    there is a uuid check in "volume_types_get_by_name_or_id()",
    and the uuid-like type name would be mistakenly recognized as
    a id, finally, it will use "get_volume_type"(by_id) to get
    volume type and cause a 404 error.
    
    So, this patch try to fix this error, if we can't find a
    type by uuid, we need call "_volume_type_get_by_name" to check
    again can we get this type by name.
    
    Change-Id: Id09230bffc0ad83093bb6254b2e09aca5d1c58b1
    Closes-bug: #1794716
    Related-bug: #1794237
    
  - Merge "Remove sg_scan"
  - api-ref: Fix namespace parameter for backend capabilities
    
    This patch set corrects the namespace parameter for capabilities
    api-ref from namespace [0] to namespace_1 which is the correct
    one as it is both required and matches the following format
    in the view code [2]:
    
        The storage namespace, such as
        ``OS::Storage::Capabilities::foo``.
    
    [0] 7f7716d584/api-ref/source/v3/parameters.yaml (L1945)
    [1] 7f7716d584/api-ref/source/v3/parameters.yaml (L1951)
    [2] af41c04d0f/cinder/api/views/capabilities.py (L31)
    
    Change-Id: I0557b32e7e3752e8fcde5dadd621c82fded1e755
    
  - Merge "Imported Translations from Zanata"
  - Merge "Mark the Nexenta Edge driver unsupported"
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: I56b4e73776a90f1aec27f366fbb34f4596f95787
    
  - Merge "Mark the Tintri driver unsupported"
  - Merge "nimble storage: support for force detach"
  - SF ensure the correct volume is deleted
    
    When two management systems are available openstack/cinder and
    SolidFire-API/GUI  a volume can be deleted though either interface. Thus
    if a volume is deleted through the SolidFire-interface and then again
    through the openstack/cinder interface it was possible to delete another
    volume.
    
    The original code made an incorrect assumption on all the possible values returned
    from a query to find the target volume. This could lead to deleting a
    volume that was not the target of the original delete command from openstack/cinder.
    
    The correction in the module _get_sfvol_by_cinder_vref  validates that the
    returned object/volumes-id matchs the requested volume-id with a
    comparison of svol['volumeID'] to int(sf_vid)
    
    Closes-Bug: #1782373
    Change-Id: I92a8e76c64c4e23dd185875e009132938ace5091
    
  - Merge "Remove resolve_hostname"
  - Mark the Nexenta Edge driver unsupported
    
    The Nexenta Edge 3rd Party CI hasn't reported
    on successfully on a patch in over 4 months.  This
    falls outside the CI requirements for Cinder so the
    driver is being marked unsupported.  If the CI isn't
    fixed the driver will be removed in the 'T' release.
    
    Change-Id: If6d5f09865835e06b11961911246d72eac769a46
    
  - Merge "Move check_encryption_provider to volume utils"
  - Mark the Tintri driver unsupported
    
    The Tintri 3rd Party CI system hasn't reported
    in almost 4 months.  This doens't meet Cinder's
    3rd Party CI requirements so the driver is being marked
    unsupported.  It will be removed in the 'T' release
    if the problem isn't resolved.
    
    Change-Id: I8cf2bc860dceff1d4041ac02812beb688e6dee36
    
  - Remove source_replica info from api-ref
    
    With the addition of schema validation and the release of cinderclient
    4.0.0 we no longer accept source_replica as a volume creation parameter.
    This was part of the short lived replication v1 functionality that was
    removed several releases ago and never had support beyond one backend
    type for one or two releases and has had no affect for quite a while
    now.
    
    Change-Id: Idd848628759884c1e637ca17dc292f776e4adf47
    Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
    
  - Remove sg_scan
    
    Brick was moved to os-brick so remove sg_scan
    from rootwrap and associated documentation.
    
    Change-Id: I56d67ebd24f3af74f26100b2d8fba3868b1acdbb
    Signed-off-by: Chuck Short <chucks@redhat.com>
    
  - Update unit test debug instructions
    
    Since we've moved to stestr, the test debugging instructions we had
    published in our documentation do not actually work anymore. This
    updates those instructions to show a couple possible methods that can be
    used to perform test debugging.
    
    Change-Id: I9946da0c0d9aa247ff820ee6c02e57bf86a2747d
    Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
    
  - Merge "Add 'volume_attachment' to volume expected attributes"
  - Merge "Remove cinder-tox-compliance job"
  - Merge "VMAX docs - Replace serial_number"
  - Merge "Add missing 'is_public' volume type parameter"
  - API-REF:os-quota-sets v2 API reference has the wrong parameters
    
    The request/response parameters for the v2 os-quota-sets API
    reference is copied from the compute API and is therefore wrong
    for the block storage API:
    https://developer.openstack.org/api-ref/block-storage/v2/#quota-sets-extension-os-quota-sets
    
    This patch replaces the wrong response with the correct parameters.
    
    Change-Id: I6df1d60843943c99505a735a6dec4f47270a1c2e
    Closes-Bug: #1794125
    
  - VMAX docs - Replace serial_number
    
    Replace serial_number with generic number in metadata
    
    Change-Id: Ia23b8052777a1af9cc3bd515d60b2fc3f78dac8e
    
  - Remove the HGST Flash Storage Driver
    
    The HGST Flash Storage Suite Driver was marked unsupported
    in the Rocky release.  Since being marked unsupported the
    3rd Party CI still has not reported for 427 days.
    This does not meet Cinder's CI requirements so the driver
    is being removed.
    
    Change-Id: I91f511d0727da1bad77ee913afe0a0f137d289f8
    
  - Add missing 'is_public' volume type parameter
    
    This adds the 'is_public' parameter to the api-ref for volume type
    details when listing all volume types.
    
    
    Change-Id: I23032d3d02fd0e9bc1d32b0ac5a1a111c5fc2a2c
    
  - Merge "Fujitsu DX: Add retries for busy error"
  - Merge "Fix wrong filter of backups in db api"
  - Merge "Fix pylint warning"
  - Merge "Changed default behaviour of nas_secure_file_* for Quobyte driver"
  - Merge "hosts api ref: all fields should be of type string"
  - Merge "api-ref: clarify volume_type param in volume create API"
  - Merge "api-ref: fix req/resp params for v3 os-quota-class-sets"
  - Merge "Remove systool from rootwrap"
  - Merge "api-ref: remove encryption from Show-an-encryption-type"
  - Merge "Raise HTTPUnsupportedMediaType when content type is unsupported"
  - Merge "VMAX Driver - Fix for manage volume if volume is part of SG"
  - nimble storage: support for force detach
    
    nimble storage driver doesn't handle force detach with empty connector
    information in terminate connection. The fix takes care of empty connectors
    and removing all ACL's on the volume if connector information is absent
    
    Change-Id: I74a5b48c414db2b5b9e27d986d776d7c2ae3f383
    Closes-Bug: #1795070
    Signed-off-by: Raunak Kumar <rkumar@nimblestorage.com>
    
  - Merge "Update Dell EMC Driver's multi-attach Support"
  - Merge "nimble storage: retype support"
  - Merge "VMAX Driver - Rollback for manage existing volume"
  - Merge "api-ref: total/free_capacity should be with postfix _gb"
  - Merge "NetApp SolidFire: Fix force_detach"
  - Merge "Fix DRBD volume driver creating a 2-volume resource"
  - Merge "api-ref: namespace in extensions is optional"
  - Merge "services api ref: fix field enum value and add missing field"
  - Merge "Use Tempest slow job to run all slow tests"
  - Merge "Enable split logging for cinder-keystoneclient interaction"
  - Merge "Add False check when do _retype_error"
  - Merge "Correct the link of 'OpenStack Documentation Contributor Guide'"
  - Merge "Xtremio: Remove unused constant"
  - Merge "Update auth_uri option to www_authenticate_uri"
  - Merge "Add delete snapshot preconditions"
  - nimble storage: retype support
    
    retype support between 2 nimble backends with and
    without migration
    - update the provider location for fetching the
    correct discovery ip for volume discovery
    - prevent failures on snap deletetion / offline
      as they could already be in those states
    
    Change-Id: If21bd6c6aa9cef45f57f32034e26502cd02743b2
    Closes-Bug: #1790907
    Signed-off-by: Raunak Kumar <rkumar@nimblestorage.com>
    
  - Use Tempest slow job to run all slow tests
    
    tempest-slow job run all the slow tests including API
    or scenario slow tests. By running this job will help to
    avoid any regressions across projects.
    
    This new job "tempest-slow" will run as voting on check pipeline
    and same job run on nova and neutron gate.
    
    Tempest also run "tempest-slow" as voting job.
    
    Detailed discussion on ML[2].
    
    [1] http://git.openstack.org/cgit/openstack/tempest/tree/.zuul.yaml#n147
    [2] http://lists.openstack.org/pipermail/openstack-dev/2018-May/130394.html
    
    Change-Id: Ifb982a464fdd8313c1172b9ada674c436d73fecc
    
  - api-ref: Change extensions updated type to updated_at
    
    This changes the updated type to be updated_at (the updated
    type is just a string whereas updated_at is iso-8601 formatted
    string).
    
    This change is consistent with:
    
    * examples for os-extensions in API docs [0]
    * Nova API docs for os-extensions [1]
    
    [0] https://developer.openstack.org/api-ref/block-storage/v3/index.html#id6
    [1] https://developer.openstack.org/api-ref/compute/#id402
    
    Change-Id: I806dbc66f35fd0d9209c25c35adc2d64f5b9f8ed
    
  - api-ref: remove encryption from Show-an-encryption-type
    
    https://developer.openstack.org/api-ref/block-storage/v3/index.html#show-an-encryption-type
    encryption is not a field in the response of "Show an encryption type",
    this is to remove it.
    
    Change-Id: Ie344e6f988cf71e97272910e84e0034ab8c317ff
    
  - hosts api ref: all fields should be of type string
    
    I512bfc97a1c3d4a508daf580d99fefe2a9ae4e13 tries to add
    schema validation for volume hosts, and there are some
    inconsistencies in api ref doc.
    https://developer.openstack.org/api-ref/block-storage/v3/index.html#show-host-details-for-a-project
    as the Response Example shows, all fields should be of
    type string, not integer.
    
    Change-Id: I8c6c50be45a1c923a8b7091d14cd5ae994d6e2cc
    
  - Remove systool from rootwrap
    
    Remove systool from rootrwrap its no longer being used.
    
    Change-Id: I3ef59743f2a240a0a15452d9532ca18cf0f4dcab
    Signed-off-by: Chuck Short <chucks@redhat.com>
    
  - Add tests for multiattach check in cinder.objects
    
    There doesn't exists a test for multiattach check in the
    cinder.tests.unit.objects.test_volume_types.TestVolumeType class.
    This patch adds the respective tests.
    
    Change-Id: Ic6c19414738367aa794522aaa0c1a963abcac723
    
  - Merge "api-ref: add missing fields in volume types"
  - Merge "Clean up the deprecated description in doc"
  - Clean up the deprecated description in doc
    
    The nova-objectstore and nova-network is already deprecated.
    
    This patch remove these deprecated description.
    
    trivial_fix
    
    Change-Id: I2967e9f836c07d09749e4db023a2bbf1b5c91fe3
    
  - Fix wrong NotFound in get_by_name_or_id
    
    When we create or retype a volume using the volume type which
    has a uuid format type name, the operation would be failed and
    raise a 404 error.
    
    There are a uuid check in "get_by_name_or_id()", and the
    uuid-like type name would be mistakenly recognized as a id,
    will use "get_volume_type"(by_id) to get volume type .
    
    So, this patch try to fix this error, if we can't find a
    type by uuid, we need call "get_volume_type_by_name" to check
    again if we can get this type by name.
    
    Co-Authored-By: Yikun Jiang <yikunkero@gmail.com>
    
    Closes-Bug: #1794237
    Change-Id: I83f12a5b858aced117286e8d2dee717d14dbdba6
    
  - api-ref: add missing response body for groups
    
    1. https://developer.openstack.org/api-ref/block-storage/v3/#create-group
       "Create group" should have response body, like
        {
    	"group": {
    		"id": "2c311e17-9daa-4229-926a-cb9e233f06b0",
    		"name": "tempest-GroupsTest-Group-938181552"
    	}
        }
    
    2. https://developer.openstack.org/api-ref/block-storage/v3/#create-group-from-source
       "Create group from source" should have response body, like
        {
            "group": {
                    "id": "2c311e17-9daa-4229-926a-cb9e233f06b0",
                    "name": "tempest-GroupsTest-Group-938181552"
            }
        }
    
    3. https://developer.openstack.org/api-ref/block-storage/v3/#show-group-details
       group_type in "Show group details" or "List groups with details"
       or "Create group" should be an uuid string, not object.
    
    4. group_snapshot_id and source_group_id should be optional in the
       response of "Show group details".
    
    Change-Id: Iea0c8f0f6fec1b8460c4ea53ed6468adbc31abf2
    
  - Fix CLI output examples
    
    Update the response of openstack volume list and openstack
    availability zone list
    Change-Id: Iafdcb217221a7c2174091c675357769d5d998e29
    
  - Merge "Add test case: create volume from source volume"
  - Fix multiattach set to false after retype
    
    The return value of get_by_name_or_id in the volume_types module
    returns a dictionary.
    During the function call to _is_multiattach, the getattr() returns
    {}(default value) because a dictionary is passed instead of an object.
    After importing the cinder.objects.volume_type module,
    the current function call to get_by_name_or_id() returns an object
    hence getattr() will return the appropriate extra_specs instead of
    the default value({}).
    
    Closes-Bug: 1790840
    Change-Id: I869bc0c9b18887da1ea83f855d255557f0f3cba0
    
  - Merge "Fix backup driver configuration examples in the documetation"
  - Merge "Adding variable for total gigabytes used by snapshot param"
  - Update Dell EMC Driver's multi-attach Support
    
    Updated Dell EMC SC driver for the
    multi-attach support. We will be enabling the multi-attach
    feature in the third-party CI as well.
    
    Change-Id: I113281fb636399318563241abcfa14da84808b9c
    
  - Fix backup driver configuration examples in the documetation
    
    Since iI3ada2dee1857074746b1893b82dd5f6641c6e579 is merged we must use
    class name for backup driver configuration instead of module name.
    
    Change-Id: Ia1388866107f79e31512fa2afd0ece0c2b279026
    
  - api-ref: add missing fields in volume types
    
    There are some fields missing in volume types api ref,
    1. https://developer.openstack.org/api-ref/block-storage/v3/index.html#show-volume-type-detail
    "os-volume-type-access:is_public" and "qos_specs_id" are missing
    from the response of "Show volume type detail".
    
    2. https://developer.openstack.org/api-ref/block-storage/v3/index.html#update-a-volume-type
    "id" is missing from the response of "Updates a volume type."
    
    Change-Id: I5f24a344755124fbc429f43a6970be00592a8ef2
    
  - api-ref: total/free_capacity should be with postfix _gb
    
    https://developer.openstack.org/api-ref/block-storage/v3/index.html#list-all-back-end-storage-pools
    free_capacity and total_capacity in "List all back-end storage pools"
    should be free_capacity_gb and total_capacity_gb
    
    Change-Id: Ic0690d12147fa63b903f3442eccde88c1d501711
    
  - Merge "Exclude disabled API versions from listing"
  - api-ref: namespace in extensions is optional
    
    https://developer.openstack.org/api-ref/block-storage/v2/index.html#list-api-extensions
    namespace in the response of "List API extensions" should be optional.
    
    Change-Id: Ie2351adcb8f1c30c791de7463e3bedb86200c357
    
  - Merge "Fix image volume cache max size and max count limits"
  - Fix pylint warning
    
    Multiple isinstance calls can be merged into one for better
    readability.
    
    Change-Id: Ib1a5c3e28acad1f9f13b981612422d9c4c2b4986
    Signed-off-by: Chuck Short <chucks@redhat.com>
    
  - Exclude disabled API versions from listing
    
    The code for listing supported API versions would return a static list,
    whether those versions were enabled or not. This changes the logic to
    drop versions that are not enabled so we don't report back support for
    something that then would cause a failure if the user tried to use it.
    
    Closes-bug: #1788039
    
    Change-Id: I52c1264b3b67a5c1ea00de1c0de5bea04c3096ee
    Co-Authored-By: iain MacDonnell <iain.macdonnell@oracle.com>
    Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
    
  - Merge "Remove unecessary pass"
  - Merge "Fix bug of renaming volume with same name"
  - Merge "Add comment to online data migration command"
  - Enable split logging for cinder-keystoneclient interaction
    
    To enable split logging functionality[1], 'split_loggers' conf option
    can be passed in below two ways:
    
    1. As 'split_loggers' is already registred in [default] and [service_user]
    group of cinder.conf we can use it while creating keystoneclient.
    2. Register 'split_loggers' conf option in keystonemiddleware[2] so that we
    can get it in [keystone_authtoken] group of cinder.conf and use it while
    creating keystoneclient.
    
    In this patch we are passing it from [service_user] group at the time of
    creating keystoneclient.
    
    [1]: https://review.openstack.org/#/c/505764/
    [2]: https://review.openstack.org/#/c/578008/
    
    Change-Id: Ic4972c6ebcac7115133ff7e906f756e68588a7b5
    
  - Merge "ZFSSA iSCSI implement get_manageable_volumes()"
  - Merge "Fix some inconsistencies in qos-specs api ref"
  - Merge "Fix some inconsistencies in messages api ref"
  - Merge "Fix deprecation warnings"
  - Merge "Fix api-ref title levels and index"
  - Merge "Drop legacy backup service support"
  - Merge "Avoid using dict.get() in assertions"
  - Merge "api-ref: add docs for os-migrate_volume API"
  - Remove unecessary pass
    
    Remove unecessary "pass" where they are not needed.
    
    Change-Id: I200a3c0e40720cd53694ae157861d62dee42ab1f
    Signed-off-by: Chuck Short <chucks@redhat.com>
    
  - Merge "Add policy granularity to the encryption API"
  - Merge "api-ref: mark name as optional in volume create API"
  - Merge "ZFSSA handle manage nonexistent volume"
  - VMAX Driver - Fix for manage volume if volume is part of SG
    
    If the volume being managed is already a part of some FAST managed SG
    then the VMAX driver should move the volume from this SG to the
    default SG corresponding to the volume type. If the volume is part of
    multiple SGs then the manage operation should fail
    
    Change-Id: I3aeb6a815079cb3e637d3f559952f782974f07ed
    Closes-bug: 1792886
    
  - Merge "Propose example volume protection tests"
  - api-ref: clarify volume_type param in volume create API
    
    The volume_type parameter to the volume create API can be
    either the volume type name or ID, the cinder-api will look
    it up either way. This wasn't obvious from the API reference
    and required digging into the code to figure it out. This change
    simply clarifies the usage in the API reference.
    
    Change-Id: Iae8c43374dee9767e17252279822ccd2121d8246
    
  - api-ref: fix req/resp params for v3 os-quota-class-sets
    
    The volume-type parameter in the update quota class sets
    API reference was confusing. The volume_type is a namespace
    on quota class values for snapshots, volumes and gigabytes.
    The os-quota-sets API reference had this documented correctly,
    so the os-quota-sets parameter values are re-used here for
    os-quota-class-sets.
    
    Change-Id: I6e8993f909834797572ec4b911bf709c3701fff1
    Closes-Bug: #1794120
    
  - api-ref: mark name as optional in volume create API
    
    The "name" parameter to the volume create API is optional,
    this makes the docs reflect that. While in here, I've
    renamed volume_name_1 to volume_name_optional so the variable
    name is descriptive and dropped the redundant name_8 variable.
    
    Change-Id: Ice42f06112a268b229f770f34096de19eb3447b2
    Closes-Bug: #1794115
    
  - Fix DRBD volume driver creating a 2-volume resource
    
    When DBus runs into a timeout somewhere, the Cinder volume
    driver will erroneously create a resource with two volumes in it.
    Repeating the create volume operation will check for duplicate
    entry and will avoid creation of additional volume.
    
    Change-Id: I798487f0fda94da3247bf2c341b6a91a8a06d848
    Closes-Bug: #1613690
    
  - ZFSSA iSCSI implement get_manageable_volumes()
    
    Implement get_manageable_volumes() to augment existing implementation
    of volume manage/unmanage.
    
    Change-Id: I19d94c13288dd574f6eafaf3fb430c3452961ce5
    Closes-Bug: #1793599
    
  - Merge "Imported Translations from Zanata"
  - Get rid of keys() usage
    
    for x in some_dict.keys() can be written as for x in some_dict
    
    Change-Id: I9cdb3e6802fbf85fe49f3855ccc2a68ce5cc56c4
    Signed-off-by: Chuck Short <chucks@redhat.com>
    
  - Merge "EMC ScaleIO driver does not honor create from snapshot volume size"
  - Merge "Update doc for get-pools API"
  - Merge "Remove auth_uri usage"
  - Merge "VMware: Fix revert-to-snapshot"
  - Merge "VMware: Remove member initialization in properties"
  - Merge "ZFSSA iSCSI driver doc fix - allow_rename auth/o"
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: I69c242df3897c4093f333e106a0920e913a913b8
    
  - Fix bug of renaming volume with same name
    
    If the volume is already in the pool, renaming causes exception.
    It failed because of ImageExists.
    
    Change-Id: I81951da141ed7948e48b92da718b3a0e9c12e859
    Closes-Bug: #1792339
    
  - Merge "Fix pylint warnings for "unnecessary not""
  - Merge "Remove os-image-create API extension"
  - Merge "Dell PS Driver moves to maintenance mode"
  - Merge "trival: Fix some spacing issues"
  - Merge "Fix typo"
  - Merge "Add microversion history to api-ref"
  - Merge "[Optimize] Use OVO when retrieve volume object"
  - Merge "Remove aoe-revalidate, aoe-discover, aoe-flush"
  - Fix some inconsistencies in qos-specs api ref
    
    I433c78821185600a230803cddec54a5d264c2ca5 tries to add response
    schema validation for qos-specs interfaces, and there are some
    inconsistencies in api ref:
    1. https://developer.openstack.org/api-ref/block-storage/v3/index.html#create-a-qos-specification
       Create a QoS specification has no response sample.
    2. https://developer.openstack.org/api-ref/block-storage/v3/index.html#get-all-associations-for-a-qos-specification
       Get all associations for a QoS specification has incorrect response
       fields description and incorrect response sample.
    
    Change-Id: Ib5c9b3a15ee2ca40c19e7a530d1ff5351d3dcaf8
    
  - Merge "Fix typos in volume api ref doc"
  - Propose example volume protection tests
    
    During the Stein PTG there was a session to discuss ways to make it
    easier to ensure we can change policies without breakages. Ideally,
    having a series of test classes than ensure the policy being using to
    protect an API is exercised using the oslo.context and olso.policy
    libraries.
    
    This commit attempts to build out a set of example test cases that can
    be used to increase test coverage in this area.
    
    Change-Id: I88354ec57849e59764b1f5b0233be4fa1ef70c38
    
  - services api ref: fix field enum value and add missing field
    
    I62072573624c9e579a61affed6a7f8d57a6fdb6d tries to add schema
    validation for volume services, and there are some inconsistencies
    in the api ref doc.
    
    https://developer.openstack.org/api-ref/block-storage/v3/#list-all-cinder-services
    1. As Response Example shows, status takes the value of enabled
       or disabled, not available/unavailable.
    2. response may contain backend_state field which is optional.
    
    Change-Id: I2435e3dc7c704de158b479d2ea543409b7686a07
    
  - ZFSSA iSCSI driver doc fix - allow_rename auth/o
    
    Volume manage/unmanage implementation requires allow_rename
    authorization. Update configuration doc to reflect this.
    
    Change-Id: Id83cf7d1cf62815794a804f765919839fa56296d
    Closes-Bug: #1793409
    
  - ZFSSA handle manage nonexistent volume
    
    Fix handling of attempt to manage a volume (LUN) that doesn't exist
    on the ZFSSA backend.
    
    Change-Id: I9668667b98daeddc5beb12a0ba3e944d151fd42e
    Closes-Bug: #1793402
    
  - Merge "ZFSSA volume driver REST client python3 fixes"
  - Adding variable for total gigabytes used by snapshot param
    
    Refering to the host details API doc
    https://developer.openstack.org/api-ref/block-storage/v3/index.html#show-host-details-for-a-project
    snapshot_count and total_snapshot_gb are two different values,
    but have been assigned the same variable as can be seen here,
    https://github.com/openstack/cinder/blob/master/api-ref/source/v3/hosts.inc
    This patch adds a new variable for total_snapshot_gb param.
    
    Change-Id: I5727df835456bfa0ca63e253ddc700182b7cd85c
    
  - [Optimize] Use OVO when retrieve volume object
    
    Use OVO instead of db object when collecting
    volume resource.
    
    Change-Id: I7645090cdb8c96468a8801a3ec5cb214eaca2e05
    
  - Merge "VMAX Rocky doc - version information"
  - Add microversion history to api-ref
    
    This pulls in our microversion history document into the api-ref to make
    it easier for api consumers to discover the history of API changes.
    
    Change-Id: I9033a48e3f60199b60a904c8cf028f4a1e037ec3
    Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
    
  - Dell PS Driver moves to maintenance mode
    
    We are moving Dell PS Driver to maintenance mode
    and will be removed from the tree in S release.
    
    Change-Id: Ic4fef5176766578d4f9e0fdc4e80a2dedfb242c4
    
  - Remove udevadm from rootwrap
    
    Use oslo.privsep for udevadm
    
    Change-Id: Ib89354c9555c4b2c9f5a8331a788d7fe4ac46694
    Signed-off-by: Chuck Short <chucks@redhat.com>
    
  - VMAX Rocky doc - version information
    
    Updating version information and adding supported features.
    
    Change-Id: Ib19433d7d694f70cf47f2e654d02c19fc89e8469
    
  - Fix some inconsistencies in messages api ref
    
    I512bfc97a1c3d4a508daf580d99fefe2a9ae4e13 tries to add response
    schema validation for messages interfaces, and there are some
    inconsistencies in api ref:
    1. delete message success code is 204, not 202
    2. id is of the format uuid, which means string, not integer.
    
    Change-Id: I13280bf158f541ed0514930274df8c03a0f81c4c
    
  - Fix typos in volume api ref doc
    
    This is to fix typos in volume api ref doc.
    
    Change-Id: Ie861548a02ccdd6229edec682c3e4c2d6be084c7
    
  - Remove aoe-revalidate, aoe-discover, aoe-flush
    
    Remove from rootwrap.d/volume.filters since they are
    not being used anywhere.
    
    Change-Id: I0cabd55bcef569212ac0e2c188051e62ee265c22
    Signed-off-by: Charles Short <chucks@redhat.com>
    
  - Merge "3PAR: Update Storage Driver docs"
  - Merge "Move hscli to privsep"
  - VMAX Driver - Rollback for manage existing volume
    
    Implements rollback for manage existing volume for the scenario
    when the manage operation fails after the volume has been already
    renamed on the array
    
    Change-Id: I40f861819d8ce43a128d411ff58a1a703d8b1e0b
    Closes-bug: 1792884
    
  - ZFSSA volume driver REST client python3 fixes
    
    1) Although it's unlikely that non-ASCII characters would ever appear in
    API requests, encode/decode("utf-8") handles bytes vs. strings.
    
    2) In python2, HTTPMessage.getheader() was equivalent to
    HTTPMessage.get(), but only the latter is available in python3.
    
    Change-Id: I3fce732e46ae3d16d753af053883520ee7b1f10a
    Closes-Bug: #1792839
    
  - Fix image volume cache max size and max count limits
    
    Fix the code that enforces the image volume cache max size and max count
    limits so that each limit functions independently from the other.
    
    This fixes a bug where the code would function correctly when both were
    set to zero (unlimited) or when both limits were set (non-zero), but would
    misbehave when only one limit was set and the other unlimited.
    
    Closes-Bug: #1792944
    Change-Id: I8b4843c2e9392139b42d6e2ebd2c5e1cd09d4c7a
    
  - Move hscli to privsep
    
    Move the hscli usage to privsep, this is basically a straight
    copy of the hsexecute function.
    
    Change-Id: I0a8f1502506b32fdd6599bc2d0c385ebeb968172
    Signed-off-by: Chuck Short <chucks@redhat.com>
    
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: I1dde495a79e6076aeaebf45661ac073c71c863cc
    
  - 3PAR: Update Storage Driver docs
    
    License will now come along with 3PAR Storage
    
    Change-Id: I0ba188de6a7c7b307a9795f1e631d78b8162dfe5
    
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: I79acd7b9339a67845245fadf8a82f6224fa6800d
    
  - Merge "Rename devstack-plugin-ceph jobs"
  - Merge "Update Zuul configuration"
  - Merge "Link to the in-tree driver support matrix from multiattach docs"
  - EMC ScaleIO driver does not honor create from snapshot volume size
    
    create_volume_from_snapshot can specify a volume size
    larger than the orginal snapshot.
    Current code does not appear to handle this size difference.
    This patch addresses the issue.
    
    Change-Id: Ifa247ef0eec00c23afe6f875107a06f756bc180e
    Closes-Bug: #1560649
    
  - Link to the in-tree driver support matrix from multiattach docs
    
    The in-tree driver support matrix supersedes the potentially
    stale driver support matrix wiki, so this updates the admin
    docs for multiattach to point at the former rather than the
    latter.
    
    Change-Id: I7bf909e68eb14de4d56d4ab62e5e48abf3d40616
    
  - Merge "Clean up bare raised pylint warning"
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: I7714dd5f6b148a8473664d7a0499f52768528223
    
  - Merge "add python 3.6 unit test job"
  - Merge "switch documentation job to new PTI"
  - Merge "api-ref: document no_snapshots default for volume transfer API"
  - Merge "Fix indentation in docs"
  - Merge "Modify Pure driver to configure PG/Pod names"
  - api-ref: document no_snapshots default for volume transfer API
    
    This documents the default value (False) for the no_snapshots
    parameter to the 3.55 volume transfer API and also fixes the
    no_snapshots value in the API sample to use proper json.
    
    Change-Id: I852a04c0b772de64fa82c9c1630dff8ba6454eeb
    
  - api-ref: add preconditions for volume transfer APIs
    
    This adds the simple pre-conditions for the volume transfer
    API (in its various forms) to the API reference. This came
    up during discussions about nova server instance ownership
    transfer and questioning whether or not in-use volumes could
    be transferred and finding the API did not mention that case
    at all.
    
    Change-Id: I0bd42dd6a0e291979fb37bcab3823dfde369e7a9
    
  - Add comment to online data migration command
    
    One of the requirements of the online data migration command is that
    they must be able to be run without any Cinder service running in order
    to support a normal upgrade or a Fast-Forward upgrade.
    
    With the introduction of the shared_targets feature we added an online
    migration that requires the Cinder services to be running (it does RPC
    calls).
    
    To prevent this from happening again this patch adds a comment right
    above the online_migrations tupple as a reminder for reviewers.
    
    Change-Id: I911ddee5a62edc95bedbfd644804abd8b206e957
    
  - Rename devstack-plugin-ceph jobs
    
    These jobs are in-repo now and renamed, follow renamed.
    
    Change-Id: I7441efa0e2814e2851409e6ad670f1c7d3f95622
    Depends-On: https://review.openstack.org/543048
    
  - Merge "Save the backup.service just before _run_backup"
  - Fix wrong filter of backups in db api
    
    The function _process_backups_filters aims to filter backups. So
    fix the model and metadata attribute.
    
    Change-Id: Ie6807745fa89731b9db3bc29da653db269219bce
    Closes-Bug: #1791003
    
  - Fix indentation in docs
    
    Old indentation was wrongly formatted as quotation.
    
    Change-Id: Ia6b5d950fcc396d4d9ff16f1792341d1752da971
    
  - Remove resolve_hostname
    
    Remove the resolve_hostname function since
    the resolve_hostname in cinder.utils does the exact same thing
    so we can reuse it.
    
    Change-Id: I3fcdaf8c9d91845bada9d2bff8967b04ab700992
    Signed-off-by: Chuck Short <chucks@redhat.com>
    Signed-off-by: zhu.boxiang <zhu.boxiang@99cloud.net>
    
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: Id504fd5290460343dd8082e8693fe731db3b06ee
    
  - Merge "Fix group availability zone-backend host mismatch"
  - Clean up bare raised pylint warning
    
    Clean up bare raises warning by linter, pylint
    complains about raising an exception specified
    and not in the context of an exception handler.
    Added an exception.
    
    Change-Id: I1d77c6ab9849510c45fdd99dd57b71bde9a57da6
    Signed-off-by: Chuck Short <chucks@redhat.com>
    
  - Fix pylint warnings for "unnecessary not"
    
    Fix boolean expressions that creates an unnecessary negation.
    
    Change-Id: Ib17693a426107949488b920a19fa3d13398ee897
    Signed-off-by: Chuck Short <chucks@redhat.com>
    
  - Merge "NetApp SolidFire: Fix CG snapshot deletion"
  - Update Zuul configuration
    
    Couple of cleanups:
    * Use openstack-lower-constraints-jobs template instead of
      individual jobs.
    * The repo has both openstack-python36-jobs and extra cinder-tox-py36
      jobs, remove the cinder specific ones in benefit of the global one.
    * Replace job cinder-tox-functional-py36 with
      openstack-tox-functional-py36.
    * Separate job lines with empty line for better readability.
    * Remove extra branches lines, those are wrong - each branch has its own
      .zuul.yaml file.
    
    Change-Id: I6897cd0bb2386d31b8b17355cd88d9b42cf98fac
    
  - add python 3.6 unit test job
    
    This is a mechanically generated patch to add a unit test job running
    under Python 3.6 as part of the python3-first goal.
    
    See the python3-first goal document for details:
    https://governance.openstack.org/tc/goals/stein/python3-first.html
    
    Change-Id: Ic16433e6d23e81da7a944f2dde1befd2173aa4e6
    Story: #2002586
    Task: #24288
    
  - switch documentation job to new PTI
    
    This is a mechanically generated patch to switch the documentation
    jobs to use the new PTI versions of the jobs as part of the
    python3-first goal.
    
    See the python3-first goal document for details:
    https://governance.openstack.org/tc/goals/stein/python3-first.html
    
    Change-Id: I2d820d07a51368cef1698d2207c6aad50e500ea7
    Story: #2002586
    Task: #24288
    
  - import zuul job settings from project-config
    
    This is a mechanically generated patch to complete step 1 of moving
    the zuul job settings out of project-config and into each project
    repository.
    
    Because there will be a separate patch on each branch, the branch
    specifiers for branch-specific jobs have been removed.
    
    Because this patch is generated by a script, there may be some
    cosmetic changes to the layout of the YAML file(s) as the contents are
    normalized.
    
    See the python3-first goal document for details:
    https://governance.openstack.org/tc/goals/stein/python3-first.html
    
    Change-Id: I5239feb9ade5ff7530fd50e0f1125283a7acd9e4
    Story: #2002586
    Task: #24288
    
  - Merge "Simplify running pylint"
  - Merge "Add retries to delete a volume in the Nimble Driver"
  - Merge "VMAX Driver - Initiator retrieval short hostname fix"
  - Ds8k: Mock evenlet.sleep calls
    
    Unnecessary sleeps during dsk8k unit test runs due to evenlet.sleep
    calls not being mocked. Don't do that.
    
    Change-Id: Iac4edfa3082b7833a7122d4626515bb4edb8bd6f
    Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
    
  - Fujitsu DX: Add retries for busy error
    
    Fujitsu ETERNUS CI sometimes failed because of retryable error.
    The example errors are below and these failure can be saved by retry:
    (1) xxx, EnumrateInstances, cannot connect to ETERNUS
    (2) 32786, The Logical Volume is in busy state
    (3) 32787, The device is in busy state
    
    Change-Id: Ie79091604cf316aabb9b0c3976f44501bd761aad
    Closes-Bug: #1560953
    
  - Ensure VNX unit tests don't sleep
    
    Some VNX unit tests were taking over 30 seconds to complete due to some
    sleeps not being adjusted for test runs. To make sure all tests are
    protected from hitting these through unexpected paths, and to ensure
    consistency, this adds a base test class that the others inherit from.
    This makes sure the sleep values are always adjusted and provides a
    common place for things to be set up for all tests.
    
    Change-Id: I7721dd1078f260f820d5883022040d2eef9949bf
    Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
    
  - Simplify running pylint
    
    This commit does several things:
    
    - Setup and run pylint directly rather than running
      through a script. This allows the user to see what is happening
      while the user is running through pylint.
    - Allow the user to either run pylint on a particular changeset,
      or the entire cinder tree.
    - Allow the user to run on a particular changeset. Using like
      HEAD~1, etc.
    - Since the pylint gate check I disabled the tests that were
      reported by pylint. The thought here would be go through
      the failures and correct them.
    - Update pylint to 2.1.1.
    - Removed old pylintrc.
    
    Change-Id: I708c93843d991e8c0ac114b0b2d6ede373b96d0a
    Signed-off-by: Chuck Short <chucks@redhat.com>
    
  - Tintri: Inherit tests from BaseDriverTestCase
    
    The Tintri tests would fail when run alone using:
    
    tox -e py35 -- cinder.tests.unit.volume.drivers.test_tintri
    
    This fixes that by making sure things are properly initialized by
    inheriting from the BaseDriverTestCase instead of TestCase directly.
    
    Closes-bug: #1791089
    
    Change-Id: I7057da284edec743243a54909d313aa2910d8d0d
    Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
    
  - Merge "fix misspelling of 'configuration'"
  - NetApp SolidFire: Fix CG snapshot deletion
    
    This adds a function missing on the driver that was making impossible
    to delete a consistency group snapshot.
    
    Change-Id: I4d6a4f5cf4f4f0f751e1378d3747d2aacc050d24
    Closes-bug: #1788418
    Closes-bug: #1777862
    
  - Merge "Imported Translations from Zanata"
  - Merge "tintri: Remove _resolve_hostname"
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: Iad112d1415f655ec9fe7fbfeb3cc9e84667fe393
    
  - Modify Pure driver to configure PG/Pod names
    
    Add two config options to the Pure Storage driver to allow setting the
    names for replication PGs and Pods. This is beneficial in multi-backend
    scenarios so that each backend can use a different PG/Pod. It also
    allows for the use of existing PGs/Pods.
    
    These options should not be modified after volumes exist on a backend.
    
    Change-Id: Ie0dbf00fb2ecea3344e58d2b84fd4dfd6ae1daee
    
  - Move check_encryption_provider to volume utils
    
    Change-Id: Ia6c29848e5da12db782c0b91b64269ea461fcd6d
    
  - Merge "Move release note to the releasenotes/notes dir"
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: I11caf728b41460fb336ba27ae589802a93549170
    
  - Move release note to the releasenotes/notes dir
    
    This patch is just to move a newly added release note to the
    releasenotes/notes dir.
    
    Change-Id: Ic2d357ff5e19feb742d64b9258a5b55e688b3482
    
  - NetApp SolidFire: Fix force_detach
    
    Fixes force_detach for SolidFire driver.
    
    Change-Id: Iaf8a3f0bed5af053d5ea7796d84d5d77f1608458
    Closes-Bug: #1788458
    
  - fix misspelling of 'configuration'
    
    Change-Id: Ieefa809a9241aa3bcfd9ffcb6bd44e726ddf5907
    
  - Merge "Replace assertRaisesRegexp with assertRaisesRegex"
  - Remove deprecated HPE Lefthand config opts
    
    Several configuration options were renamed as part of the driver rename
    in the Mitaka release. This removes the deprecated_name for these
    options.
    
    Change-Id: I8bf5570960728b3bb65631ce02850c120af40577
    Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
    
  - Merge "Adds more validations in create_snapshot"
  - VMware: Fix revert-to-snapshot
    
    Commit 46b8da35d79121df34ec9befd353c8c428be846b modified
    the method we use to query the backend volumes. But,
    revert-to-snapshot implementation which was in-progress
    when the above commit was merged missed that change.
    Fixing it by updating the query method call in
    revert_to_snapshot.
    
    Change-Id: I34cbd4420b43f52cd8d23833658f6386cb3e6437
    Closes-bug: #1790008
    
  - VMware: Remove member initialization in properties
    
    Currently we initialize few driver member variables in properties.
    When osprofiler is enabled, the driver class is inspected which
    results in the initialization of those variables. The same variables
    including session are re-initialized during driver setup. Removing
    variable initialization in properties to fix this.
    
    Change-Id: I071e55b0a86848250565ada3a22ce4225b266540
    
  - Move sphinx-feature-classification to docs reqs
    
    This was added in the main requirements.txt, but it is not a
    requirement for running the service. This moves it to the
    docs/requirements.txt file so it is only installed for doc builds.
    
    Change-Id: I37026b9be913ccf157fce711f2d85fc05342e891
    Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
    
  - Simplify hostname lookup
    
    When we are trying to resolve the hostname to an IP address
    we only care about the IP address so remove the rest of the
    unused variables.
    
    This popped up in a pylint run.
    
    Change-Id: I8e3b6cfd80be3d872f3bfc0ee5ac581fae5f45af
    Signed-off-by: Chuck Short <chucks@redhat.com>
    
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: Ibccc44c63b58f81c00da1c9748f0143a62d1babd
    
  - tintri: Remove _resolve_hostname
    
    Remove the _resolve_hostname function since
    the resolve_hostname does the exact same thing
    so we can reuse it.
    
    Change-Id: If4974fdd084df1312ab51eea63b4880839729bdf
    Signed-off-by: Chuck Short <chucks@redhat.com>
    
  - Merge "Add retry to LVM deactivation"
  - Merge "Fix IPv6 for Cinder NetApp ONTAP drivers"
  - Merge "Imported Translations from Zanata"
  - Merge "3PAR: Added retries on volume deletion"
  - trival: Fix some spacing issues
    
    Fix some spacing issues uncovered by pylint.
    
    Change-Id: I2544a36cfbcaed7520a2d350898f2d6e3c7cc6ff
    Signed-off-by: Chuck Short <chucks@redhat.com>
    
  - Fix typo
    
    join() takes exactly one argument, 2 are passed.
    
    Change-Id: I57b29a91cedde9a59f861a7d037464fae10fee82
    Signed-off-by: Chuck Short <chucks@redhat.com>
    
  - Update doc for get-pools API
    
    Update name description for get-pools
    API's document.
    
    Change-Id: I403c968e8b0a85d81dc8898153f18e418ca5d289
    
  - Avoid using dict.get() in assertions
    
    The method dict.get(key) will return None in the following two cases:
    A. if there is no key in the dictionary.
    B. if the real value of the key is just None.
    
    The above two cases will results in passing the assertion
    which is not the expected behaviour of the test.
    
    Change-Id: I634dca85b378ea42bd2e49aeb12aadea59a929fd
    Related-Bug: #1613154
    
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: Ibed6197184c2aeac52601b9e6f70a7600fb0a81b
    
  - Remove auth_uri usage
    
    auth_uri in keystonemiddleware was deprecated and will be removed
    in Stein.
    
    This patch changed it to auth_url or www_authenticate_uri correctly
    
    Change-Id: I754f6b27b3ebb87d4479aa366c9ee04af34fcaab
    
  - Merge "Allow extension of volumes with snapshots for VZstorage driver"
  - Merge "SIO: Clean up padded volume comments"
  - 3PAR: Added retries on volume deletion
    
    online copy can be completed so the condition
    to find active task of online copy can be missed
    and this results in deleteVolume failure
    
    Added a retries to delete a volume
    
    Change-Id: I902896d4127c219aeea62a4c0994c6d5bb9e82f3
    Closes-Bug: #1783934
    
  - Merge "Dell EMC: Added excluded_domain_ips ListOpt to SC driver"
  - VMAX Driver - Initiator retrieval short hostname fix
    
    This submission fixes a timeout issue with initiator retrieval, the fix
    uses targeted extraction instead of list matching to increase
    performance. Short hostname retrieval for hostnames with 16 or characters
    has been fixed.
    
    Change-Id: I4eff572448c720746fbdd49caf3ae2dccfb3d352
    Closes-Bug: #1783855
    Closes-Bug: #1783867
    
  - SIO: Clean up padded volume comments
    
    There were a couple of spots still referring specifically to thick
    provisioned volumes as being an issue without padding enabled. This is
    an issue regardless of provisioning type, so this cleans up those
    mentions.
    
    Change-Id: Ife3e6cabe9ce3ba2090fc23c02c4d40493586320
    Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
    
  - Add test case: create volume from source volume
    
    This patch consider two situations to add test case:
    1. Create volume from bootable source volume.
    2. Create volume from non-bootable source volume.
    
    Change-Id: Icf250ece974a1794e9c8ce33ac71accc3652665b
    
  - Fix IPv6 for Cinder NetApp ONTAP drivers
    
    NetApp ONTAP driver currently have some issues with IPv6:
     - The URL is not properly formatted when using in management path
     - NFS driver breaks when handling IPv6 addresses
     - iSCSI driver creates a URL that is not properly formatted when
     using IPv6 addresses
    
    This patch fixes all issues related to IPv6 on NetApp ONTAP drivers.
    
    Closes-bug: 1788419
    Closes-bug: 1788460
    Change-Id: I6eeca47997c7134d6604874bea48eab7cab6c1a2
    
  - Merge "Remove flashsystem_multipath_enabled opt"
  - Merge "Handle multiattach attribute when managing volumes"
  - Remove cinder-tox-compliance job
    
    Until we fix our driver inheritance model, this job is almost guaranteed
    to always pass. Rather than wasting gate resources for every patch, just
    remove the job from the zuul pipelines for now.
    
    It can still be run locally by calling `tox -e compliance`, so new
    driver developers, and probably driver reviewers, should still run this
    to make sure there is nothing missing, but that is unlikely if they
    follow driver conventions.
    
    Change-Id: I87e0de6fddad25931f71bfd7f32a218c0ed5aa98
    Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
    
  - Correct the link of 'OpenStack Documentation Contributor Guide'
    
    Since Queens renamed from Contributor Guide to Documentation
    Contributor Guide to distinguish this document from the new
    document aimed at all new OpenStack contributors. So this
    patch correct the link. Refer to
    https://docs.openstack.org/releasenotes/openstack-manuals/queens
    
    Change-Id: Iee4b214f4d62f3ec6fcab38eccb89c387b1d6545
    
  - Fixed invalid number of arguments bug in ScaleIO driver
    
    Change-Id: I6946f531e2bed4b3f7e4491ca26876dd68fd0fc8
    Closes-Bug: #1789174
    Signed-off-by: Matan Sabag <matan.sabag@emc.com>
    
  - Merge "LVM: Disable multiattach for LIO iSCSI target"
  - LVM: Disable multiattach for LIO iSCSI target
    
    Multiattach does not yet work with the LIO iSCSI target.
    
    Related-Bug: #1786327
    
    Change-Id: I84f607de13bc17b00609ad37121d8678f7f4a920
    
  - Replace assertRaisesRegexp with assertRaisesRegex
    
    This replaces the deprecated (in python 3.2) unittest.TestCase
    method assertRaisesRegexp() with assertRaisesRegex().
    
    Change-Id: I257956c4e5ef42275ffafbb23e5ad08fcfd81070
    Signed-off-by: Chuck Short <chucks@redhat.com>
    
  - Merge "VMAX doc - important known issue"
  - Fix deprecation warnings
    
    While running the unit tests, the following is captured
    by the stderr:
    
    DeprecationWarning: Property 'project_domain' has moved to 'project_domain_id' in version '2.6'
    and will be removed in version '3.0'
    
    Make sure we are using the right property.
    
    Change-Id: I4274bed6b25f04c8bf58cd9b4d1874bf71ec1b97
    Signed-off-by: Chuck Short <chucks@redhat.com>
    
  - Merge "Remove deprecated sio_allow_non_padded_thick_volumes"
  - VMAX doc - important known issue
    
    A ucode upgrade on an VMAX All Flash will cause issues if
    workloads are leveraged. This known issue needs to be
    documented until a fix is merged.
    
    Change-Id: Iba8df9385b65f03c0ab9ea07a728e1ccd8e04e86
    
  - Drop legacy backup service support
    
    Backup drivers were migrated from backup services around Havana with
    Ic3fca567111f4bd1b221689c73cd5c3bab4a777b. This removes support for
    still loading the old path names and cleans up a mapping dict that
    wasn't even being used anymore.
    
    Support for loading by class name and not module name was deprecated in
    queen with Id6bee9e7d0da8ead224a04f86fe79ddfb5b286cf. This removes that
    capability and requires that the backup driver class name is provided.
    
    Change-Id: I3ada2dee1857074746b1893b82dd5f6641c6e579
    Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
    
  - Changed default behaviour of nas_secure_file_* for Quobyte driver
    
    The Quobyte driver now maps the 'auto' value for
    nas_secure_file_operations and nas_secure_file_permissions to false.
    This simplifies initial setup for new installations as the secure
    modes require additional configuration on Nova compute hosts.
    
    Change-Id: I0ce20e109f126500462e6459794e993bbd579b58
    
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: I5e73da78df5aa61996af3d2d4fb1b1a5fad31401
    
  - api-ref: add docs for os-migrate_volume API
    
    Adds the v2 and v3 API reference documentation for the
    admin-only (by default) os-migrate_volume volume action
    API. The only major difference with the v3 API is the
    cluster parameter introduced in the 3.16 microversion.
    
    Change-Id: I70f6b2cc4d25ea155ce09ddeec26b995890a2db3
    Partial-Bug: #1607539
    
  - Merge "Make divisibility py3 compatible in DRBD driver"
  - Merge "Optimizing code (wrap_socket())"
  - Remove deprecated sio_allow_non_padded_thick_volumes
    
    This config option was deprecated in Rocky, but it actually wasn't
    even introduced until mid-Rocky, so it shouldn't have been deprecated
    and can now be removed.
    
    Change-Id: Ib9da3278334b9b64e7acc36772c5bae660e86a34
    Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
    
  - Remove flashsystem_multipath_enabled opt
    
    This config option was deprecated in Mitaka and is now being removed.
    
    Change-Id: Iba7db13ca6877eebc2c7998c74086358e7b745e1
    Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
    
  - Dell EMC: Added excluded_domain_ips ListOpt to SC driver
    
    Added an excluded_domain_ips option to the Dell EMC SC driver. This
    is identical to the excluded_domain_ip option only comma separated
    rather than multiple entry. This is concatenated with the
    excluded_domain_ip option.
    
    Change-Id: Ib3ab11e776970a850a96fd4e6907b4064396ec3f
    
  - Remove WindowsDriver mapping
    
    The WindowsDriver was renamed to WindowsISCSIDriver in change
    I3877491463dce3d46f7ac0e194ffdf46a0e7c84c to avoid confusion with the
    Windows SMB driver. It has now been two release cycles and the backward
    compatibility mapping can now be removed.
    
    Change-Id: I602cccac73b6dc8d0b0824a5dffb0373c151452e
    Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
    
  - Remove deprecated iSCSI target config opts
    
    The iSCSI target config options were deprecated in favor of more general
    target config options in the Queens release. This completes the removal
    of those options.
    
    Change-Id: Ic65eed63c1de4f4888d572dad5bf9e945bceb16b
    Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
    
  - Merge "Make solidfire code py3-compatible"
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: I096e63768fa37b719215bc788416c1a90f87dc56
    
  - Merge "LVM: Enhance option descriptions"
  - Merge "Adds Overlay Volumes Created from Snapshots to Quobyte"
  - Merge "ScaleIO: Deprecate sio_allow_non_padded_thick_volumes"
  - Remove os-image-create API extension
    
    This was a dummy extension and only used by the v1 API. This is now a
    standard part of the API and does not need any extra checks to see if it
    should be enabled or not. This removes the dummy extensions and checks
    in the code for its presence.
    
    Change-Id: Ia0a3fa41aa06fbbe9d2ed67a1273226ee47429f9
    
  - Make divisibility py3 compatible in DRBD driver
    
    In python 2.x,
    int / int = int
    Eg: 3 / 2 = 1
    
    But in python 3.x,
    int / int = float (if the result turns out to be a
    floating value)
    Eg: 3 / 2 = 1.5
    
    This patch addresses the change.
    
    Change-Id: Ifa63b1b14bd9457ff0f76e729e3c1fd2ecdaee04
    
  - Xtremio: Remove unused constant
    
    Change-Id: I464a65da098b001a394a72f493a61c1e3aaad6f2
    
  - Raise HTTPUnsupportedMediaType when content type is unsupported
    
    Instead of 500 internal error, now cinder will raise
    HTTPUnsupportedMediaType when any unsupported content type is being
    used.
    
    Change-Id: I024769114caafe8d0e70babd93382702f45aafcc
    Closes-Bug: #1715094
    
  - Add 'volume_attachment' to volume expected attributes
    
    'volume_attachment' is a frequently used attribute when
    listing volumes inside or outside cinder, considering
    it already has been loaded from database [1], this patch
    adds it to volume's expected attributes to improve
    performance.
    
    [1]: 0652085f23/cinder/db/sqlalchemy/api.py (L1926)
    
    Change-Id: I3be3c99f9317726fa3182f750b27690da3cdab83
    
  - Merge "Ceph backup: set close_fds on Popen"
  - ScaleIO: Deprecate sio_allow_non_padded_thick_volumes
    
    The config option sio_allow_non_padded_thick_volumes was added to
    allow sites to continue to have non-padded thick volumes after it was
    disabled by default due to security concerns. At the time it was only
    thought to be an issue with thick volumes, but has since been determined
    to also be an issue with thin.
    
    To address the concerns with thin, the general option
    sio_allow_non_padded__volumes was added, making the thick-only option
    redundant. This new option was added without the deprecation of the
    thick-only option to ease backporting to address the securty concern,
    but we now want to work towards removing the thick option so we can just
    have the one option for both provisioning types.
    
    Related-bug: #1784871
    
    Change-Id: Iaf7173cbcd9fc0929dabe3b1cb2db4b47c8bf0bd
    Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
    
  - Make solidfire code py3-compatible
    
    The solidfire volume driver was using dict.iteritems, which has been
    removed in python 3 [1]. This replaces that usage with dict.items,
    which also works in python 2.7, as recommended.
    
    [1] https://wiki.python.org/moin/Python3.0#Built-In_Changes
    
    Change-Id: I905cb8ec9dbfb2e66de6e14eb3263e8245791e49
    
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: I2fc1b01b8c34edffd92c74c087b2beffa150819c
    
  - Merge "ScaleIO: Disable volume creation without padding"
  - Add api-ref for mv 3.55 volume transfer
    
    Adds the api-ref information for the the 3.55 version of the volume
    transfer API.
    
    Change-Id: Ib91c2f7018184821437da41bc0f7b0c0b2e69f0c
    Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
    
  - Fix support indicator for rbd extend attached
    
    The driver support matrix had an incorrect indicator for
    extended attached volumes.  The function isn't currently
    implemented.  This patch corrects the error.
    
    Change-Id: I0b6858c9c91d4e9a4e3d68669c006c4740086bae
    
  - Merge "Default functional tests to use v3 API"
  - Merge "Update document for metadata show API"
  - ScaleIO: Disable volume creation without padding
    
    Applying previous fix for thick volumes to thin volumes to disallow
    volume creation without zero padding unless enabled via config option.
    
    Change-Id: Ibaf6e9b67d252a5aae1b0f64ec632ec26789c389
    Closes-Bug: #1784871
    Signed-off-by: Matan Sabag <matan.sabag@emc.com>
    
  - Add policy granularity to the encryption API
    
    Add granularity to the volume_extension:volume_type_encryption
    policy with the addition of actions for create, get, update, and delete.
    
    To address backwards compatibility, the new rules added to the
    cinder/policies/volume_type.py policy file, default to the existing rule
    (volume_extension:volume_type_encryption). That way across upgrades this
    should ensure if an existing admin has customised the rule, it keeps
    working, but folks that know about the new setting can override the
    default rule.
    
    In addtion, a verify_deprecated_policy method is added
    to see if the old policy action is being configured instead of the
    new actions. This verify_deprecated_policy method is adapted from
    previous nova commit from this patch: https://review.openstack.org/#/c/449288
    
    Change-Id: Iba58e785df934d1c4175c0877d266193ac0167b7
    
  - Fix api-ref title levels and index
    
    We had a few instances where the title level used for calls in the
    api-ref was wrong, resulting in the api call being hidden inside the
    details of another title level.
    
    This fixes title levels to be consistent and adds a missing inclusion to
    the v2 index.
    
    Closes-bug: #1787203
    
    Change-Id: I602250117dbf52f9e031e945040b45f089d8602e
    Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
    
  - Merge "NetApp SolidFire: Fix NetApp SolidFire SSL option"
  - Merge "Make code py3-compatible (global callable())"
  - Merge "VMAX driver - releasenote fix"
  - Merge "Fix XTREMIO driver name"
  - Fix XTREMIO driver name
    
    Change-Id: I8b08574b7e92b4809b0cf740be71ff94b9c342e1
    
  - Add False check when do _retype_error
    
    Do a false check when the reservations is None or en empty list.
    
    Change-Id: I6d9be5254f301fa5a684143b86b15a196d9c4a97
    
  - Add retry to LVM deactivation
    
    We are seeing occassional failures to deactivate logical volumes in
    tempest runs. We retry on the wait for the state change, but we if that
    doesn't succeed we just give up.
    
    This adds a retry to the whole deactivation process to see if requesting
    again has better luck deactivating the volume.
    
    Change-Id: I1f9546c39ea05abe524e6f38395754d331b201cd
    Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
    
  - Merge "[Docs] Update some links for Gerrit of Code Reviews"
  - [Docs] Update some links for Gerrit of Code Reviews
    
    Fix the same link issue of 'Development Workflow' and 'Gerrit Workflow
    Quick Reference'.
    Replace 'Gerrit Workflow Quick Reference' with 'Getting Started' to
    match the description. And add 'Quick Reference' and it's real link.
    
    Change-Id: Id1945123a510dd0db8ed375978d67a206f218537
    
  - Merge "Add volume create schema enforcement unit tests"
  - Optimizing code (wrap_socket())
    
    Since Python 3.2 and 2.7.9, it is recommended
    to use the SSLContext.wrap_socket() instead of
    wrap_socket().
    The top-level function is limited and creates an
    insecure client socket without server name
    indication or hostname matching.
    
    Ref : https://docs.python.org/3/library/ssl.html#ssl.wrap_socket
    
    Change-Id: I29b00a640e45c98bf452fe2efda90c04e26b83e5
    
  - Save the backup.service just before _run_backup
    
    When the judgement of self.is_working() is false, it means the
    backup service is not ready and the backup will be interrupted.
    We will not allow to delete this backup util the backup service
    is configured correctly and starts successfully.
    This patch fix this, if the backup service was not working or we
    just used a wrong backup service at that time, and now we want to
    cleanup the backups, it is OK to do backup delete. There is no
    need to do more!
    
    Change-Id: I7163f026a497db8876c495d15bef9c006eadd17b
    
  - Make code py3-compatible (global callable())
    
    global function callable(f) is removed in python3.
    It can be replaced with
    isinstance(f, collections.Callable)
    This patch addresses the change.
    
    Ref : https://docs.python.org/3.1/whatsnew/3.0.html
    
    Change-Id: I47a50fffac14668f90aac043ee22a91bdb7dca41
    
  - Update document for metadata show API
    
    Instead of "metadata", cinder will add "meta"
    into response body of show metadata API.
    
    Change-Id: Id39e3858f860e7f705d1c6ed44307d50fa8ff4b9
    
  - Reserve 3 migrations for DB backports
    
    Reserve 3 migrations in case we need to backport changes to the
    stable/rocky branch. Since there have not been as many DB changes as the
    past, only reserving 3 instead of our conventional 5.
    
    Change-Id: I065b9445547f6e8e1d3732ffd76ca7ddcbc9cfc6
    Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
    
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: I2d5e703e462761a09406dd8eacdb6a11cd2376d5
    
  - Merge "Remove the CoprHD driver"
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: Ice8242f401ed4bfdda46fb8aae1f80f5116e8b56
    
  - NetApp SolidFire: Fix NetApp SolidFire SSL option
    
    The driver.verify_ssl atribute is being defined before its usage in
    the _create_cluster_reference() causing the driver initialization
    to fail.
    
    Change-Id: Ic616bbcced22db6eb8c8946dec98aefd84b16c31
    
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: I0d773d2d476f29e1ea057e5dcc8248500f05596d
    
  - Merge "Update reno for stable/rocky"
  - Remove the CoprHD driver
    
    The CoprHD driver was marked unsupported
    in Rocky and the vendor has indicated that
    the driver is deprecated.  Given the feedback
    I am removing the driver.
    
    Change-Id: I978315402edeb0c5dd6aee28315973fa502b0e20
    
  - Merge "Note max API version for Rocky"
  - Update reno for stable/rocky
    
    Change-Id: Iaef8c0837ccf105dac012536d054115dba132d73
    
  - Merge "Allow extra parameters in volume_type_encryption"
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: I912b214b4510c4f8afe85091b250812bfba3de1a
    
  - Merge "Fix _attachment_reserve to not allow attaching an invalid status volume"
  - Merge "Add policy in code documentation for os-set_bootable API"
  - Fix _attachment_reserve to not allow attaching an invalid status volume
    
    It is currently possible to create a volume attachment for a server
    when the volume is in error status because of the override logic
    in the _attachment_reserve method. What results is that the volume
    attach operation fails in nova-compute which rolls back and deletes
    the volume attachment, which puts the volume into 'available' status
    because it no longer has any attachments, which in fact it should
    have never allowed the attachment create/reserve in the first place.
    
    This updates the override logic such that a volume without any
    attachments which is in an invalid status will result in an error
    being raised.
    
    Change-Id: Id9cf2f510684cd296ffbcaf53d11889cfe8973b9
    Closes-Bug: #1785050
    
  - Allow extra parameters in volume_type_encryption
    
    Change I6488cc89e60a31605ddf80c7aa56ddf4871d3c1a added schema validation
    for volume type encryption, but it locked things down in a non-backwards
    compatible way by not allowing extra parameters. This has caused
    problems for at least Horizon. If we are going change this to not be
    backwards compatible it should include a microversion bump and moving
    the endpoint out of contrib to a standard endpoint.
    
    To keep some schema validation at least, this just allows extra
    parameters so existing API consumers should be unaffected. We can
    address locking things down better in a future release when we have time
    to do it right.
    
    Closes-bug: #1783467
    Closes-bug: #1786054
    
    Change-Id: I45c254eca69471509e7ae4c957df51282e2d1776
    Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
    
  - Merge "Add sphinx-feature-classification based support matrix"
  - Default functional tests to use v3 API
    
    Functional tests were still set to use 2.0. This updates it to use the
    v3.0 base version.
    
    Change-Id: I29b81bdad325e6ecf6a76c3813b4e9ba09dd0eb3
    Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
    
  - Add retries to delete a volume in the Nimble Driver
    
    Retrying to delete a volume for N tries and if
    failed we raise NimbleAPIException.
    
    Change-Id: I937147b7a4caf8480a8b7429effa545cd8926a8d
    Related-Bug: #1413750
    
  - Add volume create schema enforcement unit tests
    
    This increases test coverage with the volume create call to verify calls
    using microversions < 3.53 allow extra parameters to be passed and calls
    starting with microversion 3.53 will raise a schema validation error for
    unexpected values.
    
    Partial-bug: #1786054
    
    Change-Id: Ib532eb9d4fe0bd597724b734d2e8a7c6daf7c4f1
    Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
    
  - Fix one help description of rbd driver
    
    One symbol '-' of report_dynamic_total_capacity was removed
    by commit https://review.openstack.org/#/c/564068/. In fact,
    The last two symbols '-' are a pair of.
    Maybe the symbol '-' makes person confused, so that I replace
    '-' with '(' and ')'.
    
    Change-Id: I7da0f4715ba64e1384f7bf345ac850ca819555e7
    
  - Merge "Fix typo on Storwize release note"
  - Merge "VMAX Driver - Fix for get-pools and returned Service Levels"
  - Merge "VMAX driver - minor metadata additions"
  - Merge "VMAX driver - replace 'data=' with 'message='"
  - Merge "Add policy check for type show and type list"
  - Merge "[Unity] Compressed volume support"
  - Merge "[XtremIO] Remove provisioning factor when reporting"
  - Merge "Infinidat: Get rid of pylint errors due to private lib"
  - Fix typo on Storwize release note
    
    Change-Id: I22da69b3952c50b01e67bbb5f93251bd71db7d92
    
  - Merge "Enable running py36 unit tests"
  - Merge "Consume quota when importing backup resource"
  - Merge "Remove mox3"
  - Merge "IBM XIV: fix issues for replication"
  - Note max API version for Rocky
    
    We are now past feature freeze and should not have any more patches that
    increment microversions this cycle. Following the convention from past
    cycles, this marks the maximum API microversion for the Rocky release.
    
    Change-Id: Idb3de6a687264ed88d697e68127f8cc3a63ec567
    Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
    
  - Merge "Fix none-ascii char in doc"
  - Merge "VMAX Docs - SSL Support Revision"
  - Merge "VMAX docs - Rocky features"
  - Merge "VMAX docs - Restructure of content"
  - Merge "solidfire: Enable SSL with requests"
  - Add sphinx-feature-classification based support matrix
    
    Cinder has always used a wiki page as the source of our
    support matrix.  Unfortunately the wiki gives us no way
    to ensure that the information is accurate and makes it
    harder to track changes.  Moving to using the
    sphinx-feature-classification library solves some of these
    problems.
    
      *  It provides a programatic way to document driver support.
      *  It allows us to ensure that documentation is updated with
         changes.
      *  It will provide a snapshot of the state of driver support
         for a release at the time of release.
    
    This matrix will serve as the truth for Cinder's driver support.
    The existing wiki will be kept for historical purposes but I will
    make a pointer to this new documentation and indicate that no
    changes should be made to the wiki in the future.
    
    Change-Id: I7c1b7fb539a48ec3b79e86c44ffe2d3005aeba25
    
  - VMAX driver - releasenote fix
    
    Moving and renaming release note for mulitple clone fix 578486
    
    Change-Id: Ib25cf3b5e2640d64a79b8ee92db78224a66c76a1
    
  - Merge "Solidfire: Avoid UnboundLocalError"
  - Merge "Correct volume-transfers API endpoint"
  - Merge "Improve messages api-ref description"
  - Solidfire: Avoid UnboundLocalError
    
    An UnboundLocalError occurs on "attach_info" if
    initialize_connection/_connect_device throws an
    exception here.
    
    Closes-Bug: #1785706
    
    Change-Id: Id34d5b866e0d01caa5dbeee65fe038c9ae742c9c
    
  - Merge "3PAR: Update Storage Driver docs for Rocky release"
  - Merge "VMAX driver - pagination on get vols from SG list."
  - Merge "INFINIDAT: add host.created_by metadata key"
  - 3PAR: Update Storage Driver docs for Rocky release
    
    Change-Id: I03c05a4e84436c3ba6556f1f138c9d8bd8f2cd45
    
  - VMAX Docs - SSL Support Revision
    
    This update to SSL Support section of the VMAX driver
    for Cinder will address changes made in used packages
    Requests and Certifi. Changes in behaviour of Requests
    mean that old documentation was no longer valid.
    
    Change-Id: I0a33cf68a7781e5fd12663c8a55d9b004e8eed51
    
  - VMAX docs - Rocky features
    
    Rocky features:
    1. Multi-attach
    
    Change-Id: If0b95037a12b0b093237cc92b5a99e2602f93ac1
    
  - VMAX docs - Restructure of content
    
    Restructured to give a better flow to the content.
    
    Change-Id: Ied29f8f31e0a535b4338cce70b72c449f8c8ce34
    
  - VMAX Driver - Fix for get-pools and returned Service Levels
    
    This code change corrects the issue with not all Service Levels
    being returned by 'cinder get-pools' command.
    
    Change-Id: I09724aef341b6fd75891b76bab97edd7d32af0a6
    Closes-Bug: #1784856
    
  - VMAX driver - minor metadata additions
    
    Adding metadata for delete operation and adding OpenStack display
    name to all operations.
    
    Change-Id: Ia21a2688fc4ec2d974d866703abef38ae25a0048
    
  - VMAX driver - replace 'data=' with 'message='
    
    Replace keyword 'data=' with 'message=' in
    VolumeBackendAPIException.
    
    Change-Id: I5650ad44d877113eba0e5d2500ef504625ac144f
    
  - VMAX driver - pagination on get vols from SG list.
    
    No pagination for listing volumes from storage group,
    if volumes exceed maxPageSize of 1000. Need to utilize
    'to', 'from' and 'count' attributes of the rest call.
    
    Change-Id: I8123ef3823345a4092c20e5de546edb234df742a
    Closes-Bug: #1778954
    
  - Merge "VMAX Driver - Fix for multiple clones failure"
  - Correct volume-transfers API endpoint
    
    Routing was set up to map to volume_transfers, but the cinder client and
    other places expected it to be volume-transfer. The - is more correct
    for API endpoints, and the client is currently in feature freeze, so
    easiest way to correct this for this new feature is to update the
    endpoint to the expected name.
    
    Change-Id: Ib0002c441a2e860e8b74a4d9e6df890b398210f4
    Closes-bug: #1785325
    Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
    
  - Improve messages api-ref description
    
    The description for the messages API was very terse. This adds some more
    details to provide some description of what the API is used for.
    
    Change-Id: If15400e9a538bf533e93f9693b6eddeb114fa7e5
    Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
    
  - Merge "Add ability to specify minimum value when using capacity based QoS"
  - Add ability to specify minimum value when using capacity based QoS
    
    When using capacity based QoS, it is possible that a user provisions
    a volume that is very small but it unusable because of the very small
    calculated IOPs.
    
    This patch adds a few options to allow operators to allow for a minimum
    value of IOPs, where the greater of the calculated value and minimum
    is used as the QoS value.
    
    Change-Id: I0fac45847f991d1f81ddcdd8674f8634f1cc4943
    
  - IBM XIV: fix issues for replication
    
    1. A list has no next method which caused exception while get replication
    target, and update to be compatible with python2 and python3.
    2. Get pool should consider whether it has failed over or not.
    
    Change-Id: Id192a4f2ba707c4b906a956435e5796001ea808a
    Closes-bugs: #1785177
    
  - Fix none-ascii char in doc
    
    There exist some none-ascii chars in doc, which may cause trouble
    in displaying.
    
    Change-Id: Ic7ae90b6edb14ecad78b18e738c7e24f6466a500
    
  - Merge "NetApp ONTAP: Fix driver force detach operations"
  - solidfire: Enable SSL with requests
    
    SSL requests are not being verified when contacting
    the REST API. Use the driver_ssl_cert_verify
    config option to turn on or off. Defaults to False.
    
    Change-Id: Ib64c86fa5e3791dfa5386b58b468a91f1a190de6
    Signed-off-by: Chuck Short <chucks@redhat.com>
    
  - Merge "Fix remotefs driver report wrong value"
  - Merge "VSA: Concurrent request handling in attachment"
  - Merge "docs: Write high availability devref"
  - Merge "[doc] Use openstack client commands to replace cinder client"
  - Merge "NEC driver: Return non-random iscsi portal in initialize"
  - Merge "tintri: Enable SSL with requests"
  - Merge "Update volume create schema to allow 'null'"
  - VMAX Driver - Fix for multiple clones failure
    
    Fix to ensure that the snapvx snapshots are cleaned
    up periodically so that the max limit for snapvx snapshots
    is not hit while creating multiple clones of a single volume
    
    Change-Id: Idca6bb86fb0ee873093e4605b24fbc030b037854
    Closes-bug: 1778947
    
  - Fix indentation in docs
    
    cli/cli-manage-volumes.rst
    Current indentation is wrongly interpreted as quotation.
    
    Change-Id: I5061fcd2256c24814f0868370d07f8c6dd0ae8e3
    
  - Merge "nimble: Fix missing ssl support"
  - VSA: Concurrent request handling in attachment
    
    Issue: VSA cannot have two server created with
    same host name, so when concurrent request tries
    to create server only one request succeed and
    subsequent request gets response of exception
    of already exists.
    
    This fix handle concurrent request and ensure
    only one request with same host name request
    server creation on VSA.
    
    Change-Id: I41815510f0e6bf865a46d1efd7b73f613ddbe736
    Closes-Bug: #1779654
    
  - Merge "XtremIO: support multiattach"
  - Merge "IBM XIV and DS8K: Update document for Rocky release:"
  - Merge "Update delete group snapshot API exception handling"
  - Merge "Set bootable when creating volume from snapshot"
  - NetApp ONTAP: Fix driver force detach operations
    
    Cinder API supports os-force_detach, which once invoked can call the
    driver finalize_connection passing a 'None' connector. When receiving
    this, the driver should handle this call by terminating every
    connection between the specified volume and any host it is mapped to.
    
    This patch fixes this behavior for NetApp ONTAP iSCSI and FC drivers.
    
    Change-Id: I7a6d3655cac173f2720a7f4ef87ce37ac4f022d7
    Closes-bug: #1783582
    
  - docs: Write high availability devref
    
    Adds contributor/developer reference for High Availability in Cinder.
    
    Not only related to Active-Active, but also to Active-Passive and
    concurrency in general.
    
    Change-Id: Idfb04652f148e1f820d76d62395fe7cfcb445057
    
  - Consume quota when importing backup resource
    
    Now cinder will validate&consume backup quotas when
    importing new backup resource.
    
    Change-Id: I1825600dc6e01499c8fc4ede05400a180672e130
    Closes-Bug:#1783525
    
  - Update volume create schema to allow 'null'
    
    When creating a volume from a source snapshot, size is not a required
    parameter since it will be defaulted to the snapshot's original size. We
    set it as not required in 8152f6c0cc0950fba33a67e62bf37e9ded7e1424, but
    missed that the jsonschema validation also needed to be updated to allow
    for the empty value.
    
    Change-Id: I27b94c5579d5215fdd0fbd6c421aa5f6d9139bd8
    Closes-bug: #1784821
    Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
    
  - nimble: Fix missing ssl support
    
    The requests.get in the get_query method was always disabling the
    ssl certificate checck. Use the "nimble_verify_certificate"
    configuration option to allow the user to enable or disable it
    like the rest of the requests usage in the driver.
    
    Change-Id: If15948a19a0df2d57f2da84c0774bc4ceb1fff60
    Signed-off-by: Chuck Short <chucks@redhat.com>
    
  - INFINIDAT: add host.created_by metadata key
    
    This patch adds the "host.created_by" metadata key. The metadata value
    indicates the name and version of the INFINIDAT tool which created the
    relevant system object.
    
    TrivialFix
    
    Change-Id: I0dfa32034c6b138ce8c757f196c27f90475be040
    
  - Set bootable when creating volume from snapshot
    
    When creating a volume from a snapshot of a bootable volume the
    bootable setting is ignored. This changes the creation logic so
    when snapshot_id is not None, bootable can be set to be the same
    as the snapshot's source_volume.
    
    Change-Id: Ifca9ca04dfa8eca987dc44ec23cda5e0d431cba2
    
  - Handle multiattach attribute when managing volumes
    
    This patch handles the multiattach attribute when
    managing existing volumes.
    
    Change-Id: Iade06a8b227f64f352719aaebfbeeb24e7fe9ea7
    Closes-Bug:#1783790
    
  - Update delete group snapshot API exception handling
    
    When a role doesn't have access to delete group snapshot API, the
    response code and exception that is returned is 400 BadRequest. This
    is incorrect as a 403 PolicyNotAuthorized should be thrown when a
    role doesn't have access to an API.
    
    The HTTPBadRequest exception is raised here [0] regardless of what
    the real exception is.
    
    [0] https://github.com/openstack/cinder/blob/master/cinder/api/v3/group_snapshots.py#L93
    
    Change-Id: I4a24cd35bbbba42ec3e360ce65fe278edc20d4bb
    Closes-Bug: #1783640
    
  - tintri: Enable SSL with requests
    
    SSL requests are not being verified when contacting the
    REST API. Use the driver_ssl_cert_verify config option
    to turn on or off. Defaults to False.
    
    Change-Id: I3a40a5865cfed8e29dd58d31d955840ec6370a69
    Signed-off-by: Chuck Short <chucks@redhat.com>
    
  - Fix remotefs driver report wrong value
    
    allocated_capacity_gb should not be reported by drivers and let the
    manager handle this.
    provisioned_capacity_gb is reporting allocated physical space. Return
    provisioned.
    
    Change-Id: I7e1b8d5b399a8dd15bb0dee477090a45c2faa6fa
    Closes-Bug: #1746233
    Signed-off-by: Kien Ha <kienha9922@gmail.com>
    
  - Merge "ActiveCluster support for Pure Storage drivers"
  - Merge "Revert "Use Tempest scenario job to run all scenario tests""
  - IBM XIV and DS8K: Update document for Rocky release:
    
    Add detailed configuration information and feature user guide.
    
    Change-Id: Ie5a9753439b7d4d9959e1c59342ad76238276ba1
    
  - Revert "Use Tempest scenario job to run all scenario tests"
    
    Let's revert the scenario job things till Rocky release and discussion in ML[1].
    
    
    [1] http://lists.openstack.org/pipermail/openstack-dev/2018-May/130394.html
    
    This reverts commit 5408617a8313a464c98f2b304f3e8aa32ef0312b.
    
    Change-Id: I656aed531fdec9a8eb6c10915d736769a712e7d8
    
  - Add release note for force delete MV fix
    
    Change Ida04fc8a7a7af541547ea196a3cbb5a287714eea fixed an issue where we
    were checking the wrong microversion for support of the force delete
    functionality. This adds a release note to call out that previously this
    call might have been working when using a lower microversion but will no
    longer be allowed.
    
    Related-bug: #1783028
    
    Change-Id: I660c934da053b576f817cdd349949873b0c30193
    Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
    
  - ActiveCluster support for Pure Storage drivers
    
    This adds sync-rep support for cheesecake api's via
    Pure's ActiveCluster feature leaning on stretched Pods.
    
    This is done by specifying the "type" of replication on
    "replication_device" options in cinder.conf to be 'sync'.
    With an optional 'uniform' boolean.
    
    One thing to note is that we needed to start using
    the provider_id field on volumes. With volumes in Purity
    Pods the names change, so our quick formula for name
    prediction goes out the window. Luckily there is already
    a field on the volume objects for this.. provider_id.
    Any volumes without one already set will get one updated
    when the driver starts up.
    
    Depends-On: https://review.openstack.org/#/c/571332/
    Implements: blueprint pure-sync-rep
    Change-Id: I135d2e5aa8a0a82ddd212eb8eba393e2fbef73ca
    
  - Remove mox3
    
    Drop mox3 from lower-constraints.txt.
    
    Change-Id: I835b6a1260f228ff14dc5339240654183c451f67
    Signed-off-by: Chuck Short <chucks@redhat.com>
    
  - XtremIO: support multiattach
    
    - add multiattach to XtremIO driver capabilities.
    - add handling for volume attachment list and test
    - add release note
    
    Change-Id: I88fe943df753a97684077189c6a13dc1e290968d
    
  - Merge "Update "auth_url""
  - NEC driver: Return non-random iscsi portal in initialize
    
    Returns same set of portals in initialize, this will
    suits for both single-path and multipath situations.
    
    Change-Id: Ifd241a9fa34957a3bfc8b3a768d18a781519eefe
    Closes-Bug: #1742587
    
  - Merge "Fix some nits in transfer volume with snapshots"
  - Merge "Update microversion number with constants."
  - Merge "Don't require size when creating volume from snap"
  - Update microversion number with constants.
    
    Replace version numbers within constants in order
    to make it more readable.
    
    Change-Id: I4c84183ef51e7ff18f0c06cea1b3925acd7dd276
    
  - Merge "Add keystoneauth options to list_opts"
  - Merge "Use Tempest scenario job to run all scenario tests"
  - [Unity] Compressed volume support
    
    Support operations are:
    
    Create/delete/clone/extend/attach/detach compressed volumes
    
    Change-Id: I43d840875ebb99744d23d87482603e34551c3882
    Implements: blueprint unity-compressed-volume-support
    
  - Merge "VMware: set 'shared_targets' as False"
  - Merge "Update microversion for force delete volume parameter"
  - Merge "Dell EMC SC: Enabled multiattach in Storage Center Driver"
  - Merge "[doc]Modify failed hyperlinks"
  - Merge "INFINIDAT: validate_connector should validate by protocol"
  - Merge "Unity: add multiattach support"
  - Merge "DS8K: correct the behavior for retype method"
  - Merge "Update attachment create API document"
  - Don't require size when creating volume from snap
    
    Commit 48b8973aed73e9dc88288607aecc4da6a69d94ac made it required to
    provide a size when creating a volume, but when creating a volume from a
    snapshot it is not necessary. If size is provided, and larger than the
    snapshot size, that will be used, but otherwise it should default to
    just use the original snapshot size for the volume.
    
    Change-Id: Ia7056758bbb678f8c31ecd96863d0918eb91aa70
    Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
    
  - Fix some nits in transfer volume with snapshots
    
    There were some nits left when we merged transfer-volume-with-snapshots.
    So this patch will update them all.
    
    1.Add CleanUp in _create_volume and _create_transfer methods.
    2.Change Log.warning to Log.error.
    
    Closes-Bug: #1783040
    Change-Id: If0e246f839f268653feb1c4cecbc6a3537acde03
    
  - Merge "Storwize:clone volume with iogrp value as expected"
  - Add keystoneauth options to list_opts
    
    The [service_user] group contains keystoneauth's session
    options as well. This patch add these options back to list_opts.
    
    Change-Id: I5a890c37b1bc23befb1f5792aa6129ca0c250917
    
  - Update microversion for force delete volume parameter
    
    Force delete is introduced since 3.23, correct the mv
    used in API controller.
    
    Change-Id: Ida04fc8a7a7af541547ea196a3cbb5a287714eea
    Closes-Bug: #1783028
    
  - VMware: set 'shared_targets' as False
    
    Commit 2fa6fdd7846df05c3d81e78c137ec2976499a7f9 added a flag
    'shared_targets' to Volumes. This flag indicates whether or
    not Nova should lock the attach/detach resource with the
    'service_uuid'. In the case of the vmdk driver this is not needed
    and results in degradation in performance.
    
    Change-Id: I2eeaf96fdd66137f7bbe7a991e8ad07a49d209e1
    
  - INFINIDAT: validate_connector should validate by protocol
    
    The INFINIDAT driver inherits from SanISCSIDriver for iSCSI-specific
    members, but its validate_connector method checks for the
    'initiator' property in 'connector', which is not always available
    when using the FC protocol. Since the INFINIDAT driver supports
    both protocols, the validate_connector method must be
    overridden to check for the correct property in 'connector'.
    This fixes an issue with IBM PowerVC.
    
    Change-Id: Ia537f617baf72480b9c4536bdb7bc017784955e8
    
  - Merge "use restore_file instead of open volume when restoring"
  - Merge "Remove note about mox"
  - Merge "QNAP: Add support for QES 2.1.0"
  - Merge "Pure Storage FlashArray driver - enable multiattach support"
  - Merge "Non Windows per service lock for Backup service"
  - Merge "[doc] Use openstack client commands to replace cinder client"
  - Merge "NEC driver: loss of access after live-migration"
  - Merge "VMAX driver - Block revert to snapshot for replicated volumes"
  - Merge "Fix Port nvmet driver to use privsep"
  - Merge "VMAX driver - Add VMAX specific volume metadata to logs"
  - DS8K: correct the behavior for retype method
    
    In order to retype a volume to be (or not to be) multiattach
    capable, the retype method needs some changes to support these
    operations.
    
    Change-Id: I799462bfdbca19e048acd0347f4165b117ed5d92
    Closes-Bug: 1782292
    
  - Merge "Fix 'availability_zones' attribute not recognized when creating volume"
  - Merge "Transfer snapshots with volumes"
  - Non Windows per service lock for Backup service
    
    The introduction of multiple processes on the Backup service in commit
    66b1a0049ab78754a5e90c182b09ec501596458c broke the service in Windows.
    
    On commit 1710839a4336dea996910b0894d69d1075c5954c this was fixed by
    removing the original usage of os.getpgrp and using a global lock for
    all backup services running on the host.
    
    This global lock introduces an unnecessary bottleneck on non Windows
    systems.
    
    This patch fixes this bottleneck on non Windows systems by going back to
    using a lock using the os.getpgrp method for non Windows systems and
    using a global lock for Windows systems.
    
    Related-Bug: #1781168
    Change-Id: If7178695bf8ab751bcede14aa56d8becee60e17b
    
  - QNAP: Add support for QES 2.1.0
    
    This patch do the following change to the QNAP Cinder driver:
    1. Add support for QNAP QES firmware 2.1.0.
    
    Change-Id: I6693c9b7efb3bc8b361e55ad84183103a5175298
    Implements: blueprint qnap-support-qes-210
    
  - [doc] Use openstack client commands to replace cinder client
    
    Change-Id: I9b13a60adbd283fcc37ee307757605af57a76aa7
    
  - [doc] Use openstack client commands to replace cinder client
    
    Change-Id: I383c12e0308035df9d2fcba4d93e21cf9066a869
    
  - Use Tempest scenario job to run all scenario tests
    
    Tempest has migrated the scenario job in Tempest
    tree and renamed it to "tempest-scenario-all".[1]
    
    This job runs all the Tempest scenario tests including
    slow tests.
    
    Old job running Tempest scenario test is running as experimental
    in cinder[2]. That job will be removed in favor of "tempest-scenario-all"
    
    This new job "tempest-scenario-all" will run as voting on check pipeline
    where old job was running as experimental. This is fine as we want to run
    all scenario tests on nova to avoid any regression.
    
    Tempest also run "tempest-scenario-all" as voting job.
    
    Detailed discussion on ML[3].
    
    [1] http://git.openstack.org/cgit/openstack/tempest/tree/.zuul.yaml#n147
    [2] https://git.openstack.org/cgit/openstack-infra/project-config/tree/zuul.d/projects.yaml#n3568
    [3] http://lists.openstack.org/pipermail/openstack-dev/2018-May/130394.html
    
    Change-Id: I984c9c449303effa5a3d8b754a3f4363add3dada
    
  - Transfer snapshots with volumes
    
    This feature changes Cinder to transfer
    snapshots with volumes at the same time by default.
    If user doesn't want to transfer snapshots, they could use
    a new optional argument '--no-snapshots' after microversion 3.55.
    And we also introduce the new V3 api 'v3/volume_transfers'
    to move this API out of contrib into Cinder V3 API.
    
    The cinderclient patch: https://review.openstack.org/#/c/577611/
    
    Change-Id: If848d131e5edcdb77d0b3c2ca45a99c4d5e14d1e
    Implements: blueprint transfer-snps-with-vols
    
  - Update attachment create API document
    
    Add 'mode' parameter to request body of
    attachment create API.
    
    Change-Id: I109e26837f107d2060f2c2f0ba9c94488e76b730
    
  - NEC driver: loss of access after live-migration
    
    In Cinder API v3.44 and later, remove_export() is called after
    live-migration. In remove_export(), NEC driver detaches the given
    volume from all servers. Then the migrated instance on the destination
    server loses access to its volumes.
    Basically NEC driver detaches volume in terminate_connection().
    The detach-from-all is needed only when an attached volume is deleted
    before detach.
    This patch moves the detach-from-all from remove_export() to
    delete_volume().
    
    Closes-Bug: #1777385
    Change-Id: I7d9398dadca7115ad58040743a55601a592f2fa3
    
  - Merge "Add ability to specify mode to attachment-create"
  - Merge "Prepare Google Backup driver for latest libraries"
  - Pure Storage FlashArray driver - enable multiattach support
    
    Change-Id: Ia7a93caeb524e213bdcef524eb3b9429977dd671
    
  - VMAX driver - Block revert to snapshot for replicated volumes
    
    Attempting to restore a replicated volume to snapshot will result in an
    error, as this operation requires the RDF relationship to be suspended
    first. It would be safest to throw an exception and block this operation
    on replicated volumes. The user could instead create a new volume from
    the snapshot and attach that, instead of reverting the original volume.
    This patch implements this change.
    
    Change-Id: If7b1dc408375d724fdc9ce6a3e256ad37e7c946f
    Closes-bug: 1777871
    
  - VMAX driver - Add VMAX specific volume metadata to logs
    
    Log VMAX specific metadata of a volume and version
    information, when debug is enabled. It enables the user
    to trace the vmax location of a volume after every
    operation i.e. storage group, masking view etc., as well
    as useful debug information like OS, VMAX and python
    versions.
    
    Change-Id: Ib727797da7624dec5662a35de1db05ad6dc866a0
    Implements: blueprint vmax-metadata
    
  - Merge "NetApp ONTAP iSCSI/FCP: Enable multiattach capability"
  - Add ability to specify mode to attachment-create
    
    This patch is the next step in simplifying how we create and
    manage Read Only Volume Attachments.
    
    Currently, we have multiple ways of doing this including
    volume_admin_metadata and the connector that's supplied during
    attachment processes.  The problem is that this method requires
    you to set and match both settings; and there are a lot of places
    things can go wrong.
    
    If you use volume_admin_metadata, the volume must ALWAYS receive
    a connector that has read only specified in it, otherwise if the
    values don't match, the attach calls fail.
    
    If you don't use the metadata setting (ie you don't want the volume
    to be exclusively Read Only) you can just specify the mode in the
    connector.  Rather than have these two different settings and juggle
    the various attachment parameters that have been introduced
    (attach_mode, access_mode, volume_admin_metadata:read_only...) it
    would be much more straight forward to just allow the ability to
    specify an attach mode during attachment-create and use that setting.
    
    This change adds that option to attachment-create, but it also
    keeps backward compatibility with the volume_admin_metadata for those
    that are using it.  Yes, we could just do a version bump and eliminate
    admin_metadata; but maintaining the two independently is more disruptive
    than just keeping compatibility.
    
    One thing that this change does that might be unexpected, is it
    eliminates the requirement for volume_admin_metadata and the connectors
    mode parameters to match.  It assumes that if an admin went through the
    trouble to set a volumes admin_metadata to read only, then it should in
    fact be read only regardless of the connector.  So we always revert to
    the admin_metadata setting, and modify the connector if they don't
    match.
    
    The next step in getting completely away from admin_metadata is to
    introduce the ability to create a Read Only volume via types; that will
    by the global setting for a volume in terms of its attachment setting.
    
    None of this enforces anything on the consumer side (the old methods
    didn't either) but it does set flags on the volume and attachment record
    indicating what was requested and what we expect the consumer to be
    doing with the volume.
    
    Change-Id: I091f4eb8f1b464bb2dddb0a29245690a0430142e
    
  - Merge "[NetApp ONTAP] Add filtering to API trace logging"
  - Merge "Update api-ref and release notes for schema validation"
  - use restore_file instead of open volume when restoring
    
    when do _check_restore_vol_size in ceph, cinder-backup
    cannot open restored volume image。
    
    Change-Id: I3e093665d37952ab656c205400b227cc073ca472
    Closes-bug:#1777588
    
  - Merge "Use ensure_tree instead of mkdir when creating paths"
  - Unity: add multiattach support
    
    Add the ability to attach a volume to multiple servers simultaneously.
    
    Implements: blueprint unity-multiattach-support
    
    Change-Id: Ib7222bb3cd13505f9a8789f8cc85685e4ae9cce4
    
  - Update api-ref and release notes for schema validation
    
    This patch adds a reno for validate boolean parameters with spaces.
    Also adds valid values in api-ref for boolean parameters that user
    can pass in request body.
    
    Implements: bp/json-schema-validation
    Change-Id: Iff4b2906dba93a238d720a218fcf7a9f78b96a37
    
  - Prepare Google Backup driver for latest libraries
    
    With every new google library, there are small changes that need to be
    done to the Google Backup Cinder driver to stay compatible.
    
    This patch updatest the code and the unit tests for libraries:
    
      google-auth===1.5.0
      google-auth-httplib2===0.0.3
      google-api-python-client===1.7.3
    
    While maintaining compatibility with earlier versions:
    
      google-auth===1.4.1
      google-auth-httplib2===0.0.3
      google-api-python-client===1.6.7
    
    Code has also been manually tested against Google Cloud Storage to
    ensure backup and restore works with the new libraries.
    
    Change-Id: I4e0c36217338fd757445aa172f6e962fb9ec507c
    
  - Merge "V3 jsonschema validation: Volumes"
  - Merge "Avoid os.getpgrp, breaking Windows c-backup support"
  - Merge "Dell EMC: SC FC Driver wwns api response in lower"
  - Merge "Remove tee from volume.filters"
  - Merge "Revert "Use os.mkdir instead of mkdir""
  - Fix Port nvmet driver to use privsep
    
    Commit[1] fails NVMe CI due to missing attribute:
    
    File "/opt/stack/cinder/cinder/volume/targets/nvmet.py", line 184,
                                        in _get_available_nvmf_subsystems
      out, err = cinder.privsep.nvmcli.save(tmp_file_path)
      AttributeError: 'module' object has no attribute 'nvmcli'
    
    [1] I3cff61b4cde16e00ad23d534c5281a2f1afcd29f
    
    
    Change-Id: I5d457e5005e64b8857592b1686a5d8075f5f7c92
    
  - NetApp ONTAP iSCSI/FCP: Enable multiattach capability
    
    Change-Id: Ic86b1b771a343d3c73a42b32ec678d9243025d13
    
  - Remove note about mox
    
    Remove the note about using mox in unit tests since
    mox has been removed in cinder.
    
    Change-Id: If7fa5f86ff5008d338f70db6dc30190f81786979
    Signed-off-by: Chuck Short <chucks@redhat.com>
    
  - Merge "api-ref: Update notes on encryption key size"
  - Merge "Enable split logging for cinder-glanceclient interaction"
  - Merge "Unity: add thick volume support"
  - Merge "NetApp ONTAP: Remove NFS driver online volume extending support"
  - Merge "NetApp ONTAP: Remove iSCSI/FC driver online volume extend support"
  - Merge "Replace os.makedirs to avoid process race"
  - Unity: add thick volume support
    
    Change-Id: Ic1a77f928ce0b8a51e78b33bc6025b7c9902c8fa
    
  - Merge "Make scheduler check online_extend_support capability"
  - Merge "Add blueprints and releasenotes link to README"
  - Merge "[Logging] Enable filtering of trace_api logs"
  - Merge "Handling type's multiattach extra specs in API task flow"
  - Merge "Remove hus-cmd from rootwrap volume.filters"
  - Merge "Change blockbox to block-box"
  - LVM: Enhance option descriptions
    
    Add descriptions to lvm_type option values.
    
    Change-Id: Id837ab544bae83defeb7ce5317282cabb60b1d09
    
  - api-ref: Update notes on encryption key size
    
    128 bit keys don't even work, and wouldn't be
    recommended if they did.
    
    Everyone should be using 256 bit keys.
    
    Change-Id: I14c52b35abd55d0147b877b60af12c92130fa4a7
    
  - Ceph backup: set close_fds on Popen
    
    Open file descriptors should not be passed
    to the child processes.
    
    This only affects Python 2, Python 3.2+ defaults
    to this value being True.
    
    Change-Id: I5c9bb0c04a4aafae8815667f56be4dee07c4aab7
    
  - Use ensure_tree instead of mkdir when creating paths
    
    Use fileutils.ensure_tree instead of shell based mkdir commands when
    creating mount points.
    
    Closes-Bug: #1780750
    
    Change-Id: I5a4155529e3c6dbc7f4d0e43561658bbba8a715d
    
  - Merge "RemoteFS: Use summarize option for "du""
  - Merge "Remove unused commands from volume.filters"
  - RemoteFS: Use summarize option for "du"
    
    Only return the total from du rather than
    a full listing.
    
    The parsing code here expects du's output to
    only be one line.
    
    Closes-Bug: #1781276
    
    Change-Id: Id398ad1ce3f30ccc029bfcfb1663654946d42c91
    
  - Remove hus-cmd from rootwrap volume.filters
    
    Remove the hus-cmd and hus-cmd_local from volume.filters because
    its not being used anywhere.
    
    Change-Id: If4068378ed4804a3aa707c218f35dcd2685d06c2
    Signed-off-by: Chuck Short <chucks@redhat.com>
    
  - Avoid os.getpgrp, breaking Windows c-backup support
    
    A recent change introduced a regression, breaking Cinder Backup
    support for Windows. It uses os.getpgrp, which isn't available on
    Windows, using the process group as part of a lock name.
    
    This lock ensures that only one of the cinder backup workers will
    cleanup incomplete backups. It should be safe to just drop the
    process group from the lock name, fixing this issue.
    
    Closes-Bug: #1781168
    
    Change-Id: I01edb5cd757a08b1b371e20ce5fa42fee888bbfb
    
  - Enable split logging for cinder-glanceclient interaction
    
    To enable split logging functionality [1], need to register
    'split_loggers' conf option under [default] section of cinder.conf
    
    This patch registers 'split_loggers' conf option under [default]
    so that operator can set value of 'split_loggers' to True to
    enable split logging.
    
    [1]: https://review.openstack.org/#/c/505764/
    
    DocImpact
    Change-Id: I05639133c7e5770e810be97d8c6bb98450c8c9ba
    
  - Merge "Remove ssc command from volume.filters"
  - Remove tee from volume.filters
    
    Remove the tee command from volume.filters since its
    no longer being used.
    
    Change-Id: I2efa951fd537442b19059b8362f98aba1668ab17
    Signed-off-by: Chuck Short <chucks@redhat.com>
    
  - Merge "NetApp: Deprecate E-Series drivers"
  - Revert "Use os.mkdir instead of mkdir"
    
    This reverts commit fc3f5d8e8d38831b8b6f3c60fad40243eda22c8b.
    
    The use of os.mkdir does not cover the substituted mkdir -p calls, see
    bug #1780750 .
    
    Change-Id: I8f5fc8ee22fdacd732b769c2d6d688c3dd0bdb81
    
  - Change blockbox to block-box
    
    Change-Id: Iefd95987627df382ba7fdf0dd7b8f5a0398a0aa2
    
  - Merge "Remove report of allocated_capacity_gb from Inspur driver"
  - Remove unused commands from volume.filters
    
    Most of the hitachi drivers from hbsd has been
    removed from cinder. Remove them from the rootwrap
    filters as well.
    
    Change-Id: I3452d5ca94bfbc745fae86fb44513d1230717c89
    Signed-off-by: Chuck Short <chucks@redhat.com>
    
  - Remove ssc command from volume.filters
    
    Remove the ssc command from volume.filters since its not used
    anywhere.
    
    Change-Id: Ia74250e28bb0b2963be3d5653b6b45d99228e1f9
    Signed-off-by: Chuck Short <chucks@redhat.com>
    
  - Merge "Fix backup/restore error for ceph rbd backend"
  - Merge "Port nvmet driver to use privsep"
  - Merge "RBD: support to get manageable snapshots"
  - Merge "DS8K: correct the behavior for get_pools method"
  - Merge "Use os.mkdir instead of mkdir"
  - NetApp: Deprecate E-Series drivers
    
    The deprecation for the E-Series iSCSI/FCP drivers
    begins this release (Rocky) and the drivers will be removed
    in Stein. We will run E-Series CI until
    stable/rocky is tagged EOL; no new features will be added,
    however, existing code may be meaningfully refactored to
    keep the drivers ready for removal.
    
    Change-Id: Iea8ca99fa55743e910af47d19af150cb9fd9ecf2
    
  - Merge "Drop dmsetup from rootwrap"
  - Use os.mkdir instead of mkdir
    
    There was a few places where we were shelling out
    to mkdir instead of just calling the built in python
    implementation.
    
    Change-Id: I6f232f81e36dc750e064af6047c137a3bccbdc0a
    Signed-off-by: Chuck Short <chucks@redhat.com>
    
  - Remove blockdev from volume.filters
    
    Remove the 'blockdev' command from the volume.filters since
    the block-device driver has been deprecated since 2016.
    
    Change-Id: Ifb554898287b139d6ec07f73b012509b7d59c005
    Signed-off-by: Chuck Short <chucks@redhat.com>
    
  - Drop dmsetup from rootwrap
    
    The 'dmsetup' command is not being used anywhere so remove it
    from the volume.filters.
    
    Change-Id: I0619713c5159cf8988804f1949346e238f09445f
    Signed-off-by: Chuck Short <chucks@redhat.com>
    
  - Merge "Fix prophetstor drivers report value"
  - Merge "Remove mkdir from volume.filters"
  - Merge "NEC driver: Fix iscsi multipath initialize_connection tests"
  - Merge "Fix RBD incremental backup"
  - Merge "DS8K: correct behavior and return value for terminate_connection method"
  - Remove mkdir from volume.filters
    
    The 'mkdir' command was not being used anywhere
    so remove it.
    
    Change-Id: Ib0894a606df78112a86d444339db4bb5df81110b
    Signed-off-by: Chuck Short <chucks@redhat.com>
    
  - NetApp ONTAP: Remove NFS driver online volume extending support
    
    Cinder scheduler now checks backend capability online_extend_support
    before performing an online volume extend operation. This patch makes
    NetApp ONTAP NFS driver report to the scheduler that it doesn't support
    this feature, thus avoiding leaving a volume in error_extending state
    after an online extending attempt.
    
    Change-Id: Iafe3e68d6e9c20064a8825848b7b2d33ce7f4cff
    Depends-On: I2c31b5c171574074a8fc7ba86f94f983fc9658f7
    Related-Bug: #1765182
    
  - Add policy in code documentation for os-set_bootable API
    
    This patchset adds policy in code documentation for the
    os-set_bootable API action, which does not directly [0]
    enforce any policy. However, it does internally call volume
    update API via self.volumes_api.update() [1] which in turn
    enforces the update policy [2]. Thus os-set_bootable indirectly
    enforces this policy.
    
    This is a unique case where an API doesn't enforce something
    directly, yet where policy still matters for the API to pass
    successfully.
    
    [0] 52deeff8d2/cinder/api/contrib/volume_actions.py (L310)
    [1] 52deeff8d2/cinder/api/contrib/volume_actions.py (L321)
    [2] 52deeff8d2/cinder/volume/api.py (L535)
    
    Change-Id: I29d54fb391f4e9508d86fc93e84b4b02c1333da0
    
  - Merge "INFINIDAT: change create_child to create_snapshot"
  - Port nvmet driver to use privsep
    
    Now that we have privsep support in cinder,
    we can start using privsep in various drivers
    so we can drop rootwrap support.
    
    Change-Id: I3cff61b4cde16e00ad23d534c5281a2f1afcd29f
    Signed-off-by: Chuck Short <chucks@redhat.com>
    
  - Merge "NetApp ONTAP NFS: Enable multiattach capability"
  - DS8K: correct behavior and return value for terminate_connection method
    
    In terminate_connection method, if the host can't be found in the
    storage and the lun type is non-replication, driver will log an error
    instead of raising an exception and the return value should be
    lowercase.
    
    Change-Id: Idf4e9b966a1b0f9154ca600e088ceb6929a1fb0e
    Closes-Bug: 1776227
    
  - Merge "Fix time convert error in testcases."
  - DS8K: correct the behavior for get_pools method
    
    If the pools defined in the config file but these can't be queried
    from the storage. The driver should catch this exception and ignore
    it to support the Report Backend status feature.
    
    Change-Id: I8d77b9b172df963063b38ccbd32e805dd7db1e00
    Closes-Bug: 1780095
    
  - Correct Pure Storage configuration documentation
    
    The Automatic thin-provisioning/oversubscription ratio section
    incorrectly defines the default value.
    
    Rewrite section to be correct.
    
    Change-Id: I3e84e54eb5cd9eb81604740732ea2d717a7e25e9
    Closes-Bug: 1779911
    
  - Merge "Reject any filter whose key contains non ascii character"
  - INFINIDAT: change create_child to create_snapshot
    
    create_child method was deprecated in favor of create_snapshot
    in infinisdk package. This is an internal change and should have
    no customer impact.
    
    Change-Id: I1e89dd2324a6fcd05e2c5336bb0816abf7c5ca2e
    
  - Adds Overlay Volumes Created from Snapshots to Quobyte
    
    In order to further prevent delays during creation of volumes from
    snapshots this adds the creation of volumes as overlay files backed by
    volumes in the volume_from_snapshot cache (introduced in
    Change I2142b1c0a0cc2c4f85794416e702a326d3406b9d). This speeds up
    the creation of new volumes from a snapshot as the new volume is created
    as an overlay file for the cached volume instead of beeing a full copy
    of the cached file.
    Such overlay based volumes are tracked via softlinks in the
    volume_from_snapshot cache directory in order to ensure deletion of the
    cached volume only if all related volumes & snapshots have already been
    removed.
    
    Besides changing the Quobyte driver this also adds using specialized
    backing file templates when running qemu-img info commands in RemoteFS
    based drivers.
    Default behaviour is unchanged but drivers may now provide an optional
    modified matching template, if required.
    
    Partial-Bug: #1715078
    
    Change-Id: I2a213b456514c15ce54d7082e272adff6a59cbd7
    
  - Merge "Fix parameter description in volume and snapshot manage extension"
  - Merge "Keep volume's status in 'creating' when creating from backup"
  - Merge "Solidfire: Fix pylint errors for class decorators"
  - Merge "Multipath: Update docs for backend drivers"
  - Merge "NEC driver: Reuse iSCSI LUNs of detached volumes."
  - Merge "Clean up unnecessary test params in test_rbd"
  - Fix RBD incremental backup
    
    Since the default get_backup_device method doesn't
    return enough Ceph connection information, RBD
    incremental backup will fail, resulting in full backups
    being performed when an incremental is requested.
    
    Closes-Bug: #1578036
    Co-Author: Gorka Eguileor <geguileo@redhat.com>
    Change-Id: I41d1ec84db58f4bf0f7362cec022f2c3380e5ee2
    
  - Add blueprints and releasenotes link to README
    
    Add blueprints and release notes link to README,
    easy to view new cinder features.
    
    Change-Id: I5a8a8f38a8a50d0dcb1a6d1ac6998d6bc5567b59
    
  - Fix parameter description in volume and snapshot manage extension
    
    The parameters 'cinder_id', 'reason_not_safe', 'extra_info' can be None,
    but are required in the response body of listing detail of managable
    volumes or snapshots.
    
    Change-Id: Iade148d2afeaae486aab4dc789d52e9522f206ee
    
  - Keep volume's status in 'creating' when creating from backup
    
    When volume is created via restoring backup action, the volume
    status would change into 'restoring-backup' from 'creating', this
    state change would confusing end user. This patch updates this
    and keep volume status in 'creating' when creating.
    
    Change-Id: I82d741ea8278de75ed817379b0a04f1f919a27c7
    
  - Merge "Fix quota error when deleting temporary volume"
  - RBD: support to get manageable snapshots
    
    This patch adds the ability to get manageable snapshots to RBD driver.
    
    Partial-Implements: blueprint ceph-list-manageable-volumes-and-snapshots
    Change-Id: I2f979f445aeb2664c93c6810dcf2e82aed92a8cf
    
  - [NetApp ONTAP] Add filtering to API trace logging
    
    API Tracing is valuable when diagnosing problems or
    unexpected behaviors with the ONTAP Cinder drivers.
    
    However, turning it on may spam logs and make it rather
    harder to trace through specific API calls.
    
    Added an API trace pattern filter in order to filter out
    undesired API calls from the DEBUG log.
    
    Change-Id: Ic0563848205a941cf8e779eee42e24ecdaf847dd
    
  - [Logging] Enable filtering of trace_api logs
    
    This improvement allows trace_api decorators to be
    passed a filter function argument, which can validate
    the parameters of the object being logged to decide
    to not filter it.
    
    Change-Id: I2dbf5583b8d2c9b9afe35bc5a916f480637d79f5
    
  - Fix 'availability_zones' attribute not recognized when creating volume
    
    Volume type's reserved key 'availability_zones' will not be
    recognized if type is specified in source volume or snapshot.
    This patch fixes this issue while refactor some codes regarding
    collecting volume type from resource.
    
    Change-Id: Ibe937d5a97d685f5d9c3f8c03c5c384bb02a6942
    
  - Merge "Fix vmware disk type changed when volume type is eagerZeroedThick"
  - V3 jsonschema validation: Volumes
    
    This patch adds jsonschema validation for below Volumes API's
    * POST /v3/{project_id}/volumes
    * PUT  /v3/{project_id}/volumes/{volume_id}
    
    Adding new Microversion 3.53, this will have impact on  both Create
    and Update Volume API
    
    * Create volume API will not accept additional properties like
      (user_id, project_id, status and attach_status).
    * Update volume API will require minimum one parameter in request
      body otherwise it will raise 400 error.
    
    APIImpact :
    Before 3.53 version, create volume allows additional properties,
    but now it will raise 400 error.
    Also before 3.53 version, update volume allows empty body {},
    but now it will raise 400 error.
    
    DocImpact
    Closes-Bug: #1774155
    Partial-Implements: bp json-schema-validation
    
    Change-Id: I1829b6796cd6d3fa1040dd0fb9280bec5bdbc92e
    
  - Enable running py36 unit tests
    
    This adds a tox setting for skipping default targets if the
    specified version is not available. This allows tests to run
    using python 3.6 if available, but conversely also allows
    skipping python 3.5 or even 2.7 if those runtimes are not
    present.
    
    This only affects local default tox runs and does not change
    what is tested in the gate.
    
    Change-Id: Ia34fd32ab8d4672a2725468ee3d37697f51d5b3a
    
  - Handling type's multiattach extra specs in API task flow
    
    This patch fixs two issues related to multiattach extra specs:
    
    1. Volume's multiattach attribute will always be False if it's
       created by a multiattach type while type is specified in source
       volume, snapshot, image metadata or config file, related patch [1].
    2. 'MULTIATTACH_POLICY' will not be validated if multiattach flag is
       specified in the volume type that from source volume, snapshot,
       image metadata or config file [2].
    
    [1]: a32e24ff3e2c3083b42dd3654355f8c101363147
    [2]: ff30971d1f7b1f4febdef9358a999017bea2296d
    Closes-Bug: #1770671
    
    Change-Id: Ibec0656d9ead726ca12e62091fda74c04ec99eda
    
  - NEC driver: Fix iscsi multipath initialize_connection tests
    
    Add test for multipath disabled, also adds more infos for the
    multipath enabled.
    
    Change-Id: I192217e0a07ec3b16875d699d04f90f159074177
    
  - NetApp ONTAP: Remove iSCSI/FC driver online volume extend support
    
    Cinder scheduler now checks backend capability online_extend_support
    before performing an online volume extend operation. This patch makes
    NetApp ONTAP iSCSI driver and FC driver report to the scheduler that
    they don't support this feature, thus avoiding leaving a volume in
    error_extending state after an online extending attempt.
    
    Change-Id: Ifa248a0d3518aeffe2b6d12b064cbee9b8f48f94
    Depends-On: I2c31b5c171574074a8fc7ba86f94f983fc9658f7
    Related-Bug: #1765182
    
  - Merge "VMAX Driver - Incorrect SSL cert verification"
  - Multipath: Update docs for backend drivers
    
    Since Nova had deprecated the iscsi_use_multipath option, we should
    updates the config docs for this change.
    
    Change-Id: I320c6a7481978976394403edde6e9e85174d3b36
    
  - Fix time convert error in testcases.
    
    The converted time differs via different timezones, this patch replace
    the expected value with 'mock.ANY' to avoid testcase failure.
    
    Change-Id: Ifb778dd9d418e9a638a385db585add55698d7e21
    
  - NEC driver: Reuse iSCSI LUNs of detached volumes.
    
    Currently, NEC driver does not reuse iSCSI LUNs of detached volumes.
    The driver always use the LUN of (max(LUNs used) + 1) to attach
    a volume.
    
    If multi-target mode of NEC Storage is enabled, the driver works
    without the problem because only LUN0s are used in the multi-target
    mode.
    
    This patch changes the using LUN to min(LUNs not used) for reusing
    a LUN of detached volume with multi-target mode disabled.
    
    Change-Id: I067cb09928c4c9d4ebb7159950fff526ee70f1bb
    Closes-Bug: #1778669
    
  - Fix quota error when deleting temporary volume
    
    When deleting a volume, always use the admin context to fetch the
    admin_metadata that indicates whether it's a temporary volume.
    
    This fixes a bug where a non-admin user failed to retrieve the
    admin_metadata, which caused the volume to not be treated as temporary.
    This, in turn, caused quota usage to be incorrectly updated.
    
    Closes-Bug: #1778774
    Change-Id: I8e6b0c726dc6498b28795a1ea0520ef05e53f047
    
  - Make scheduler check online_extend_support capability
    
    Since Pike release, Cinder supports volume online extending, and by
    default it assumes that every backend supports this feature. This
    assumption causes a bug on those backends that don't support it. On
    such backends, an online extending attempt leaves the volume in
    error_extending state.
    
    This patch allows a backend to report to the scheduler if it does not
    support online extending. This way, an online extending attempt will
    fail, without leaving the volume in error_extending state.
    
    Closes-bug: #1765182
    Change-Id: I2c31b5c171574074a8fc7ba86f94f983fc9658f7
    Co-Authored-By: Lucio Seki <luciomitsuru.seki@fit-tecnologia.org.br>
    
  - Merge "Remove 'message' from format argument from exception"
  - Merge "Remove 'message' from format argument from exception"
  - Merge "NetApp: Remove duplicate volume_type kwarg"
  - Merge "Use check_virtual_size to do the size check"
  - Merge "Add v3 api-ref for force delete snapshot"
  - Merge "Fix the usage of RBDVolumeProxy in getting manageable volumes"
  - Merge "Fix rbd driver json loading"
  - Merge "Remove 'message' from format argument from exception"
  - Merge "Move blockbox DB volume to home directory"
  - Merge "api-ref: Rephrase delete volume precondition"
  - Merge "Storwize: update the function is_volume_hyperswap"
  - Clean up unnecessary test params in test_rbd
    
    Unit test was added that copied a test using ddt for supplied
    values passed in, but the new test did not used ddt. This just
    moves the values of those parameters into the body of the test.
    It keeps the variable names to help keep the intent of the
    values clear.
    
    Change-Id: I5148f9500b0578dae457a9b561def8568165fbd1
    
  - NetApp ONTAP NFS: Enable multiattach capability
    
    Change-Id: I65fabec317a3e3dce2512002247e8a7b75fbe5d7
    
  - Merge "Nimble: Fix tuple being passed for exception init"
  - Adds more validations in create_snapshot
    
    This patch adds more validations in create snapshot, like
    host and replication. And removes the check logic
    in create_snapshot_in_db method.
    
    Change-Id: I8e5c7664e54116cc9e302e5e7903f4d7b04c836c
    
  - Merge "Storwize: get list of all volumes for ensure_export."
  - Add policy check for type show and type list
    
    We don't have any policy check for type show
    and type list APIs. This patch adds them in code
    while set default rule to empty.
    
    Change-Id: Id2d72f1c6f24292ba354a53d2519faa348f3bb0f
    Closes-Bug: #1777748
    
  - Merge "VMAX docs - use config-table directive"
  - Merge "DataCore: get rid of pylint errors due to contextlib"
  - Merge "api-ref: Adds os-update_readonly_flag API"
  - Merge "Fix invalid escape sequence warnings"
  - Merge "Fix v3 sample files"
  - Merge "Get rid of conditional rtslib_fb imports"
  - Merge "VMAX driver - remove deprecated XML option"
  - Merge "VMAX driver - Deleting snapshot that is source of multiple volumes fails"
  - Fix vmware disk type changed when volume type is eagerZeroedThick
    
    Create a volume from an image, choose "eagerZeroedThick" volume_type.
    But login in Vcenter, you will get a "lazyZeroedThick" volume. There
    is no problem when creating a blank vmware volume.
    
    The reason is: when creating a volume from image, if volueme_size
    > image_size, the last step is to extend backing volume. In the method
    extend_virtual_disk(), there is a parameter "eager_zero", which
    determining if the free space is zeroed out. The param "eager_zero"
    default value is "False", and not to be changed to "True" in creating
    an eagerZeroedThick volume from an image. So the actuall volume type
    is different with designated volume type.
    
    We can add a paramter "disk_type" in _extend_backing() method,
    determining which type disk to extend. Then pass "False" or "True" to
    extend_virtual_disk() as "eager_zero".
    
    Change-Id: I29978b69d21c2583da152f9fbf1264ada8f079e6
    Closes-Bug: #1777430
    
  - Merge "VMAX driver - Incorrect service level reporting"
  - Merge "VMAX driver and docs - change san_rest_port to san_api_port"
  - Merge "VMAX: Address nits in list manageable code"
  - Remove report of allocated_capacity_gb from Inspur driver
    
    Drivers should not be handling this value. Let Cinder core take care of
    allocated_capacity_gb.
    
    Change-Id: Id2ceb77cd80a8fbd22243f29190717928817a7b4
    Closes-Bug: #1746222
    Signed-off-by: Kien Ha <kienha9922@gmail.com>
    
  - Fix v3 sample files
    
    This patch is mainly to fix some v3 sample json files to keep the format consistent.
    
    Change-Id: Ibfe171f19e1530c0fcdc6a531c36871d1bc51a3c
    
  - Dell EMC: SC FC Driver wwns api response in lower
    
    Fixed the SC api to return the wwns in lower case
    so os-brick rescan targets can return the right port
    names.
    
    Closes Bug: #1775649
    Co-Authored-By: KC Bi <kecheng.bi@dell.com>
    
    Change-Id: I9ad8c610f0512bdcbf2eff210a02abf8f88c425a
    
  - Add v3 api-ref for force delete snapshot
    
    This patch is to add v3 api-ref for force delete a snapshot.
    
    Change-Id: I44d16a9fa9065b5e92b18c487b45e7076ec03b0e
    
  - Merge "DS8K: Enable multiattach support"
  - api-ref: Adds os-update_readonly_flag API
    
    This patch adds "os-update_readonly_flag" volume action API.
    
    Change-Id: Idad24f9a17af3323a26ed487f1f0d20306bf935f
    Closes-Bug: #1775915
    Closes-Bug: #1771390
    
  - Fix prophetstor drivers report value
    
    allocated_capacity_gb should not be reported by drivers and let the
    volume manager handle this.
    
    Change-Id: Ief53a578f96384ab945598b4a67337dd8b8349f8
    Closes-Bug: #1746221
    Signed-off-by: Kien Ha <kienha9922@gmail.com>
    
  - Merge "HPE3PAR: Fix pointing to backend in group failover"
  - Fix invalid escape sequence warnings
    
    There are a lot of DeprecationWarning message emited when running
    under python 3.6 due mostly to non-raw strings being used for
    regex expressions.
    
    DeprecationWarning: invalid escape sequence \
    
    These had previously been ignored, but starting with python 3.6,
    and the commit for issue 27364, these are now considered deprecated
    and will no longer be supported going forward. Per the discussion
    on that issue, these strings should really be raw strings any way:
    
    https://bugs.python.org/issue27364#msg272696
    
    Change-Id: If6ff206e4bbcf10ab52d2895f606dafad2936ddb
    
  - Get rid of conditional rtslib_fb imports
    
    Newer versions of this library have been out for awhile now
    and appear to be working well. This raises the minimum version
    for rtslib_fb to a recent version that does not require the
    conditional import due to the namespace change from rtslib to
    rtslib_fb.
    
    Depends-on: https://review.openstack.org/575530
    Change-Id: I10f48833c2a61b7b2c6b300d4f8291a357f7e600
    
  - Merge "Add v3 api-ref for updating snapshot status"
  - DataCore: get rid of pylint errors due to contextlib
    
    Use of contextlib.closing causes pylint to not recognize the
    type and causes "no memeber" errors. Since this is a locally
    defined class that can simply be made into a context manager,
    this removes the use of contextlib and handles it directly in
    code.
    
    Change-Id: I2b284b1ba51f848c183c3895948131de9e89d300
    
  - Nimble: Fix tuple being passed for exception init
    
    Rather than formatting a string to pass as the exception initialization
    it was passing in a tuple of the format string and value. This changes
    it to perform the string formatting correctly.
    
    Also fixes up a whitespace issue in one of the other exception strings.
    
    Change-Id: I12648a8806bdbb3ef7933d3f256a2c0213219302
    
  - Solidfire: Fix pylint errors for class decorators
    
    A couple decorators used within the Solidfire driver were defined
    as class methods rather than their own functions. This results in
    the pylint errors:
    
    "Method should have \"self\" as first argument"
    
    Since these do not need access to self, there is no reason they
    should be class methods. This moves them out to be their own
    functions.
    
    Change-Id: Ia4da36987783fb0e3f2c44857a3cf9d586c5e769
    
  - Infinidat: Get rid of pylint errors due to private lib
    
    Infinidat has a requirement for a vendor lib on the host
    which appears to include a package called 'capacity'. Its
    use and properties appear to be the same as the units
    package.
    
    When loaded and this package is not available it is set to
    None, such as when running tests on generic nodes. This
    results in pylint errors:
    
    "Module 'capacity' has no 'GiB' member"
    
    On failure to load, this aliases the units module as
    capacity to prevent these errors.
    
    Change-Id: Ia522b1c6d866acaa39439ca86c4a7bbfe4e0f70a
    
  - NetApp: Remove duplicate volume_type kwarg
    
    The create_destination_flexvol method gets provisioning
    options from the source volume, but also explicitly sets
    the volume_type for the flexvol. Since volume_type is
    part of the source volume attributes, this results in
    volume_type being provided twice and the pylint error:
    
    "Got multiple values for keyword argument 'volume_type'
    in function call"
    
    Since the volume_type needs to be explicitly set, this
    overwrites whatever is gathered from the source volume.
    
    Change-Id: I6e597d1b44af2332e538c48d12e79ab745a5c9b5
    Closes-bug: #1777911
    
  - Increase pylint processes
    
    The default process concurrency for pylint is 1. Since our gate
    images used to run the job have 8 cores, this results in slower
    job execution with many cores sitting idle. To speed things up,
    this sets the process count to match the number of cores available.
    
    Change-Id: If4ba3333a1cb3b8bb6b4797f9149f412d32047ef
    
  - Add v3 api-ref for updating snapshot status
    
    This patch adds v3 api-ref for updating relative fields to status of a snapshot.
    
    Change-Id: I24b8a05c814eb6a69ce957c75b8d168576774380
    
  - Reject any filter whose key contains non ascii character
    
    Since filter key will be recognized as the object attribute inside
    Cinder, this change will disallow any filter whose key contains
    non ascii character.
    
    Change-Id: I66ec74e1396f4fa42fd855988265990a535c333b
    Closes-Bug: #1766965
    
  - HPE3PAR: Fix pointing to backend in group failover
    
    Issue: After group failover, subsequent operations
    like attach & detach volume, which are part of that
    failed over group points to primary backend instead
    of secondary.
    
    This patch fixes the above issue by setting up the
    appropriate backend in case of subsequent operation
    on volume, which are part of group which is failed
    over.
    
    Change-Id: I679b11317c91ad28cefdf995a8d6849dc71bc1c5
    Closes-Bug: #1773069
    
  - Remove 'message' from format argument from exception
    
    This patch removes 'message' from format argument
    of 'NexentaException' and 'BadResetResourceStatus'
    exceptions.
    
    We should not use 'message' as a format argument
    and the reason is described here [1]. From a long
    time view we need remove them from exceptions rather
    than remove it when initialized.
    
    [1]: https://review.openstack.org/#/c/572674/
    
    Change-Id: Icc0e4aefecbd224a4c14bdaef64b62ec0cd68968
    
  - Fix the usage of RBDVolumeProxy in getting manageable volumes
    
    Pass the 'client' and 'ioctx' paramters to the RBDVolumeProxy() to
    reuse external connection that already established, which will reduce
    load to the ceph cluster.
    
    Change-Id: I14f41bd10242c037301bc97986c95d72954d7bcc
    
  - Storwize: get list of all volumes for ensure_export.
    
    This patch solves the problem of too slow initialization of
    cinder-volume service.
    Previously lsvdisk() was called separately for each 'in-use' volume
    in order to check if the volume exists on the storage.
    Now lsvdisk() is called once per pool.
    
    Change-Id: Ia84afc12a30ea7b714b287844e81ba02ce4b0f3d
    Closes-Bug: #1749687
    
  - Keep ORM names matching their VO counterparts
    
    Now cinder had some Versioned Objects which names do not
    match their ORM counterparts. In method: get_model_for_versioned_object,
    we handles those exceptions.
    
    This patch fix this issue to keep the names match.
    
    Change-Id: Icf709d87be99df95e5b52204032b730cd790096c
    Closes-Bug: #1493112
    
  - Storwize:clone volume with iogrp value as expected
    
    Currently, clone a volume with a new volume type, the iogrp is the same
    as source volume.
    With this patch, create_cloned_volme, the iogrp will be the value
    specified in extra_spec.
    
    Change-Id: I8f349b4813a2a9b817bf924e6ed052b48842bea3
    Closes-Bug: 1754760
    
  - [XtremIO] Remove provisioning factor when reporting
    
    'free_capacity_gb' is incorrectly reported cause the real
    size has been multiplied by max_over_subscription_ratio
    
    Change-Id: I9804b580f90ecfca764a205c46a02ca73d32adcc
    Closes-Bug: #1773725
    
  - DS8K: Enable multiattach support
    
    Support multiattach capability for IBM DS8K
    
    Change-Id: I4e1f79dba0ed241fabd83bf972f60a6cbe21a106
    
  - Merge "Storwize: add data reduction pool support"
  - Merge "policy docs: Add volume summary under GET_ALL_POLICY entry"
  - Merge "DS8K: correct the return value for initialize_connection method"
  - Merge "NEC driver: Delete max volumes per pool limit."
  - Merge "Mark Dell EMC CoprHD Drivers unsupported"
  - Move blockbox DB volume to home directory
    
    Moved db_data directory to ~/.blockbox/db_data because it's owned by
    MySQL in the container so tox will failed with it during *.pyc files
    cleanup.
    
    Change-Id: Ib2c57d57193cd94108927bfd3a4bf944941976e9
    
  - VMAX Driver - Incorrect SSL cert verification
    
    SSL certificates are not being applied to the REST session as desired.
    If a user sets SSL verification to True but does not specify a path
    to the SSL cert, SSL is disabled instead of looking in the system
    certificate bundle.
    
    Closes-Bug #1772924
    
    Change-Id: I20cb64c11e43c22558939e27708ec678c5723ca2
    
  - VMAX docs - use config-table directive
    
    Replacing manually maintained config table with the automated
    config-table directive
    
    Change-Id: Icd1d2c19a142cd82dcf4c817db1368442bfbb1aa
    
  - VMAX driver - remove deprecated XML option
    
    'cinder_dell_emc_config_file' was deprecated in Queens. We are now
    removing all reference to it and all XML parsing. Now we rely solely
    on the config tags in cinder.conf.
    
    Closes-Bug: #1768273
    
    Change-Id: If6f7c58f445dd813df7161cc6cd6dd84484e8a7e
    
  - VMAX driver - Deleting snapshot that is source of multiple volumes fails
    
    Deleting a snapshot which is the source of multiple volumes fails with
    the error: "The number of source and target devices must be equal". This
    patch rectifies the issue by unlinking source and target volumes
    individually where a single volume is a source of multiple targets.
    
    Change-Id: I4b0c171051622f62aba1238c3b84d8a2c8bad6dc
    Closes-bug: 1768047
    
  - VMAX driver - Incorrect service level reporting
    
    'Optimized' is being reported as a service level option for VMAX
    All-Flash arrays, in the get_pools output, and it can be assigned as
    the default pool if there is no service level assigned to a volume type.
    This can cause errors, as Optimized is not a recognized service level on
    All Flash arrays. This patch rectifies the issue.
    
    Change-Id: I9365ae3b923eeb92ac00023b7040e934b6e2df57
    Closes-bug: 1766633
    
  - VMAX driver and docs - change san_rest_port to san_api_port
    
    This is part of the effort to consolidate and eliminate duplicate
    configuration tags. san_rest_port will be deprecated in this
    release and replaced by san_api_port in the next.
    
    Change-Id: I5051e39c3bf45a3a4903e94c1597a142321a77e4
    Closes-Bug: #1758010
    
  - Merge "Cloning image fails results duplicate cache entry"
  - Merge "Imported Translations from Zanata"
  - Merge "Mark the HGST Driver unsupported"
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: I01b4e6bd8000401adeaf2a3ee86faff39581e2f3
    
  - api-ref: Rephrase delete volume precondition
    
    Change-Id: Ibab0cb257a17a1af37d522348f517185b80dfabc
    Closes-Bug: #1774280
    
  - Merge "RBD: support to report backend state"
  - Merge "Remove _static folder in doc directory"
  - Merge "NEC driver: Faster clone status check."
  - policy docs: Add volume summary under GET_ALL_POLICY entry
    
    Using a codesearch [0] it is apparent that volume summary
    enforces GET_ALL_POLICY [1]. Thus, this patchset includes
    the entry for /volumes/summary under the GET_ALL_POLICY
    documentation to signal to services and users all the APIs that
    enforce that policy.
    
    [0] http://codesearch.openstack.org/?q=vol_policy.GET_ALL_POLICY&i=nope&files=&repos=cinder
    [1] 4b96310411/cinder/volume/api.py (L633)
    
    Change-Id: Ic33f763df603f1170b8cf1bfc35cc285d5ed0669
    
  - Merge "Mark DataCore Drivers unsupported"
  - Merge "Add debug logs for weigher filters"
  - Merge "Update macOS devref info"
  - Merge "Allow running unit tests on macOS"
  - Storwize: add data reduction pool support
    
    Data reduction pool is a new style pool on Storwize/SVC storage.
    Thin provisioned/compressed vdisk copies created in a data_reduction
    pool are quite different from regular pool.
    
    This patch adds thin-provision and compressed volumes support on
    data reduction pool.
    
    Change-Id: Icb09cbacc3cfe63017d17847799c0904e06cf8a7
    Implements: blueprint svc-drpool-support
    
  - Merge "Add ansible helper to Linux dev environment info"
  - Merge "Clean output of driver list generation"
  - Merge "Fix tox -e docs failure"
  - Allow running unit tests on macOS
    
    Two issues prevented running our unit tests on macOS. Mocking
    os.stat appears to cause issues internally when running tests,
    and trying to load the Linux-only rtslib_fb package would
    prevent even loading the source to find tests.
    
    This mocks out packages to allow the code to be loaded and
    skips tests that have issues on macOS to at least allow the
    other tests to be run.
    
    Change-Id: I1d2cfd0d68796e1af5344b481e610c2070e41093
    
  - Update macOS devref info
    
    Mac OS X was renamed to macOS starting with Sierra in 2016. This
    updates the development environment information to update the name
    and note that unit tests and development are not fully supported
    when using this OS.
    
    Includes various doc formatting cleanup as well since I was making
    changes to the file.
    
    Change-Id: Ia62ac91add51450dc99c431e9f64732553495558
    
  - Merge "Be explicit about tox python version"
  - Fix tox -e docs failure
    
    Fails with D005 No newline at end of file
    
    Change-Id: Ie87492a40971736057223d1ecbb782c0c1c689d3
    
  - Add ansible helper to Linux dev environment info
    
    This adds instructions on how to use an Ansible playbook to
    quickly get a working dev environment set up for Linux
    environments as an alternative options to manually installing
    packages
    
    Change-Id: Ib9d932fca7002299537a1c0da4053a671ce3ccb1
    
  - Merge "Implement privsep boilerplate in cinder."
  - Merge "VMAX driver - VMAX list manageable volumes and snapshots."
  - Merge "Add documentation page for basic volume quality of service"
  - Remove 'message' from format argument from exception
    
    This patch removes 'message' from format argument
    of 'BackupDriverException' exception.
    
    We should not use 'message' as a format argument
    and the reason is described here [1]. From a long
    time view we need remove them from exceptions rather
    than remove it when initialized.
    
    [1]: https://review.openstack.org/#/c/572674/
    
    Change-Id: I306853064ec4612444c9777d875a28fbe6e2027a
    
  - Remove 'message' from format argument from exception
    
    This patch removes 'message' from format argument
    of 'UnableToExecuteHyperScaleCmd' exception.
    
    We should not use 'message' as a format argument
    and the reason is described here [1]. From a long
    time view we need remove them from exceptions rather
    than remove it when initialized.
    
    [1]: https://review.openstack.org/#/c/572674/
    
    Change-Id: I9eb27adcd7880029a133c3657bbae67a0bc21a74
    
  - Be explicit about tox python version
    
    We want to default all jobs to use python 3 except for
    the ones that use explicit versions. Unfortunately, the
    current tox behavior for setting basepython to python3
    is not intuitive.
    
    If the system default is python 3.5, then when basepython
    is set to python3, both the py35 and py36 targets will
    end up running with python 3.5.
    
    To get around this we need to not set a default base
    version and explicitly set each testenv to python3 that
    we want to run using 3 instead of 2 but do not really
    care which minor version is used.
    
    Change-Id: I3971eeafbd1e732a584b0c52d2eb6c2175b709aa
    
  - DS8K: correct the return value for initialize_connection method
    
    In patch https://review.openstack.org/#/c/564724/, the comparison
    operation is case sensitive and DS8K driver converts the return host
    wwpn value to uppercase for initialize_connection method so this caused
    os_brick not to discover the volume for the host.
    
    Change-Id: Iffc30ac75851436a1b0aed7099656d4076ff687a
    Closes-Bug: 1776134
    
  - Merge "api-ref: Fix some params in volume types"
  - Merge "Support image signature verification"
  - Add debug logs for weigher filters
    
    Add logs for weigher filters so that we can debug from
    the log.
    
    Change-Id: I95f6145c77028aee4cce310c7b2a9636fdeed5d8
    
  - Add documentation page for basic volume quality of service
    
    Change-Id: I768aeded94e6d00dd1f8f4d5eebeab43ec5f5b6d
    
  - VMAX: Address nits in list manageable code
    
    This addresses nits pointed out during review of list manageable
    volumes and snapshots in https://review.openstack.org/#/c/557297/
    
    Change-Id: I77d95bc2f9385151e76c23f17810260df96d6868
    
  - Merge "Add doc about backend_default config"
  - Merge "Run pylint job under py3"
  - Merge "Default tox jobs to python3"
  - Merge "[api-ref] Fix the parameter metadata in v3"
  - Merge "Add missing volume APIs"
  - Merge "Add support for promoting a failed over backend"
  - Merge "Api-ref: Fix the incorrect parameter description"
  - Merge "trivial: Add min_version: 3.1 to api_ref for upload volume"
  - Merge "Move driver config opts out of catchall page"
  - Merge "Add check to the flake8 job"
  - Mark Dell EMC CoprHD Drivers unsupported
    
    The Dell EMC CoprHD drivers have not run 3rd Party CI
    in more than 60 days.  This patch marks them
    unsupported and they will be removed in Stein
    if the 3rd Party CI Issues are not resolved.
    
    Change-Id: I6f6ff82b0f6d9318c7471d1a94c2fa39e9a003c1
    
  - Add doc about backend_default config
    
    Co-Authored-By: ycx <yanpq@awcloud.com>
    
    Change-Id: Ifa33c1546d7b1a9a04cd505fbd697911d9649cca
    Closes-Bug: #1703977
    
  - [doc]Modify failed hyperlinks
    
    Change-Id: I745b43ebebba729ea63e348aafe8229a3c255d66
    
  - Merge "Add note about multiattach not supporting encryption to docs"
  - Merge "Switch to oslo_messaging.ConfFixture.transport_url"
  - Merge "Remove kwargs 'message' when exception is created"
  - Merge "[Unity] Return logged-out initiators"
  - Merge "[Api-ref] fix the type of service_id in worker cleanup api"
  - Merge "VMware: Add file open mode to support python3"
  - Merge "Mark Disco driver unsupported"
  - Merge "ZFSSA handle non-existent snapshot"
  - Merge "IBM XIV: Report backend state in service list"
  - Merge "Empty option value maybe cause Unity driver failed to initialize"
  - [api-ref] Fix the parameter metadata in v3
    
    Change-Id: I5dffe060d73f700de6cd29101127e205362e203d
    
  - Merge "IBM DS8K: Report backend state"
  - Empty option value maybe cause Unity driver failed to initialize
    
    If the value of list type option is empty, Unity driver may failed to
    initialize.
    
    Example:
    unity_io_ports=
    unity_storage_pool_names=
    
    Change-Id: Ib5850d984bfd3651d308f448993251e9ec5a9460
    Closes-bug: #1775518
    
  - Support image signature verification
    
    Add image signature verification support when
    creating from image.
    
    Change-Id: I37b7a795da18e3ddb18e9f293a9c795e207e7b7e
    Partial-Implements: bp cinder-support-image-signing
    
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: Ie31142d51969e00a9aec66d4443c70a639f8da61
    
  - Merge "Fix cinder-volume uses latest req-id for all log calls"
  - trivial: Add min_version: 3.1 to api_ref for upload volume
    
    This patchset adds min_version: 3.1 to protected and
    visiblity params which were added to upload volume to
    image action in microversion 3.1 [0][1][2].
    
    [0] 7d95fb79c4/cinder/api/schemas/volume_actions.py (L150)
    [1] https://github.com/openstack/cinder/blob/master/cinder/api/contrib/volume_actions.py#L232
    [2] 7d95fb79c4/cinder/api/microversions.py (L42)
    
    Change-Id: Ibdfa086d9bdadd11263b0a71aa3fff65faddb32d
    
  - Merge "Mock log output from DataCore drivers"
  - Fix cinder-volume uses latest req-id for all log calls
    
    Currently all log entries will have the request ID of the
    latest request that was received in the cinder-volume service.
    
    To fix this we just move the monkey patching to the top in the
    imports.
    
    Change-Id: Ic1ad7a38cf21256d9446fd2c0270610b4cfe75c5
    Closes-Bug: #1773924
    
  - Merge "Add NexentaEdge drivers"
  - Merge "VMAX driver - Enable multiattach support"
  - Mock log output from DataCore drivers
    
    The large amount of error logging output from the DataCore API
    tests is causing issues that result in hitting an error with
    stestr. This logging output is not needed during unit testing,
    so this just mocks out the logger to prevent them from happening.
    
    Change-Id: Ie9c3c6e0ee0826d4508599125155b6aceb64d369
    Closes-bug: #1775707
    
  - Add NexentaEdge drivers
    
    NexentaEdge drivers were kicked from OpenStack pike release due to CI failures.
    This patch implements NexentaEdge iSCSI drivers.
    
    Change-Id: I1a2dd99fab742f7ad4d9aa470652bb5decb35359
    Implements: blueprint nexentaedge-driver
    
  - VMware: Add file open mode to support python3
    
    Python 3 opens file in text mode by default while Python 2 opens file
    in binary mode by default. Adding mode explicitly to work for both
    Python 2 and 3.
    
    Closes-bug: 1775678
    Change-Id: I1efffb84338e27c92957c7cc5a5f46fda9eda824
    
  - Tests: Remove some ovo FutureWarnings about UUIDs
    
    Invalid ids cause warnings to be printed when running
    unit tests.
    
    Change-Id: I93e1744ae431aa54d833e702d4747b0c0de2ef3b
    
  - Add check to the flake8 job
    
    Follow up recommendation of [1].
    [1] http://lists.openstack.org/pipermail/openstack-dev/2018-June/131233.html
    
    Change-Id: Id268be8b32ce870f2f04fa8a52f4f1854a613fa7
    
  - Cloning image fails results duplicate cache entry
    
    When creating a volume with image whose cache
    entry is already present,results in duplicate
    cache entry when create_clone_image() fails.
    
    Closes-Bug: #1552734
    Change-Id: I0708c333fa94bb44e66f64b2b7cc3bc0dbe8a409
    
  - api-ref: Fix some params in volume types
    
    This patch adds some missing params in volume types
    and volume type access APIs. Also trivial fix for
    the order of the params in the URL.
    
    Change-Id: I767f68b4252a3b70755494cf82ca3b284112be75
    
  - Switch to oslo_messaging.ConfFixture.transport_url
    
    oslo_messaging's rpc_backend setting, which is set by
    ConfFixture.transport_driver has been deprecated since Newton. To allow
    oslo_messaging to remove it, switch to setting transport_url instead.
    
    Change-Id: Ib1610eb9bcd493732e90a309d219690c43702400
    Partial-Bug: #1712399
    
  - Run pylint job under py3
    
    This switches the pylint target to run under python3. In
    order to work right, it also raises the version of pylint
    used to a newer version.
    
    Related-bug: #1761800
    
    Change-Id: I0bc68a5aee24a53b9d3a08c20549b89d08989678
    
  - Merge "Disable failing backup tests in LIO/Barbican job"
  - Merge "Add user messages for extend volume operation"
  - Disable failing backup tests in LIO/Barbican job
    
    Change-Id: Ie4a5178b0705f2286805eba2a352a3f6b287762d
    
  - Remove kwargs 'message' when exception is created
    
    Now when rpc client rebuild exception at the middleware,
    the process will always fail because we have duplicate
    keyword 'message' there.  Considering we already have a bunch
    of exceptions who need format key 'message' as below:
    
    ```
    class VolumeDriverException(CinderException):
        message = _("Volume driver reported an error: %(message)s")
    ```
    Instead of refactor all of them, this patch just removes
    the kwargs 'message' when exception is initialized.
    
    Closes-Bug: #1728826
    
    Change-Id: I6bfa34a42df1f44e16b7536246def610821b7cba
    
  - Api-ref: Fix the incorrect parameter description
    
    In the attachment API, the response parameters, such as ``detached_at``,
    ``attached_at``, ``attach_mode``, ``instance`` are optional, however these
    should be required, this is to fix these.
    
    Change-Id: I2748e971655c3f5715585409e5c021f0d91690e4
    
  - Replace os.makedirs to avoid process race
    
    Use oslo_utils.fileutils.ensure_tree(path, mode=_DEFAULT_MODE)
    to replace os.makedir.
    
    Co-Authored-By: ycx <yanpq@awcloud.com>
    
    Change-Id: Ia5de63768171aa715da6318e768cce1420fef302
    Closes-Bug: #1757521
    
  - Implement privsep boilerplate in cinder.
    
    This includes implementing a first trivial example of how to use
    privsep to run something as root, specifically the cgroup throttling
    driver.
    
    This code is modelled strongly on how nova has chosen to use privsep.
    Consistency is probably good here, but it does imply that the cinder
    team is ok with the decisons nova has made about implementation.
    
    Change-Id: Ic401138a10a72cb4b976a1a6aba272cafcb40d8b
    
  - Default tox jobs to python3
    
    The long term goal for OpenStack is to support python3 for
    all things except explicit python2 testing by the T release.
    Part of preparing for that is ensuring all ancillary things
    like docs jobs and other tooling work with python3.
    
    This switches the default for our docs jobs to python3 so
    anything that does not specify another version will end up
    using it.
    
    Further work is necessary for the pylint job due to changes
    between the runtimes. That will be done in a follow up patch.
    
    There was also a difference in behavior with the genopts job
    where it ends up trying to recreate the venv under which it
    is currently running under, resulting in a corrupted venv
    and a failure. This cleans up that script and changes it so
    rather than a tox job calling a tox job it just runs the
    script.
    
    Change-Id: Ie79528b33070e6c60f9f5e1f2219084a2f0cb039
    
  - Fix group availability zone-backend host mismatch
    
    Group availability zone is not set correctly in scheduler filter
    properties which results in group availability zone-backend host
    mismatch. This can lead to volume create failure for volumes in
    the group. Fixing it by setting the availability zone in the
    request spec in scheduler RPC call.
    
    Change-Id: Icfa437d2d81ed29d0aceee776d86e28862c85274
    Closes-bug: 1773446
    
  - Mark Disco driver unsupported
    
    The Disco driver has not run 3rd Party CI
    in more than 60 days.  This patch marks it
    unsupported and it will be removed in Stein
    if the 3rd Party CI Issues are not resolved.
    
    Change-Id: I6098554cdc13760b4a31b19a4d2089d22a68d0e5
    
  - Mark the HGST Driver unsupported
    
    The HGST driver has not run 3rd Party CI
    in more than 60 days.  This patch marks it
    unsupported and it will be removed in Stein
    if the 3rd Party CI Issues are not resolved.
    
    Change-Id: I43dba479dad98a397b5134bbc42922764350858e
    
  - Move driver config opts out of catchall page
    
    Adds a few bare bones driver config pages or moves config tables to
    existing driver docs. Also removing hyperv and redis config tables
    as those have been removed.
    
    Change-Id: I3cf2c6c6de6e4346d7dc3fa154d8a6aa90d934a7
    
  - RBD: support to report backend state
    
    This patch adds the ability to report backend state to RBD driver.
    
    Partial-Implements: blueprint report-backend-state-in-service-list
    
    Change-Id: Ib703786d77621ec139e4f3981506ed117b737524
    
  - IBM XIV: Report backend state in service list
    
    This patch implements reporting backend state in service list.
    
    Change-Id: Ife48a8c9b362099e89865fcf0b3beb333704a87c
    Implements: blueprint report-backend-state-in-service-list
    
  - IBM DS8K: Report backend state
    
    This patch implements reporting backend state in service list.
    Implements: blueprint report-backend-state-in-service-list
    
    Change-Id: I750bb3d2f534734e74e895aa597259ce719e8ff3
    
  - Merge "Fix documentation error"
  - Merge "Remove duplicate sample files"
  - Merge "Add descriptions for auth_strategy choices"
  - Merge "Fix create backup API document"
  - Merge "Fix cannot add a column with non-constant default"
  - Merge "Fix api-ref for backup export and import"
  - Merge "api-ref: Fix v3 API version details error"
  - Add note about multiattach not supporting encryption to docs
    
    Per change I613b48a9e89270b2f0266bffc5aeeefad37ce8fb encryption
    is not supported with multiattach-capable volumes.
    
    Change-Id: Ife204c380a9d3d12938a907dee6d93d01aaec0ce
    Related-Bug: #1770689
    
  - Fix Dell EMC Xtremeio drivers report wrong value
    
    free_capacity_gb is reporting as free space multiplied by provisioning
    factor. Correct value to be free space left on storage
    
    Change-Id: Ie5b3b4c814bdec4fc914c633157fd4ea858a953b
    Closes-Bug: #1746228
    Signed-off-by: Kien Ha <kienha9922@gmail.com>
    
  - Merge "Remove Ocata config option changes doc"
  - Merge "Add snapshots to minimum driver interface"
  - Fix documentation error
    
    There was a mistake in an earlier patch where
    'snapshot' was used instead of 'volume'.  This
    follow-up patch corrects the wording.
    
    Change-Id: Ib1a03521c277c12d1b7f1c91eb1f2df1972e883f
    
  - Merge "Fix GCS backup driver docs"
  - Correct S-Series to DS-Series systems
    
    The new Lenovo storage systems should be branded as
    DS-Series systems.  This patch corrects the documentation
    accordingly.
    
    Change-Id: I2ff8d321c97b70744037f60fee632e9d9b9dc383
    
  - Remove the deprecated config option
    
    The option 'allow_inuse_volume_type_modification' is
    introduced as a bridge to not break upgrades without
    notice. It is introduced in Ocata release [1], so it
    is time to remove this option.
    
    [1] https://review.openstack.org/#/c/440680/
    
    Change-Id: I8c61b11994c1f8f571e65cefe4965f7d69b13100
    
  - Merge "Fix i18n issue in volume_action and admin_action"
  - Merge "Update storage backends supported for Lenovo"
  - Merge "doc: correct indentation from a note block"
  - Fix GCS backup driver docs
    
    Change If1e34ea112b0cff328a58ec2fc9c3f5a5005f1c6 renamed the Google
    backup driver, but the configuration docs for the driver were not
    updated. This results in the incorrect driver name being provided
    for backup driver configuration and local document builds failing
    due to no configuration options being found when looking for them
    in the old location.
    
    Change-Id: I40fa544892ed9ea9fb5975baeafb7c9a7e2f12a3
    
  - Doc: Fix broken link (Nimble)
    
    TrivialFix
    
    Change-Id: If24fb0b333e38605c2ee8222100db9c2c270b5a7
    
  - Merge "V3 jsonschema validation: volume_type_encryption"
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: I160aede96e436055ce0194831726c6d8f134b341
    
  - Add user messages for extend volume operation
    
    Add user messages for these cases below when performing
    extend volume operation.
    1. When no valid host is found.
    2. When nova failed to perform extend volume event.
    3. When backend failed to extend block device.
    
    Change-Id: I7d2061ac13b2c74745da56feecfe6ed53b284fc4
    Closes-Bug: #1773833
    
  - Mark DataCore Drivers unsupported
    
    The DataCore drivers have not run 3rd Party CI
    in more than 60 days.  This patch marks them
    unsupported and they will be removed in Stein
    if the 3rd Party CI Issues are not resolved.
    
    Change-Id: Id0f7ff5c1e8d0973941c9635558a6bd9d2204aea
    
  - Merge "Add cinder v2 experimental job"
  - V3 jsonschema validation: volume_type_encryption
    
    This patch adds jsonschema validation for below volume type
    encryption API's:
    * POST /v3/{project_id}/types/{volume_type_id}/encryption
    * PUT /v3/{project_id}/types/{volume_type_id}/encryption/{encryption_id}
    
    Partial-Implements: bp json-schema-validation
    
    Change-Id: I6488cc89e60a31605ddf80c7aa56ddf4871d3c1a
    
  - ZFSSA handle non-existent snapshot
    
    If a volume snapshot failed during create, it may exist in the database
    but not on the ZFSSA. This change allows deletion of such a snapshot.
    It also cleans up some redundant code for getting snapshot details.
    
    Change-Id: I522fb0841dfaeb31da3999d3f73a2c9398c5b9c8
    Closes-Bug: 1774066
    
  - Merge "Fix handling of 'cinder_encryption_key_id' image metadata"
  - Update storage backends supported for Lenovo
    
    We have released new S-Series storage models since we
    originally created the documentation.  This patch updates
    the documentation accordingly.
    
    Change-Id: Ida18d451b2e15f1d57fe4e1ffef393de20cc8828
    
  - Merge "V3 jsonschema validation: admin_actions"
  - Fix handling of 'cinder_encryption_key_id' image metadata
    
    The Cinder code that processes Glance image metadata
    is a bit confused about whether this particular field
    is a Glance property or metadata.
    
    Since it isn't a defined a Glance property and is stored
    in image metadata, ensure that Cinder also tracks it
    metadata and not as a property.
    
    This mismatch prior to this fix causes Cinder to create
    volumes with the wrong encryption key when creating a
    volume from an encrypted image, which results in an
    unreadable volume.
    
    Closes-Bug: #1764125
    Change-Id: Ie5af3703eaa82d23b50127f611235d86e4104369
    
  - Remove _static folder in doc directory
    
    TrivialFix:
    _static folder and the inside files are auto generated
    when running docs, _ga is unused, so remove these.
    
    Change-Id: I43b8cff826a98329607eed65a75eaf1ebaf54646
    
  - Update "auth_url"
    
    Following the change in Keystone Install Guide [1],
    this patch replace port 35357 with 5000 for "auth_url".
    
    Change-Id: I3fe68f162edcf4dc76ef54ad5e5dc615b37286ca
    
  - Merge "ScaleIO: Rebranding of product to VxFlex OS"
  - Fix api-ref for backup export and import
    
    Add missing paramater description for backup export and import function.
    
    Change-Id: I6408138ac738717c766752f5358025dbe62d7319
    
  - Merge "Missing request parameters in update quotas"
  - Missing request parameters in update quotas
    
    "backup_gigabytes" and "per_volume_gigabytes" parameters
    are supported in api v2, they aren't mentioned in api v2
    document[1]. On the other hand both of them are mentioned
    in api v3 document[2].
    
    [1] https://developer.openstack.org/api-ref/block-storage/
        v2/index.html#update-quotas
    [2] https://developer.openstack.org/api-ref/block-storage/
        v3/index.html?highlight=backup_gigabytes#update-quotas
        -for-a-project
    
    Change-Id: I135efd5c2b4735f5821922643926390976453bf5
    Closes-bug: #1727631
    
  - Trivial: Update pypi url to new url
    
    Pypi url changed from [1] to [2]
    
    [1] https://pypi.python.org/pypi/<package>
    [2] https://pypi.org/project/<package>
    
    Change-Id: I9cedef5883b831c109217ca04d2575ce7970b7aa
    
  - V3 jsonschema validation: admin_actions
    
    This patch adds jsonschema validation for below admin_actions API's
    * POST /v3/{project_id}/volumes/{volume_id}/action
    * POST /v3/{project_id}/snapshots/{snapshot_id}/action
    * POST /v3/{project_id}/backups/{backup_id}/action
    
    Partial-Implements: bp json-schema-validation
    
    Change-Id: Ib9057fe57c1b9cdcd0d924b029f03da3589507a2
    
  - [Api-ref] fix the type of service_id in worker cleanup api
    
    According to [1], the type of service_id is int, so fix it.
    
    [1]https://review.openstack.org/#/c/569036/
    
    Change-Id: Ie142582a2a73564127be83c1e3531a07311b4153
    
  - api-ref: Fix v3 API version details error
    
    Show v3 API version details should not return informations about v2,
    meanwhile location is not in Response Parameters.
    
    Change-Id: Ida12222b3bdac10d030d56b9724f09ee097c0b3c
    
  - Merge "V3 jsonschema validation: scheduler_hints"
  - Merge "Additional fix for hostname validation regex"
  - Merge "Fix the argument for cinder-manage command."
  - Merge "V3 jsonschema validation: os-services"
  - Merge "RBD: remove redundant exception log to reduce noise"
  - Merge "Update the volume-encryption doc"
  - Merge "INFINIDAT: fixing extend mechanism"
  - Merge "Update author in latex sphinx doc builds"
  - Merge "[Docs] Fixes documentation warning"
  - Merge "Fix option description in DRBD driver"
  - [Unity] Return logged-out initiators
    
    In current implementation, Unity driver doesn't return the targets which
    connect to the logged-out initiators, which causes the zone manager
    fails to clean up the FC zone.
    
    The fix returns all the targets of specified initiators no matter they
    are logged in or not.
    
    Change-Id: I1438d0bd4a43e1813dfb0a6e9b3c4a177c2fee8f
    Closes-bug: #1773305
    
  - Add cinder v2 experimental job
    
    Tempest adding new cinder v2 job
    - https://review.openstack.org/#/c/570466/
    
    and running that as experimental to cover the v2
    testing.
    
    This commit add that job running on cinder experimental
    pipeline also.
    
    Depends-On: https://review.openstack.org/#/c/570466/
    Change-Id: I69fd45311675591c2b772205b2f4780555cb8556
    
  - Fix cannot add a column with non-constant default
    
    With newer versions of sqlite tests are failing
    on sqlite3.OperationalError : Cannot add a column with
    non-constant default. In SQL queries is boolean without
    apostrophes which causes sqlite3 error. This fix is
    solving this issue by replacing text('false') to
    expression.false() from sqlalchemy.sql which is
    working correct.
    
    Change-Id: Ia96255a2a61994a18b21acc235931ad03a8501ea
    Closes-Bug: #1773123
    
  - Update author in latex sphinx doc builds
    
    This commit updates the author in the latex build metadata in the sphinx
    conf.py. This was set to Anso Labs, LLC from the initial fork out of
    Nova in 2012. It's highly unlikely that an LLC acquired by Rackspace in
    2011 is actually the author of the latex version of the docs so this
    commit changes it to be "Cinder Contributors" to be accurate.
    
    Change-Id: I5f1f7ea2f389783fe8b936d67d0ab99d759c4124
    
  - Update the volume-encryption doc
    
    There are two changes here:
    
    1. Fix the formatting on the note for configuring
       nova-compute to comment out the fixed_key (note
       that I'm not sure why this is even in here)
    
    2. Add a note that the --device specified to attach
       the volume to the server might not reflect where
       it actually shows up in the guest, especially since
       the libvirt driver completely ignores what the user
       specified.
    
    Change-Id: I5f9870d46b7f49cc45d46f5794d8ee0c1bc4a1e2
    
  - Additional fix for hostname validation regex
    
    With the addition of the hostname validation check for Rocky release,
    the regex used does not allow for '+' to be used in a hostname. This
    breaks the Dell EMC VMAX driver as + symbols are used in constructing
    host/pool names. To resolve this issue, add '+' to the regex string.
    
    Change-Id: Ib58741bcf5b1abe7196e9b2ad37d849776b17fbe
    Closes-Bug: #1772659
    
  - doc: correct indentation from a note block
    
    The note block should not be in the code block.
    
    Change-Id: I3ff8d0fd0aafe79f0b961b02c53889aa88fdbfae
    
  - V3 jsonschema validation: scheduler_hints
    
    This patch adds jsonschema validation for below scheduler_hints API
    * POST /v3/{project_id}/volumes
    
    Partial-Implements: bp json-schema-validation
    
    Change-Id: I6c5ad70fef2baf9a9e99d1f311569a4052292e74
    
  - INFINIDAT: fixing extend mechanism
    
    There was bug (Bug #1772421) that using extend didn't extend the volume
    and only added to its size.
    The fix was to calculate size delta inside extend_volume and pass the
    calculated delta to the API resize method.
    
    Change-Id: I73035be776a7291ca1578f21cab41c59abc0a534
    Closes-Bug: #1772421
    
  - Storwize: update the function is_volume_hyperswap
    
    Currently, the function is_volume_hyperswap checks Hyperswap volume
    by sending cli command to storage.
    Actually, Checking the volume type is more effective.
    
    This patch moves the function from class StorwizeHelpers
    to class StorwizeSVCCommonDrive, and modify condition to check
    opts['volume_topology'].
    
    Change-Id: I332b38c12d0bba1151e0b83313d0e064fd82992b
    Closes-Bug:  1771253
    
  - Fix the argument for cinder-manage command.
    
    Correct argument is online_data_migrations, not online-data-migrations.
    
    Change-Id: I3bfc9893e004cef4842b7bd432ac5f90cff1349b
    
  - NEC driver: Faster clone status check.
    
    Currently, the interval of checking volume cloning status is
    60 seconds and hard-coded. The interval is long for users who utilize
    Image-Volume cache. The cache volumes are basically small and
    copied in less than 60 seconds.
    This patch changes the initial interval to 10 seconds and increases
    it on retries up to 60 seconds.
    
    Change-Id: I37b0fd4d1edd1d25848ee87cf1ebbad9f622ffa2
    
  - Fix cinder-volume setup in block-box
    
    Change-Id: I371e0f5b5876dcb276e133718ba78257f75da381
    
  - Merge "Fix wrong usage of fields.BackupStatus.AVAILABLE"
  - [Docs] Fixes documentation warning
    
    There is a warning on gcs-backup-driver.rst
    since there is no data remaining for table body
    from driver content.
    
    Trivial
    
    Change-Id: Icefb90ffae95ec288d2a8990a211facbd34dd3a8
    
  - Merge "Support availability-zone type"
  - Remove duplicate sample files
    
    We have two locations where we provide sample cinder.conf and
    policy.yaml/json files. This cleans up the doc output to only
    have one dynamically generated sample for both.
    
    Change-Id: I86305dcedb0e7b0ac905fb95a571f4d933e77a5d
    
  - Fix option description in DRBD driver
    
    Formatting of the help text for one of the config options
    resulted in sample config output having incorrect indentation.
    This just reformats the help text to not include indentation.
    
    Change-Id: I98542e1a9acff914a3045ff4610a7b989d7dd9b2
    
  - Remove Ocata config option changes doc
    
    A doc page was added listing the changed config options for the
    Ocata release. Since this requires ongoing manual work which
    (obviously) will not be done for every release, this should just
    be removed. We do a fairly decent job of tracking config changes
    in the release notes now.
    
    Change-Id: I6a3840f853b1f68db41fe740833bdde3f9e42bf8
    
  - VMAX driver - VMAX list manageable volumes and snapshots.
    
    VMAX Support for listing manageable volumes and snapshots.
    
    Change-Id: I73cf7940fbeb4a450fd0719a5477c82aefde8c9a
    Implements: blueprint vmax-list-manage-existing
    
  - VMAX driver - Enable multiattach support
    
    Support multiattach capability with Dell EMC VMAX arrays.
    
    Change-Id: I7313c704ac45ea3e813e4816815d1d6a8ea39a9b
    Implements: blueprint vmax-allow-multi-attach
    
  - Merge "Add skip filter to config-table directive"
  - Fix wrong usage of fields.BackupStatus.AVAILABLE
    
    This patch is to fix the wrong usage of fields.BackupStatus.AVAILABLE in
    cinder\backup\manager.py, changed to use fields.SnapshotStatus.AVAILABLE.
    
    Change-Id: I4a8d795a4c46c3159cdd8508e0c5e5c921365ceb
    
  - Merge "Fix mocks for ZFS Storage Appliance unit tests"
  - Merge "Disallow multiattach for encrypted volumes"
  - Merge "Remove ZFSSA static config option tables"
  - Merge "Remove SolidFire static config option table"
  - Merge "Remove Synology static config option table"
  - Merge "Remove zonemanager static config option tables"
  - Merge "Remove Tintri static config option table"
  - Merge "Make config-table display list defaults in list format"
  - ScaleIO: Rebranding of product to VxFlex OS
    
    The Dell EMC ScaleIO product is being renamed to
    Dell EMC VxFlex OS. Update the documentation to reflect
    the new product name.
    
    Change-Id: Ib52e4820c80db8b2a74bd91dce473182508c7fba
    
  - Disable test_volume_backup_restore for lio-barbican job
    
    Tempest recently added this test and it is
    failing here.
    
    Change-Id: Idfe243347ec7fb529c253955b27d499718ef086e
    
  - Support availability-zone type
    
    Now availability zone is highly integrated into
    volume type's extra spec, it will be recognized
    when creating and retyping, also we can filter
    volume type by extra spec now.
    
    Change-Id: I4e6aa7af707bd063e7edf2b0bf28e3071ad5c67a
    Partial-Implements: bp support-az-in-volumetype
    
  - Merge "[Api-ref] fix incorrect host value in worker cleanup api"
  - Fix rbd driver json loading
    
    It looks like rbd.py sometimes gets some bytes, not strings, probably
    this happens with the latest version of Ceph, and that's an issue only
    with Python 3. I'm not sure why, but what I know, is that it's completely
    breaking Debian with Python 3 and ceph Luminous release.
    
    Convert byte buffers coming from Ceph to strings.
    
    Co-Authored-By: Eric Harney <eharney@redhat.com>
    Change-Id: I5cdb4e766655a866699a18f1e367971fd1d310af
    Closes-Bug: #1771552
    
  - Fix create backup API document
    
    Make 'snapshot_id' optional as well as
    reword parameter description.
    
    Change-Id: I9ee404a8db5320d2a4cd7b50c2166446169bbba5
    
  - Merge "V3 jsonschema validation: volume_transfer"
  - Merge "Log backup_service.restore() exception"
  - Merge "NetApp ONTAP iSCSI: Force exception on online extend"
  - Merge "Imported Translations from Zanata"
  - Merge "Fix google backup driver"
  - Add missing volume APIs
    
    A bunch of volume APIs are missing in current documentation, such
    as os-reserve/os-unreserve/os-begin_detaching/os-roll_detaching
    os-initialize_connection/os-terminate_connection, this patch is aim to
    add the missing APIs.
    
    Change-Id: If0732aa94db4e8cdef30a2be0c53314b507ee002
    Closes-bug: #1761049
    
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: I8e747f4a19dc1705eb72ade45653d97886def016
    
  - [Api-ref] fix incorrect host value in worker cleanup api
    
    The value of host in sample request and sample response is not correct,
    this change is to update this.
    
    
    Change-Id: If8524a08795c222e67ca2c85243a42fb27e43bdb
    Close-bug: #1758955
    
  - Merge "Fix NVMET minor log message issues"
  - Merge "Remove Zadara static config option table"
  - Merge "Remove Virtuozzo static config option table"
  - Merge "Remove Quobyte static config option table"
  - Merge "Remove NEC static config option table"
  - Merge "Remove Kaminario static config option table"
  - Merge "Remove static config option table for DISCO driver"
  - Merge "Add VERSION and WIKI_NAME to NEC driver"
  - Merge "Add reno to test-requirements"
  - Merge "Remove deprecated lvm_max_over_subscription_ratio"
  - Fix NVMET minor log message issues
    
    Change-Id: I32249afb29295344ac32e30a63a437e525b469d5
    
  - Fix google backup driver
    
    Current backup driver is broken due to the upper constraints of
    google-api-python-client which is set to 1.6.6, but after 1.6.0
    parameter http and credentials are mutually exclusive, the driver is
    also using the no longer preferred Google authentication library.
    
    This patch fixes this by only using the http_proxy environmental
    variable to set the proxying and adding support for google-auth and
    using it whenever possible.
    
    Closes-Bug: #1736569
    Closes-Bug: #1769660
    Change-Id: If1e34ea112b0cff328a58ec2fc9c3f5a5005f1c6
    
  - V3 jsonschema validation: os-services
    
    This patch adds jsonschema validation for below os-services API's
    * PUT /v3/{project_id}/os-services/disable
    * PUT /v3/{project_id}/os-services/disable-log-reason
    * PUT /v3/{project_id}/os-services/enable
    * PUT /v3/{project_id}/os-services/get-log
    * PUT /v3/{project_id}/os-services/set-log
    * PUT /v3/{project_id}/os-services/freeze
    * PUT /v3/{project_id}/os-services/thaw
    * PUT /v3/{project_id}/os-services/failover_host
    
    Change-Id: I37365eb4d667263bb192f52d06135b2fd7298fef
    Partial-Implements: bp json-schema-validation
    
  - Update auth_uri option to www_authenticate_uri
    
    Option auth_uri from group keystone_authtoken is deprecated[1].
    Use option www_authenticate_uri from group keystone_authtoken.
    
    This follows up patch I2a9853b52f23fc4b6a24a0548b9749e976467758
    
    Change-Id: Id85059ad0764c43e28c38dab3fa8d017817fc7f3
    
  - Merge "Huawei driver supports create_group_from_src"
  - Merge "[Unity] Add support of removing empty host"
  - Merge "V3 json schema validation: generic volume groups"
  - Huawei driver supports create_group_from_src
    
    Huawei driver doesn't implement create_group_from_src interface right now,
    though Cinder framework provides a generic implementation, but it cannot
    guarantee the group volume data consistency for Huawei driver, so Huawei
    driver is supposed to provide this ability itself.
    
    Change-Id: I73b227bae51997bebb9070cc48466f5e0b3699c3
    Closes-Bug: #1763242
    
  - Merge "Docs: ibm_storage_driver: Fix volume_driver path in documentation"
  - Disallow multiattach for encrypted volumes
    
    We can't assume that the LUKS layer used for
    volume encryption functions in a way that will
    safely work with multiattach.
    
    Closes-Bug: #1770689
    
    Change-Id: I613b48a9e89270b2f0266bffc5aeeefad37ce8fb
    
  - NetApp ONTAP iSCSI: Force exception on online extend
    
    The Netapp ONTAP iSCSI driver does not support online volume extend. It
    may work if the requested size does not exceed the LUN max geometry,
    otherwise it will require the LUN to be detached. In such case, the
    backend currently detaches and leaves the volume in an inconsistent
    state.
    
    This patch forces the ONTAP iSCSI driver to raise an exception whenever
    an online extend is requested and it detects it would exceed the LUN max
    geometry.
    
    Change-Id: Ie3dddbc05c6cd32e27168d68f4cb819364b0438c
    Closes-Bug: #1712651
    
  - Merge "Fix hostname validation regex."
  - Fix hostname validation regex.
    
    With the addition of the fields validation on the API, cinder now
    does not allow ':' and '/' characters on the hostname field. Some
    drivers use these characters for the hostname of the volumes, mainly
    for the NFS implementation. This patch fixes that by adding these
    characters to the validation regex.
    
    Closes-Bug: #1769889
    Change-Id: Ib8f00df49f126fc8533494ba5823da031191cea9
    
  - Merge "Remove stale pip-missing-reqs tox test"
  - Merge "Default pep8/fast8 to run under python 3"
  - Add snapshots to minimum driver interface
    
    Snapshot functionality was excluded from the base volume
    driver functionality while issues were being worked on
    with NFS based drivers. Those have since been resolved
    and we should now include the snapshot calls in the base
    interface for volume backend drivers.
    
    Change-Id: Ic7d6ca1de84d36f54a00e3afe3647865d6edd211
    
  - Merge "Adding NVMET target for NVMeOF"
  - Add descriptions for auth_strategy choices
    
    Starting with oslo.config 5.2.0, provided config choices can
    include a description in the generated config sample if one
    is provided. Without a description, it states "No description
    provided". This adds descriptions to the auth_strategy config
    option choices for better clarity.
    
    Change-Id: I39bdefbef1200aaeb029d7aa40389b02b4cdce72
    
  - RBD: remove redundant exception log to reduce noise
    
    If RBDVolumeProxy fails to open the underlying image it reraises the
    exception, so there is no need to log it unconditionally.  The caller
    can gracefully handle this case without alarming the admin.
    
    Change-Id: If5a9d014dbdd63a6e4659d700671c6ac6496b96a
    
  - Log backup_service.restore() exception
    
    If _detach_device() fails, the original exception raised by
    backup_service.restore() will not be logged. Adding a log
    statement in the exception handler.
    
    Change-Id: Ibbc096981e2648aa06311d197b25c9be98caf3d3
    Closes-bug: #1769740
    
  - Add support for promoting a failed over backend
    
    Change-Id: Ib9c34b0806b71e2088ac0fa9886ad8abd7a2a45f
    Implements: blueprint cheesecake-promote-backend
    
  - Merge "Replace cluster object's host with service_topic_queue"
  - [Unity] Add support of removing empty host
    
    Add an option in Unity Cinder driver to customize the removing
    of empty host. The option is named `remove_empty_host`. Its
    default value is False. When it is set to True, the host will
    be removed from Unity after the last LUN is detached from it.
    
    Change-Id: I2d9fad2c977a61f5b26a6449a8e509911eff28e0
    Closes-bug: #1768711
    
  - Merge "RBD: add support for active/active replication"
  - Merge "IBM XIV: enable FC zoning to all the ports"
  - Merge "[doc] Add the possible status for attachment"
  - Merge "Collect resource id from RequestSpec parameter"
  - Merge "Parent of RBD cloned volume marked as deleted should not be manageable"
  - Merge "Update the HP MSA and Lenovo driver documentation"
  - Merge "RBD snapshot needs to be protected/unprotected after being managed/unmanaged"
  - Merge "[ci][rally] make the job inherit the right parent"
  - V3 json schema validation: generic volume groups
    
    This patch adds jsonschema validation for below volume groups API's
    * POST /v3/{project_id}/groups (create)
    * PUT  /v3/{project_id}/groups/{group_id} (update)
    * POST /v3/{project_id}/groups/action (create from source)
    * POST /v3/{project_id}/groups/{group_id}/action (delete)
    * POST /v3/{project_id}/groups/{group_id}/action (reset status)
    * POST /v3/{project_id}/groups/{group_id}/action (failover replication)
    * POST /v3/{project_id}/groups/{group_id}/action (enable replication)
    * POST /v3/{project_id}/groups/{group_id}/action (disable replication)
    * POST /v3/{project_id}/groups/{group_id}/action (list replication)
    
    Change-Id: Ie91a52cc7f0245e5ecb3a9382691d78f5f92aa4f
    Partial-Implements: bp json-schema-validation
    
  - Fix i18n issue in volume_action and admin_action
    
    In the files admin_action.py and volume_action.py, we
    still missed some i18n issues required to be fixed.
    
    Change-Id: I97f41cc6f5093662aec57290a1972d907b1b27e6
    Closes-bug: #1768198
    
  - Merge "QNAP: driver fails to detach while uploading volume to image"
  - Merge "Support filter backend based on operation type"
  - Support filter backend based on operation type
    
    During Rocky PTG, we discussed the concept of
    'sold out'. In order to fully utilize
    current codes, we decided to achieve this via
    scheduler filters, cloud vendors can write their own
    scheduler filter plugin to disable new resource
    creation actions on sold out pools. Therefore, the
    only change on cinder framework side is to delivery
    'operation' when asking scheduler to filter hosts.
    
    For this first stage, the initial operations are:
    1. create_group
    2. manage_existing
    3. extend_volume
    4. create_volume
    5. create_snapshot
    6. migrate_volume
    7. retype_volume
    8. manage_existing_snapshot
    
    Partial-Implements: bp support-mark-pool-sold-out
    Change-Id: I4f0a14444675ebd0fe6397a5ff2ef9dca62b4453
    
  - Remove stale pip-missing-reqs tox test
    
    pip_missing_reqs tool is no longer maintained and has broken with release 10 of pip
    
    Refer to:
      http://lists.openstack.org/pipermail/openstack-dev/2018-April/130027.html
    
    Change-Id: Iaa65b1789590e85602e7a63ca4e80cd087b05693
    
  - NEC driver: Delete max volumes per pool limit.
    
    Currently, the max number of volumes (logical disks) per pool is
    limited to 1024.
    The limitation is eliminated in new firmware of NEC Storage.
    This patch deletes the limitation.
    
    Change-Id: I0c5a06714725eb2b2e6eb689fe4be9990aa3707b
    
  - [ci][rally] make the job inherit the right parent
    
    Rally team finally added native Zuul V3 jobs (with a bunch of separate
    roles and etc) and for simplification of maintainance, it would be
    nice to use them.
    
    Needed-By: If5d17fe2b1965ceed578fe20168d011c4f087242
    Needed-By: I5cc99b67495e2e10264f1cb89b25b37f5f7af66b
    
    Change-Id: Idc780fd3095e2d5e0e170fba7ce15580c73048be
    
  - Make config-table display list defaults in list format
    
    Brackets are cool.
    
    Change-Id: I487bf7b4a05a646268aba61a3d997a6b51edd851
    
  - QNAP: driver fails to detach while uploading volume to image
    
    After upload volume to image, driver fails to detach iscsi
    device. We fixed the passed parameters in detach function.
    
    Change-Id: I5d63a4850f61a838ff1d4a5f1b6612f863b2bfd1
    Closes-Bug: #1766768
    
  - Merge "Remove Nimble static config option table"
  - Merge "[VNX] Fix property set in configuration doc"
  - Merge "Remove backup driver static config option tables"
  - Merge "Update HPE docs to use config-table directive"
  - Merge "DRBD: Remove cast to int in size calculation"
  - Merge "Remove static config option table for Infinidat"
  - Remove static config option table for Infinidat
    
    Switch to using dynamic generation using config-table.
    
    Change-Id: I02eb65683ecc3ee00ae0af994c410ff83ce94c9c
    
  - Merge "Remove static config option table for Lenovo"
  - Merge "Skip running py36 tests on irrelevant files"
  - Remove zonemanager static config option tables
    
    Switch to using config-table instead.
    
    Change-Id: Iac9ca774fd69069bb7d6c8b4860b75237f33b71e
    
  - Merge "Replace Chinese punctuation with English punctuation"
  - Merge "Fix os-detach attachment_id schema"
  - [VNX] Fix property set in configuration doc
    
    The syntax of setting multiple properties in VNX configuration doc was
    wrong. When setting multiple properties in single command, additional
    `--property` should be added.
    
    Change-Id: I1ccff3b55f16f0c30f3c1ca73b522d390dc42c97
    Closes-bug: #1768427
    
  - Merge "Add missing 'transfer' parameter in API document"
  - Fix os-detach attachment_id schema
    
    The os-detach attachment_id schema is more restrictive
    in a non-backwards compatible way in that it was previously
    possible to do:
    
    POST /volume/v3/{project_id}/volumes/{volume_id}/action
    {
        "os-detach": {
            "attachment_id": null
        }
    }
    
    With the schema change I39ede009d5e909a076860df7305865286caa5352
    attachment_id is still optional but if specified, it must be
    a non-null UUID string, which is not backward compatible and
    can break old client code.
    
    This change makes the attachment_id parameter value optional
    again and also fixes the "uuid_allow_null" parameter type
    definition which previously allowed non-uuid format strings.
    
    Change-Id: Ifb97457a03795b84287922a5389fab91c402380f
    Closes-Bug: #1768650
    
  - Adding NVMET target for NVMeOF
    
    Implements NVMeOF driver to support NVMe target CLI.
    A new target, NVMET, is added for the LVM driver, and allows
    cinder to use nvmetcli in order to create/delete subsystems
    on attaching/detaching an LVM volume.
    
    By choosing target_helper as nvmet, target_protocol as rdma,
    other parameters can be configured too in cinder.conf like
    nvmet_port_id, nvmet_ns_id (for namespace) and
    nvmet_subsystem_name. The target IP and port, that will be
    used by nvmecli OS-brick NVMe connector, are taken from
    target_ip and target_port in cinder.conf.
    
    Implements: blueprint nvme-target-cli
    Change-Id: I7cacd76c63e0ad29eb2d448ce07fbb5176f62721
    
  - Merge "api-ref: modify 'has_dependent_backups' param's description"
  - Merge "api-ref: Correct the cgsnapshot_id parameter"
  - DRBD: Remove cast to int in size calculation
    
    In Python2.x, "int" is 32bit only, and so this overflows for 2TiB
    volumes. If we remove the casting to int before return, then it
    works for python 2 and 3.
    
    This is a resubmission of 395132
    
    Change-Id: I3e4814ee066df5726b0a2b599961511c2516135b
    
  - Remove backup driver static config option tables
    
    Switch to using config-table directive.
    
    Change-Id: I902bb51e90abc9f7e0ce4bb78256b0ee0bdf7f61
    
  - Add missing 'transfer' parameter in API document
    
    This patch adds the missing parameter 'transfer' to accept
    transfer's API document.
    
    Change-Id: I88f0a01ef22be9ff1b483e517f08866a7e1b19ce
    
  - Update HPE docs to use config-table directive
    
    Remove use of static config tables in favor of dynamically
    generated ones using the config-table directive.
    
    Change-Id: I886a1a3c44262b6ba49ffa9295067cb2db148c4b
    
  - Merge "V3 jsonschema validation: Quota classes"
  - Skip running py36 tests on irrelevant files
    
    Local test run definitions were added for running with Python
    3.6 as a temporary test. These should eventually go away, but
    in the meantime, skip running these on things like docs changes.
    
    Change-Id: Idc42028d4c31d9ee31cdcea11b8749fffa5007b4
    
  - Merge "Update auth_url value in install docs"
  - Merge "WinSMB volume driver doc: Add Volume backup support"
  - Merge "VMAX driver - Attaches/detaches after host assisted retype failing"
  - Remove ZFSSA static config option tables
    
    Switch to using config-table directive.
    
    Change-Id: I5fb17c6cf730a6c5c0149b60ec66af73fc24bab8
    
  - Remove Zadara static config option table
    
    Switch to using config-table directive.
    
    Change-Id: Ib229ece39581e1423addf05a0a91a8b0450f1737
    
  - Remove Virtuozzo static config option table
    
    Switch to using config-table directive.
    
    Change-Id: Iaea490d192a98b6cdaf0fe7f70d957de3666bdc4
    
  - Remove Tintri static config option table
    
    Switch to using config-table directive.
    
    Change-Id: Ie22e1d911546eb91f74a71d20374ad3510292b75
    
  - Remove Synology static config option table
    
    Switch to using config-table directive.
    
    Change-Id: Iebb2ca7a7895fb9e4a35ae856dfaca0562a3cbc0
    
  - Remove SolidFire static config option table
    
    Switch to using config-table directive.
    
    Change-Id: I8142d5026a9760efdbbac763628fec3c99571e55
    
  - Remove Quobyte static config option table
    
    Switch to using config-table directive.
    
    Change-Id: I054d61dc238fc534fa046a3eeb0492c76074ac15
    
  - Replace Chinese punctuation with English punctuation
    
    Curly quotes(Chinese punctuation) usually input from Chinese input method.
    When read from english context, it makes some confusion.
    
    Change-Id: I52bdfb16b1270df9d2a8109608a6a1bebc300966
    
  - Replace cluster object's host with service_topic_queue
    
    We have upgrade OVO's 'host' attribute  by 'service_topic_queue'
    when sending rpc messages to support cluster deployment, there
    are some left unchanged, fix it.
    
    TrivialFix
    
    Change-Id: I842a15290599181d8d20eb436764764fc9f10687
    
  - Merge "V3 jsonschema validation: Quotas"
  - IBM XIV: enable FC zoning to all the ports
    
    Define FC host just considers connected FC target ports, which should
    enable host to connect to all the storage FC ports for zoning.
    
    Change-Id: Ibb20917c8ed80cb1413de1d61104d495605ec3df
    Closes-Bug:#1759994
    
  - Merge "Clearup duplicate req_version variable"
  - [doc] Add the possible status for attachment
    
    Add the possible status of the attachment, and also
    make short description for each status.
    
    Change-Id: Ieef1ea94acf69fa906b9f62f2081d66166ba9174
    
  - Remove Nimble static config option table
    
    Switch to using config-table directive.
    
    Change-Id: I46d51fc6ae22170a364cfcba64944987279f0fa4
    
  - Remove NEC static config option table
    
    Switch to using config-table directive.
    
    Change-Id: Iad52860cd5667760ba093ba65465f5a908d26075
    
  - Remove static config option table for Lenovo
    
    Switch over to using config-table directive.
    
    Change-Id: I662296e4213e6b557f40662d2d780472c9697860
    
  - Remove Kaminario static config option table
    
    Switch to using config-table directive.
    
    Change-Id: I7f085dfa90f37fd870617bb305be059eff280259
    
  - Remove static config option table for DISCO driver
    
    Switch to using config-table directive.
    
    Change-Id: I96dffa5f576fad2dc63ba6b4849cf28c57ab0b19
    
  - Add skip filter to config-table directive
    
    Some driver docs have different options in the table for
    different configuration types. This adds the ability to
    skip named properties to be able to control which options
    get included in the table output.
    
    Change-Id: I3c6e31bc11eaec5326314b6eb7e0184429f347bf
    
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: Ied4395890f5cbb5978bae6301a154a723be26f76
    
  - Update auth_url value in install docs
    
    Follow the keystone install guide by using port 5000
    as the default auth_url, this change is to update cinder
    install guide to follow that.
    
    Change-Id: I19c60701dbdcf93394ee1c75d2d6660d25c9cbcc
    Closes-bug: #1754104
    
  - Merge "Fix doc warnings causing local failures"
  - Merge "Fix QNap docstring format"
  - Merge "Fix driver docstring RST formatting"
  - Merge "GoodnessWeigher schedules non-type volumes"
  - Merge "Test running jobs under py36/bionic"
  - Merge "Remove Fujitsu static config table"
  - Merge "VMware: Extend volume after clone"
  - Merge "VMware: Adding NFS41 datastore as supported"
  - Fix doc warnings causing local failures
    
    Infocorrectly formatted docstring causes local tox -e docs
    jobs to fail.
    
    Change-Id: Ib7b20856b058d577dac75b7bd41885fd82731ce5
    
  - Merge "Updates overprovisioning dev-ref"
  - Updates overprovisioning dev-ref
    
    Updates the overprovisioning dev-ref with the correct definitions and
    terminology related to thin provisioning. Drivers maintiners
    implementing thin provisioning should follow these guidelines.
    
    Change-Id: Ief540d3e924075450a0cf42f76878521587bf3dd
    Signed-off-by: Gorka Eguileor <geguileo@redhat.com>
    Implements: bp provisioning-improvements
    
  - Merge "Uncap eventlet"
  - Add reno to test-requirements
    
    Reno was moved over to doc/requirements.txt when that was created
    because it is needed for releasenotes builds. But with its removal
    from the other requirements files, doing something like the
    recommended "tox -e venv -- reno new xxx" to create a new release
    note fails with reno missing from any venv's created since it was
    removed.
    
    This adds reno back in to test-requirements.txt so it is installed
    when creating the venv, ummm... venv.
    
    Change-Id: Id2e0325b0ce8e18bb9a65318fb3fc52777753536
    
  - api-ref: modify 'has_dependent_backups' param's description
    
    Change-Id: Iec37578d367db109ef4d8eb8c07c832402661f75
    Closes-Bug: #1766057
    
  - V3 jsonschema validation: Quota classes
    
    This patch adds jsonschema validation for below quota classes API's
    
    * PUT /v3/{admin_project_id}/os-quota-class-sets/{quota_class_name}
    
    APIImpact : quota class update API will raise BadRequest(400) for
    quota classes keys other than those accepted by quotas and
    group_quotas resources.
    
    Change-Id: Id7ac6ec88a4b0ea83131d929a9d607f2c4e3429b
    Partial-Implements: bp json-schema-validation
    
  - V3 jsonschema validation: Quotas
    
    This patch adds jsonschema validation for below quotas API's
    
    * PUT /v3/{admin_project_id}/os-quota-sets/{project_id}
    
    Change-Id: I3c13fb3a9e823f213eacd75662fa86e93ab0458a
    Partial-Implements: bp json-schema-validation
    
  - Remove Fujitsu static config table
    
    The Fujitsu driver docs describe their config options without the
    need of a config table. This removes unnecessary reference to the
    static table.
    
    Change-Id: I699ba5b9a1d37c99b53b73b6e732b98e7089ffe4
    
  - Update Dell EMC docs to use config-table directive
    
    Remove static config table files in favor of using dynamically
    generated options using config-table directive.
    
    Change-Id: I07fac023866fc4a61f157c3b8a75409b75ae2923
    
  - Update Datera docs to use config-table directive
    
    Remove static config table in favor of dynamic config table
    generation using the config-table directive.
    
    Change-Id: I285da382185f3234615d73cdbdc43166e0b6a82c
    
  - Update Sheepdog docs to use config-table directive
    
    Remove static table in favor of dynamic table generation with
    the config-table directive.
    
    Change-Id: If3cd9ff077d4de3b50b5e32e7e5ee1d670886971
    
  - Remove remaining block device driver config info
    
    This cleans out some remaining references to the block device
    driver config options. This driver was removed several reelases
    ago.
    
    Change-Id: Ieaea863c6d93133e56ff16b4389b2519d670f271
    
  - Update CoprHD docs to use config-table directive
    
    Updating the driver configuration table to dynamically pull config
    options from the source by using the new config-table directive.
    
    Change-Id: If0dca56f211a1af585ae1ec12bca53ba91d8932a
    
  - Merge "Add config table sphinx directive"
  - GoodnessWeigher schedules non-type volumes
    
    If the GoodnessWeigher is configured to be the only active weigher within
    the scheduler, it cannot schedule a non-typed volumed for creation. This
    patch adds a safety assignement to the weigher stats generation to allow
    for scheduling untyped volumes.
    
    This patch safely assigns a dictionary data-type to "volume_type" in the
    event that:
    
        weight_properties = {
            "volume_type": None,
            etc..
        }
    
    Volumes created with a volume-type will not cause an exception and will
    be scheduled with the volume-type and back-end as configured.
    
    Closes-Bug: 1766966
    
    Change-Id: I7bc77ab02154aee80282e54b19a242bdea0a78ec
    Signed-off-by: Eric M Gonzalez <eric@awnix.com>
    
  - Merge "Fix doc errors in nimble driver documentation"
  - Merge "Adding abstract class NVMeOF"
  - Add config table sphinx directive
    
    In the past we had used an openstack-manuals tool to manually generate
    config option tables that would then be included into driver config
    documentation.
    
    With the move of documentation in-tree and the deprecation and removal
    of that tool, we have ended up with options that are no longer being
    updated when drivers change, or maintainers are left manually updating
    the existing tables.
    
    This addes a sphinx extension to use a new config-table directive to
    automatically pull in config options from the source so we no longer
    need to perform any manual action to pick up changes.
    
    Change-Id: I625fb96229001c326ed2400155e2d067279a400e
    
  - Fix doc errors in nimble driver documentation
    
    Last update had some syntax errors that introduced warnings. This
    passes in gate since the way that is currently run does not treat
    warnings as errors, but when running locally via tox where we do
    enforce this it fails.
    
    Change-Id: Ib2a2e850a73c4f4c8afd56b372b5b4d7ba5ec47f
    
  - api-ref: Correct the cgsnapshot_id parameter
    
    The cgsnapshot_id parameter in delete and get operations
    should in path, and is required.
    
    Change-Id: I5525c05769dcd27ff06d7b1d4c97698f99075f09
    
  - Merge "V3 json schema validation: volume manage"
  - Merge "Imported Translations from Zanata"
  - Test running jobs under py36/bionic
    
    Change-Id: I2036f9be98f76cba21180d74dbde1050c3359234
    
  - Merge "V3 json schema validation: workers"
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: I06102ca7cfd8bbf887f8778aa8963aba233f530c
    
  - Clean output of driver list generation
    
    The driver list generation takes driver docstrings and attempts
    to parse that into rst formatted output for publication. With the
    way this content is formatted within the docstring, this would
    cause some slightly off formatting in the html output.
    
    This attempts to better extract that information to make the
    output cleaner and more readable.
    
    Change-Id: I3b7e0817ade1c86b6d157c96872f00bb1b99c3d8
    
  - Fix QNap docstring format
    
    The QNap driver docstring had extra indentation resulting in
    doc output showing the version history as a note within a
    note.
    
    Change-Id: Ic0b6581cad88488c536fd7ffb69d5b42379a6283
    
  - Fix driver docstring RST formatting
    
    The docstring for the driver was using the ".. code::" directive
    instead of the ".. code-block::" directive, causing some issues
    with doc parsing.
    
    Change-Id: Ib4e23c855ba14ed925644aa12173ac9d3deb34ba
    
  - Add VERSION and WIKI_NAME to NEC driver
    
    The actual driver class needs to have these set in order to
    get pulled out for reporting like in:
    
    https://docs.openstack.org/cinder/latest/drivers.html#mstoragefcdriver
    
    This adds VERSION and WIKI_NAME to the MStorage driver class.
    
    Change-Id: I33ce94e679d5825afd9f41309ee9bb454e0473ae
    
  - Merge "RBD: Handle ImageNotFound exception in _get_usage_info correctly"
  - Merge "Add Keystone v3 domain information to context"
  - Remove deprecated lvm_max_over_subscription_ratio
    
    This setting was deprecated in in the Queens release in change
    Ib90cdb1f60741284ea171d1a84ad74beac43c7d3 and is now removed.
    
    Change-Id: Ib3947d48e7f319bf74c9b916c7dee19c89202e4f
    
  - Add Keystone v3 domain information to context
    
    Keystone v3 requires domain info to be supplied when
    making calls to Keystone.  Not providing this means
    that Cinder can't work with deployments that only
    support Keystone v3.
    
    (Specifically, this fails when trying to communicate
    with Keystone/Barbican from Cinder.)
    
    The domain information is retrieved from HTTP headers
    provided by Keystone and stored in our context object.
    
    This includes both "<x>_domain" and "<x>_domain_id"
    in our context object, since castellan depends on
    project_domain_id, but oslo.context has deprecated
    project_domain and user_domain.
    
    Closes-Bug: #1765766
    Change-Id: If389788f06a3cee75b30485e90e05745d559e2ed
    
  - Merge "Add missing VolumeAttachStatus enum field"
  - Merge "Trivial: Update pypi url to new url"
  - RBD: Handle ImageNotFound exception in _get_usage_info correctly
    
    Change https://review.openstack.org/#/c/486734 moved try-except
    statement to the wrong place. We need to open image in Ceph inside
    try-except block.
    
    This patch also fixes race condition between volume deletion and
    _get_usage_info calls.
    
    Closed-Bug: #1765845
    Change-Id: I7d3d006b023ca4b7963c4c684e4c036399d1295c
    Co-Authored-By: Melanie Witt <melwittt@gmail.com>
    
  - Merge "QNAP: driver fails to create volume and snapshot in some case"
  - QNAP: driver fails to create volume and snapshot in some case
    
    When NAS is busy or network delay, the volume or snapshot would
    fail to created. We fixed the logic of waiting NAS to creating
    LUN or snapshot.
    
    Change-Id: Ieb524d9b192e2a222f7d25a0df80cf52f1423e81
    Closes-Bug: #1765610
    
  - Merge "Dell EMC SC: Removed space from debug statement"
  - RBD: add support for active/active replication
    
    This patch breaks failover_host into the two requisite parts (failover
    and failover_completed) to support both single-backend and multiple
    backends configured as active/active.
    
    Change-Id: Ie59ba9ad538b2e607dd7ccabc0fbb035a6acf3b0
    
  - Merge "NetApp ONTAP: Set new sub-lun clone limit for ONTAP driver"
  - Dell EMC SC: Removed space from debug statement
    
    A space didn't belong where it was found. I killed it and I'm glad.
    
    Change-Id: I7581b7eeb3508a12342d42cdd955b55a440483b6
    
  - Collect resource id from RequestSpec parameter
    
    Try to get resource id from RequestSpec parameter
    instead of VolumeProperties, fix the incorrect
    log output as below:
    
    ```
    Exceeded max scheduling attempts 3 for volume None
    ```
    
    Change-Id: Ib28539c7970f66b94fc2540d66d8cf5c3b7bfc6b
    Closes-Bugs: #1765927
    
  - Add missing VolumeAttachStatus enum field
    
    VolumeAttachStatus has been defined already, This change
    just replace the missing string volume attach status with
    volume attach enum field.
    
    Change-Id: I1e873d66138b88745bdb325f124b6bd781c7d621
    Partial-Implements: bp cinder-object-fields
    
  - Clearup duplicate req_version variable
    
    In the method '_items', req_version is doubled, so remove one.
    
    Change-Id: I5a7446a3843eeb192092a2aff74b254527f4eae5
    
  - Parent of RBD cloned volume marked as deleted should not be manageable
    
    Parent of RBD cloned volune which marked as deleted should not be
    manageable. The API (get_manageable_volumes) of RBD driver needs to be fixed.
    
    Change-Id: I4e314ac3003f528de72391d1376d70454206e12a
    
  - Fix backup/restore error for ceph rbd backend
    
    If a large volume is backed up or a lot of concurrent backups happen,
    the cinder-backup service goes offline since a lot of these operations
    have calls to the C code which are not run on native threads.
    
    When many concurrent backup create/restore operations happen, then
    if all of them are greenthreads, and since, when there is a call to the
    C code, monkeypatching does not happen by eventlet. Hence, there is no
    context switch to other threads until the call to the C library is
    completed. This will block context switching to other green threads.
    As a result, some of the backup create/restore operations might go to
    error state.
    
    The objects on which read/write operations or C function
    calls are done are wrapped in Proxy objects so that they run as native
    threads.
    
    Change-Id: I75058c36085eb1a8adb26a95297e3a2039745a2c
    Closes-Bug: #1745435
    
  - Trivial: Update pypi url to new url
    
    Pypi url changed from [1] to [2]
    
    [1] https://pypi.python.org/pypi/<package>
    [2] https://pypi.org/project/<package>
    
    Change-Id: Ib3d1b29dbfe20afeab4756673e772b597fd63fdc
    
  - WinSMB volume driver doc: Add Volume backup support
    
    This update is based on the Windows SMB: Volume Backup support
    blueprint and merged change 528352 authored and committed by
    Lucian Petrut: Change ID: I8769a135974240fdf7cebd4b6d74aaa439ba1f27
    
    Change-Id: If5eea46db6049afc585784277b9f232c26e6da34
    
  - Merge "FC: refactor fczm utils decorators to functions"
  - Dell EMC SC: Enabled multiattach in Storage Center Driver
    
    Explicitely set multiattach = True in the data returned from
    the get_volume_stats call in the Dell EMC Storage Center driver.
    
    Change-Id: I9cd0aaadb66a2ff0f3dc947a7df3dcb9fadd4453
    
  - Merge "NetApp ONTAP: Fix export path used as volume name"
  - Merge "Use InvalidConfigurationValue instead of InvalidInput"
  - Merge "Improve API method logging"
  - Clarify sizing when creating vol from source
    
    The api-ref stated new volumes created from a source volume or
    snapshot would have the same size as the original, but that is
    not the case if a larger size is requested.
    
    Change-Id: Id2e0d53b56d5879026c182521a512dc2cfcd28f7
    
  - Improve API method logging
    
    We have tracing in the wsgi code to log the method being called,
    but since we are just formatting the function object into a string,
    we end up with the less than friendly output of:
    
    Calling method '<bound method VolumeController.delete of
    <cinder.api.v3.volumes.VolumeController object at 0x7f9f14f86dd0>>'
    
    This changes the logging to extract the actual name of the method
    being called. It also removes some unnecessary string coersion.
    
    Change-Id: I3a0a5973a1798a7fcf25c4288b9cbef1195f7015
    
  - NetApp ONTAP: Set new sub-lun clone limit for ONTAP driver
    
    Until ONTAP v8.3, the driver used to perform sub-lun clone of up to 64GB
    per operation, but as of v9.1, ONTAP handles only 128MB per operation.
    This new limit is causing error on volume extending operations, which
    triggers sub-lun cloning when resizing exceeds max-resize-geometry.
    For instance, if a volume is extended from 1GB to 64GB, the operation
    fails because it triggers a single sub-lun cloning of 1GB.
    
    This fix sets the limit used by sub-lun cloning to 128MB, therefore
    if a volume is extended from 1GB to 64GB, it no longer fails, and
    instead it will trigger 8 sub-lun cloning operations of 128MB.
    
    Change-Id: Ib294cbdbdfe19d34a7702dafec2c8d29136a2f25
    Closes-Bug: #1762424
    
  - Adding abstract class NVMeOF
    
    A new driver is added, and allows Targets to implement
    create_nvmeof_target, delete_nvmeof_target methods.
    
    NVMeOF is an abstract class to be implemented by NVMeOF
    helpers.
    
    Implements: blueprint nvme-target-cli
    Change-Id: I344da50112af8e559408b5b7c8532c659a97c7c2
    
  - V3 jsonschema validation: volume_transfer
    
    This patch adds jsonschema validation for below volume transfer API's
    * POST /v3/{project_id}/os-volume-transfer
    * POST  /v3/{project_id}/os-volume-transfer/{transfer_id}/accept
    
    Modified existing unit test cases which were mistakenly passed
    'transer_id' in request body which is supposed to pass in path.
    
    Partial-Implements: bp json-schema-validation
    
    Change-Id: Idcbfd37d49584ed6cb438cfdc0e7403504977525
    
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: I1b0d50672824d9e0aa9edf693b69ce41af02a2a5
    
  - Merge "ZFSSA implement "Enhance iSCSI multipath support""
  - FC: refactor fczm utils decorators to functions
    
    This patch changes the Fibre Channel Zone Manager
    utility decorators to functions.   Those functions
    now have to be called manually.   The intention of this
    is to unify how the FC drivers are to be declared and
    used vs. the iSCSI.  No more magic decorators for FC
    drivers only.
    
    Change-Id: I8e6e964e3694654b8ba93fe432a0dd49fa5e1df0
    
  - VMAX driver - Attaches/detaches after host assisted retype failing
    
    There is an issue after host-assisted retype where subsequent actions
    on a retyped volume fail due to a volume ID mismatch. This patch
    rectifies the issue by checking if the '_name_id' attribute of the
    volume matches the volume identifier on the backend, should the volume
    'id' attribute comparison fail.
    
    Change-Id: I8badcbd99e25336b1a905b82959e6c3a7bfcc420
    Closes-bug: 1763555
    
  - V3 json schema validation: volume manage
    
    This patch adds jsonschema validation for below volume_manage API
    * POST /v3/{project_id}/manageable_volumes
    
    Change-Id: I516fc5ef4b174bda54da306a2135aa4eb30e5ea1
    Partial-Implements: bp json-schema-validation
    
  - V3 json schema validation: workers
    
    This patch adds jsonschema validation for below workers API
    * POST v3/{project_id}/workers/cleanup
    
    Change-Id: I4eab4d0aa254d9ce7dcb9e15077779fa508cad41
    Partial-Implements: bp json-schema-validation
    
  - Merge "V3 jsonschema validation: volume actions"
  - Merge "Set sample_default for 'host' option"
  - Merge "Adding image membership check to _is_image_available"
  - RBD snapshot needs to be protected/unprotected after being managed/unmanaged
    
    The managed RBD snapshot needs to be protected, just as the same with
    procedure of creating a new Cinder RBD snapshot, to prevent the snapshot
    being deleted. When unmanage RBD snapshot, unprotect the snapshot when
    it has no children.
    
    Change-Id: Iff0a75369a603a348163cc4a2211bb6e6ad1fea9
    
  - Merge "Storwize: Report backend state in service list"
  - Merge "ZFSSA accept pool stats when cluster node stripped"
  - VMware: Extend volume after clone
    
    Volumes created from in-use source volumes will have the
    same size as the source volume. Fixing this by calling
    extend if the cloned volume's size is smaller than the
    requested volume size.
    
    Change-Id: Ia1da23fc17092ce6656ed85c91bdab72d2e7cc70
    Closes-bug: 1763529
    
  - Set sample_default for 'host' option
    
    This prevents build system hostnames from being
    written into sample conf files.
    
    Change-Id: I8c52db1e375116c750da9a619aaaea134bddebbe
    
  - Uncap eventlet
    
    Change-Id: I86f14aeeb198b0a89faf5b2d89449a8394edff1d
    
  - Merge "nimble: update documentation for supportability"
  - Merge "NEC docs: add new features and improve description."
  - Merge "Rephrase for multiattach support"
  - ZFSSA implement "Enhance iSCSI multipath support"
    
    A typical ZFSSA iSCSI deployment involves a ZFSSA cluster with two
    control heads, two storage pools, and two network interfaces. Under
    normal operation, one of the pools and one of the network interfaces
    would be owned by one control head, and the others by the other control
    head. This provides a form of "active/active" operation.
    
    Cinder would be configured with two backends - one pointing to the pool
    and an iSCSI target (group) normally served by the first head, and the
    other the second head.
    
    In the event of a failure of one control head, the other head will
    "takeover" its storage pool and network interface, allowing service to
    continue (perhaps with reduced performance) until the problem head is
    restored, at which time the resources would be "given back".
    
    In the takeover scenario, a sendtargets iSCSI discovery to the portal
    address normally associated with the failed head will be serviced by the
    other head, and it will return BOTH targets. os-brick, when configured
    to use multipath, interprets this as both targets being basically
    equivalent, and will use either one of them to determine the
    host/controller/target/LUN ID to use to find SCSI devices. When the same
    LU number is assigned to LUNs in both pools that are presented to the
    same compute node, it can cause a LUN belonging to one VM to to
    connected to a different VM.
    
    Whilst full multipath support is not implemented in the ZFSSA driver,
    using multipath on compute nodes provides some utility, even with only a
    single path (notably the I/O can be queued during a transient interruption
    (cluster takeover, network switch reboot, etc.). To support this scenario,
    whilst avoiding the above problem, this change implements "enhanced multipath
    support" [1] to provide explicit target info to os-brick (but only
    supporting a single path). This could be expanded to full multipath support
    in the future.
    
    [1] https://blueprints.launchpad.net/cinder/+spec/iscsi-multipath-enhancement
    
    Change-Id: I6402a6bc2a0d51efd3b60d93c11c1a81e8a73269
    Closes-Bug: 1762584
    
  - Rephrase for multiattach support
    
    Since we can enable attaching a volume to multiple servers,
    the doc needs update.
    
    Change-Id: Ide7c32f08113392b5f5e0042ec909b41c9cc6f88
    
  - NetApp ONTAP: Fix export path used as volume name
    
    On ONTAP NFS driver, the export path was being used as the volume
    name. If the export path is different than the volume name, the
    API call to delete files would fail and the driver would invoke
    a fallback method that deletes the files manually. This patch fixes
    that by finding the correct volume name.
    
    Change-Id: Ice78889573a36ff5e8873a0d316ddcf180d0263f
    Closes-bug: #1690954
    
  - Use InvalidConfigurationValue instead of InvalidInput
    
    worker value is from cinder.conf, so use InvalidConfigurationValue
    is better.
    
    Change-Id: I51a6d3041b42e9fc97d5562e5ae586000d6db36d
    
  - Merge "Clarify volume migration CLI reference"
  - Merge "Cleanup volume management CLI reference"
  - NEC docs: add new features and improve description.
    
    In the supported operation section, add new features supported.
    In the preparation section, improve description of access control
    configuration.
    
    Change-Id: I0a5bbc7b91035c55491c37a73bd23edc3a01b808
    Closes-Bug: #1745549
    
  - Merge "Avoid second restart on offline upgrades"
  - Update the HP MSA and Lenovo driver documentation
    
    Updated the list of supported models for the HP MSA driver.
    Improved the description of the driver-specific options for the
    Lenovo and HP MSA drivers.
    
    Change-Id: Ica6ba8f2b169b54c30dbfd0e2b5ab1765a3f8a77
    
  - Merge "Update auth_uri option to www_authenticate_uri"
  - Merge "VMAX docs - miscellaneous clarifications"
  - Merge "V3 jsonschema validation: snapshot_actions"
  - Merge "Refresh volume when checking for conflicting attachments"
  - ZFSSA accept pool stats when cluster node stripped
    
    When a node in a ZFSSA cluster fails, storage pools and network
    interfaces associated with it get "taken over" by the other node. In
    this scenario, the identity of the node does not match the "owner" of
    the pool. Currently, the cinder volume drivers consider this to be a
    failure. With this change, it will not be considered a failure, so long
    as the cluster node is stripped. If the cluster is operating normally,
    the node responding to API requests must be the node that owns the pool.
    
    Change-Id: I073cf97bc65f93acd5732c9b7072c7130e6b248f
    Closes-Bug: 1762777
    
  - Merge "add lower-constraints job"
  - Merge "[Optimise] Use ThreadGroup to manage periodic tasks"
  - Merge "Dell EMC SC: volume model update return missing vol id"
  - Refresh volume when checking for conflicting attachments
    
    We should only be able to create more than one attachment to the
    same volume if it's (1) multiattach=True or (2) it's multiattach=False
    AND the attachments are to the same instance. It is not valid to
    attach more than one instance to the same multiattach=False volume.
    
    The _attachment_reserve method is checking for this if the
    conditional update to the volume status fails, but it does
    not refresh the volume before checking the attachments. Since
    we could be racing to create attachments concurrently, when
    the request that failed the conditional update actually pulled
    the volume out of the DB, it might not have had any attachments,
    so we need to refresh it before checking the list of attachments
    to see if the instance we're trying to attach (reserve the volume)
    is the same as what's already attached to the volume.
    
    Change-Id: Iee78555163bbcbb5ff3e0ba008d7c87a3aedfb0f
    Closes-Bug: #1762687
    
  - nimble: update documentation for supportability
    
    - update the configuration to include multipath settings
    - indicate unsupportability with HPE Nimble Linux Toolkit
    
    Change-Id: I6f6c8063f6995d485e7db63c27cdb19bcc5125fc
    Closes-Bug: 1755546
    
  - Merge "Move MV history under API Microversion contrib docs"
  - Merge "Doc: Add driver security notes to contributor doc"
  - Doc: Add driver security notes to contributor doc
    
    Document some requirements that driver authors should
    consider when creating drivers.
    
    Change-Id: Ieae8863d5e4c140545d89c4cfa4e019dbb301a36
    
  - Move MV history under API Microversion contrib docs
    
    The REST API Version History was being listed in the top level
    TOC for the contributor guide, causing each microversion to show
    up as a separate item in the table of contents. This looks a odd
    and causes a lot of scrolling to get to some of the contributor
    information.
    
    This moves the version history under the API Microversions
    section so all microversion information is within on section of
    the guide.
    
    Change-Id: I74232b52088a395b618e07902427889200c2fdae
    
  - V3 jsonschema validation: snapshot_actions
    
    This patch adds jsonschema validation for below snapshot_actions API
    * POST /v3/{project_id}/snapshots/{snapshot_id}/action
    
    Change-Id: I810f72777864947e7e44ddf668732e06db68c1f3
    Partial-Implements: bp json-schema-validation
    
  - Fix mocks for ZFS Storage Appliance unit tests
    
    We should not use @mock.patch for setUp methods. They will be ignored
    for most cases. This patch adds mocks explicitly into the setUp methods.
    
    Change-Id: I89b3cfdc618816d4fd8160bf3876fb20ccb7f45b
    
  - Storwize: Report backend state in service list
    
    This patch implements reporting backend state in
    service list.
    
    Change-Id: Ida0737ae07e2247c38f2a2f4bfb494b4e302cf57
    Implements: blueprint report-backend-state-in-service-list
    
  - Merge "VNX: fix performance in create/delete_volume"
  - Merge "Clean up doc configuration"
  - Merge "Move testing info higher in contrib docs"
  - Merge "Use sphinxcontrib.apidoc for module docs"
  - Merge "Add doc to pep8 check_exec"
  - Merge "Remove exec flag from doc files"
  - Add doc to pep8 check_exec
    
    Detect executable files in doc/source.
    
    Change-Id: I43894faacdec839cc61bfb7db675f33cbc5d454d
    
  - VMAX docs - miscellaneous clarifications
    
    Short clarification on san_port, All flash licensing
    and libvirt -d option.
    
    Change-Id: I3df61b6852c98b156007022cce647859554b6177
    Closes-Bug: #1757172
    
  - [Optimise] Use ThreadGroup to manage periodic tasks
    
    Instead of manually managing periodic tasks, use
    oslo.service's threadgroup to make it easier to
    stop them.
    
    [1]: https://docs.openstack.org/oslo.service/latest/reference/threadgroup.html
    
    Change-Id: Ia584b9fafcc9e73f747dbba563be4fdca8d565ea
    
  - Update auth_uri option to www_authenticate_uri
    
    Option auth_uri from group keystone_authtoken is deprecated[1].
    Use option www_authenticate_uri from group keystone_authtoken.
    
    [1]https://review.openstack.org/#/c/508522/
    
    Change-Id: I2a9853b52f23fc4b6a24a0548b9749e976467758
    
  - add lower-constraints job
    
    Create a tox environment for running the unit tests against the lower
    bounds of the dependencies.
    
    Create a lower-constraints.txt to be used to enforce the lower bounds
    in those tests.
    
    Add openstack-tox-lower-constraints job to the zuul configuration.
    
    See http://lists.openstack.org/pipermail/openstack-dev/2018-March/128352.html
    for more details.
    
    Change-Id: I329e6364d537f2acac796e389f15f3c7162a9244
    Depends-On: https://review.openstack.org/555034
    Signed-off-by: Doug Hellmann <doug@doughellmann.com>
    
  - Unignore .stestr.conf
    
    Commit 676195e00978109cf5e0388034efacd354785034 added .stestr.conf to
    the repository, so not ignoring it seems prudent.
    
    Change-Id: I4c7ff97ab9cb52d211186b43b558dccef8f27320
    
  - VNX: fix performance in create/delete_volume
    
    When in high concurrency, it is helpful to avoid commands or use
    commands with "-np" option, in this patch, the following changes are
    made:
    
    * use '-np' when creating new lun.
    * do not query if it's an snap-copy volume.
    * do not issue unnecessary 'snap -destroy' when deleting volume.
    
    Change-Id: I5dbeca00bfbd19133805556cdcc5214d069e3b28
    
  - Merge "fixs grammar problems and unify format in api-ref"
  - Default pep8/fast8 to run under python 3
    
    There are slight differences with pep8 when run under python 3.
    It is a little more strict on certain things, plus we want to
    get to just supporting python 3 eventually, so this switches
    over the pep8 and fast8 targets to use python 3.
    
    Change-Id: I3212bfb2dd173e79dae6d548827a803f68923da9
    
  - Move testing info higher in contrib docs
    
    This moves the Testing section to be second in the TOC after
    setting up the development environment so the high level info
    people need is up front before the information that digs into
    more specific details.
    
    Change-Id: Ieeafc483a11fc30139e1969cf2607c55cf4e4802
    
  - Clean up doc configuration
    
    Remove some stale settings and get rid of setting version and
    release. Those settings are now taken care of by openstackdocstheme
    and do not need to be explicitly set, and since docs jobs no
    longer install the project in order to generate docs, we are not
    able to load those values from the python modules anyway.
    
    Change-Id: I1a9a48538ca5c5e22e02f34c837e8fc783aeb2e9
    
  - Use sphinxcontrib.apidoc for module docs
    
    Now that sphinxcontrib.apidoc is available, we should get rid of
    the custom code we have for generating this information ourselves.
    This also cleans up some really stale docs that are no longer
    needed.
    
    Change-Id: Iaa9fecc2478326b45b67a2cfd98de5f93f537efe
    
  - Remove exec flag from doc files
    
    A couple files were checked in with the executable flag set. This
    removes exec.
    
    Change-Id: I3188bc31f1292b28f981e89cad5b16db5d38486f
    
  - Merge "NEC driver: Disallow access from the source node after live-migration."
  - V3 jsonschema validation: volume actions
    
    This patch adds jsonschema validation for below volume actions API's
    * POST /v3/{project_id}/volumes/{volume_id}/action (attach)
    * POST /v3/{project_id}/volumes/{volume_id}/action (detach)
    * POST /v3/{project_id}/volumes/{volume_id}/action (volume_upload_image)
    * POST /v3/{project_id}/volumes/{volume_id}/action (extend)
    * POST /v3/{project_id}/volumes/{volume_id}/action (retype)
    * POST /v3/{project_id}/volumes/{volume_id}/action (initialize_connection)
    * POST /v3/{project_id}/volumes/{volume_id}/action (terminate_connection)
    * POST /v3/{project_id}/volumes/{volume_id}/action (set_bootable_status)
    * POST /v3/{project_id}/volumes/{volume_id}/action (update_readonly_flag)
    
    Change-Id: I39ede009d5e909a076860df7305865286caa5352
    Partial-Implements: bp json-schema-validation
    
  - fixs grammar problems and unify format in api-ref
    
    Change-Id: Ib83d1cb6def076c0ab06947b681cd10cd03ed002
    
  - Clarify volume migration CLI reference
    
    Wording for the volume migration was not very clear. This reworks
    that text to be a little more concise. It also removes an OSC arg
    that does not actually do anything.
    
    Change-Id: Id75bd6b4445fcf8042d87578f5f692958a859c0b
    
  - Merge "Handle migrating encryption key IDs in Backup table"
  - Merge "Doc: Add inspur driver doc to toctree"
  - Merge "Dell EMC SC: dell-storagecenter-driver docs updated"
  - Add delete snapshot preconditions
    
    Adds details to the api-ref pointing out the necessary
    snapshot states to be able to delete.
    
    Change-Id: Icea6f226329bedde2a445246122f35afccffb5ec
    
  - Merge "ScaleIO: Prevent usage of unsafe volumes"
  - Handle migrating encryption key IDs in Backup table
    
    Enhance the code that migrates the ConfKeyManager's fixed_key to
    Barbican to also consider the Backup table. When the original key
    migration feature was added, the encryption key ID was not stored in
    the Backup table. But now the Backup table contains that field, so
    the migration code needs to handle that table as well.
    
    Whereas the cinder-volume service is responsible for migrating keys
    in the Volume and Snapshot tables, the cinder-backup service handles
    migrating keys in the Backup table. Each instance of the service
    migrates its own entries by matching the "host" field in the
    corresponding tables.
    
    The Backup OVO now inherits from base.CinderComparableObject. This does
    not affect the object's hash signature, and so the version number does
    need to be incremented.
    
    Closes-Bug: #1757235
    Change-Id: Id4581eec80f82925c20c424847bff1baceda2349
    
  - Dell EMC SC: dell-storagecenter-driver docs updated
    
    Document has been updated to include direct connect support. The
    Dell EMC SC driver can be configured to point at a Storage Center
    directly rather than through a DSM aggregator. This addresses
    minimum requirements and limitation.
    
    Change-Id: I0a0095235685c8f6dc6d9cd88b27d454641da387
    
  - Merge "Unity: fail to detach lun when auto zone enabled"
  - Doc: Add inspur driver doc to toctree
    
    This should be here, causes doc build
    warnings since it is in no toctree.
    
    Change-Id: I79026ac7bbc9d05ff8945829d5ea1ced68b24f09
    
  - VMware: Adding NFS41 datastore as supported
    
    vSphere 6.0 supports datastores backed by NFS 4.1.
    Adding NFS 4.1 based datastores as supported.
    
    Closes-bug: #1751950
    Change-Id: Id0f04f1055b0d94447916963da071efc4bd92c82
    
  - Merge "Implementation of Cinder driver over FC for Inspur InStorage"
  - Merge "OVO: support query for disabled services"
  - Merge "Storwize: self assign the SCSI lun id for volume attaching"
  - Merge "[sytle] use http code constant instead of int"
  - Merge "[Optimize] Validate configured scheduler filters when initialize"
  - Merge "Document more review processes"
  - Avoid second restart on offline upgrades
    
    On offline upgrades, due to the rolling upgrade mechanism we need to
    restart the cinder services twice to complete the upgrade, just like in
    the rolling upgrade case.
    
    The current offline upgrade process is:
    
    - Stop cinder services
    - Upgrade the cinder nodes
    - Sync your DB
    - Start the cinder services
    - Restart all the cinder services
    
    This second restart creates a bad user experience and it should not be
    necessary on an offline upgrade, so this patch adds a new optional
    parameter -called "--bump-versions"- to the cinder-manage db sync
    command that allows us to skip the restart of the services.
    
    Closes-Bug: #1756321
    Change-Id: I1b58c637f6b2187a78c9c00a6c4933335439ad6f
    
  - [Optimize] Validate configured scheduler filters when initialize
    
    The correctness of default scheduler filters will be validated
    only when processing filter requests, this means administrators
    will be unware of that until creating requests keep failing.
    This patch moves that logic into initialization code.
    
    Change-Id: I596c94fae33767b6b8d4816e572ff5e9dda621b7
    
  - Remove extended attribute 'os-volume-replication' in Doc
    
    'os-volume-replication:extended_status' and
    'os-volume-replication:driver_date' are unavailable
    since the merge of patch [1] during Liberty, remove these
    from API document.
    
    [1]: https://review.openstack.org/#/c/275797/
    
    Change-Id: Ib319702f085930a6bf528ef95fb17a7da8451e96
    
  - Cleanup volume management CLI reference
    
    This puts this documentation into a little more logical order. It
    also cleans up some omissions and formatting issues as well as
    removes some commentary not appropriate for this documentation.
    
    Change-Id: I4107c7909e0983d51ab7da7c8e66473b6fd44166
    
  - Merge "3PAR: Report backend state in service list"
  - Use check_virtual_size to do the size check
    
    1. data.virtual_size(bytes) in fetch_verify_image is not translated
       to GiB, use check_virtual_size to fix this.
    2. Use check_virtual_size to do all the check of volume size.
    3. Add dest_dir in the log of check_available_space. So we can get
       the image conversion dir simply.
    
    Change-Id: I959f67676060bb827dc4304ccd29ceabebc7cc31
    Closes-Bug: 1756232
    
  - Unity: fail to detach lun when auto zone enabled
    
    When the lun is the last one attached to the host and it is detached,
    the attribute `host.host_luns` is None. Use `not` in if statement which
    is pythonic in checking None and empty list of `host.host_luns`.
    
    Change-Id: I5d8f63f9a78d001bc699af538f586aab8d73a5cf
    Closes-bug: #1759175
    
  - Implementation of Cinder driver over FC for Inspur InStorage
    
    This driver implements the features to support the use of Inspur InStorage
    over FC. This driver is based on the iSCSI driver of Inspur InStorage.
    
    Change-Id: I51c746f0aff566cfb99f9f3e65a509c1e545f194
    Implement: blueprint inspur-instorage-fc-support
    
  - Merge "Fix doc format errors in module docstrings"
  - Dell EMC SC: volume model update return missing vol id
    
    Create_group_from_src is not returning the volume id along with
    the other volume updates. Manager.py uses this to update the db.
    
    Added this id to create_group_from_src return.
    
    Closes-Bug: #1759897
    Change-Id: I240df78363182e4e8017f89b67c0f7d7bf6819c8
    
  - Adding image membership check to _is_image_available
    
    This adds a condition for valid membership where the image visibility is
    'shared', the current project matches a member_id of the image and that
    member's status is 'accepted'.  If all of these conditions are true,
    then the current project has access to the image.  This check is
    performed after other checks since it requires querying for membership
    information from Glance so it will only affect membership checks that
    were likely to fail already (due to having failed all previous checks).
    
    Change-Id: Ifdcf7c5eab435b0dc40dd3650b61ebfef1e5579e
    
  - OVO: support query for disabled services
    
    Add a additional parameter to get_by_host_and_topic() to query for
    disabled (or not) services.  This defaults to False so remains
    transparent to existing callers.
    
    This is needed for the coming replication promotion patch where services
    are required to be disable prior to promotion.  If this is the case, I
    must be able to access the disabled services in order to correctly
    perform the promotion operation.
    
    Change-Id: I8fc93c55546e6d4a582beaea9caebcbc9f18d98b
    
  - Merge "Unity: Enable ssl verification"
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: I383304c78fadd43eb97126b7911c524c6e6cc429
    
  - Fix doc format errors in module docstrings
    
    This fixes some formatting issues in docstrings to allow us
    to enable the warnings-as-errors flag for our docs build.
    
    Co-authored by: Jay S. Bryant <jungleboyj@electronicjungle.net>
    
    Change-Id: I9567e232686d8775ff67418e8333c164f8acd8f3
    
  - Remove unused doc extensions
    
    Some doc extensions were no longer being used. This removes them
    from our doc configuration.
    
    Change-Id: I130462a9831a84fdd9607c8ca370c91cf395fb1b
    
  - Merge "Don't use custom password generating code"
  - Allow extension of volumes with snapshots for VZstorage driver
    
    This change lifts an earlier limitation that explicitely did
    not extend a volume if snapshots of that volume exist. This
    limitation was lifted on the glusterfs driver and this change
    mirrors that behaviour.
    
    Partial-bug: #1687048
    
    Change-Id: I9aa727b1880b374105c2cad685dc196c7d39f841
    
  - 3PAR: Report backend state in service list
    
    This commit implements report backend state in
    service list
    
    Change-Id: I36b2fdb38a66808175b7c66eaaba0c8ff6a9fb2c
    Implements: blueprint report-backend-state-in-service-list
    
  - Storwize: self assign the SCSI lun id for volume attaching
    
    Currently, the SCSI lun id is assigned by storage. But Storwize may
    assigned the same SCSI lun id for different volumes on different i/o
    groups. The wrong volume may be discovered with the same wwpn and same
    lun id.
    
    This patch reverts the patch https://review.openstack.org/#/c/360394/,
    Storwize volume driver calculates an unused SCSI lun id and sends the
    SCSI lun id to storage.
    To avoid the problem of patch 360394,  this patch retries 3 times to
    map volume to host if there is CMMVC5879E error.
    
    Change-Id: I3d3c61f913ff7ec8d35c8105cecc1a51accd21e7
    Closes-Bug: 1757922
    
  - ScaleIO: Prevent usage of unsafe volumes
    
    It is possible for thick volumes, created from storage pools
    which have zero-padding disabled, to contain previous data. This
    change prevents these volumes from being created by default. A
    user can override this behavior by acknowleding the possibility
    with a configuration option.
    
    Change-Id: I62f8f48b1624fc9abb7427bd4ca51f7873d35b96
    Closes-bug: #1699573
    
  - Merge "Remove inappropriate directory space check"
  - Merge "Reduce scope of the lock for image volume cache"
  - Merge "Fix parameter error in image_utils"
  - Merge "Move openstackdocstheme to extensions in api-ref"
  - Merge "Storwize: check flashcopy_rate before mkfcmap"
  - Move openstackdocstheme to extensions in api-ref
    
    Move openstackdocstheme to extensions. According to the guide below:
    https://docs.openstack.org/openstackdocstheme/latest/
    
    Change-Id: Ibfb75e2a484b09b18cd18a4b2d21d559d7d4b475
    
  - Unity: Enable ssl verification
    
    This commit allow user to enable ssl verification on demand for the
    Unity Cinder driver.
    
    Change-Id: Iaaa498a377edae873c489b6a5818923e16d594f0
    
  - Storwize: check flashcopy_rate before mkfcmap
    
    Configure flashcopy_rate in volume type, there is no value
    checking before mkfcmap.
    
    This patch adds flashcopy_rate checking before make fcmap.
    
    Change-Id: I7823749bd8add3ce41e4b2862fd0f06dd0fa0888
    Closes-Bug:  1753908
    
  - Merge "Enable slow tests for lvm-barbican job"
  - Reduce scope of the lock for image volume cache
    
    Refactor the code that creates a volume from a downloaded glance image
    to minimize the scope of the lock that prevents multiple entries in the
    volume image cache. Now the lock serializes only the portion of the
    code that causes the cache entry to be created. Locking is minimized
    when the volume is already cached, or when the volume won't be cached.
    
    Closes-Bug: #1758414
    Change-Id: I547fb4bcdd4783225b8ca96d157c61ca3bcf4ef4
    
  - Merge "Remove driver-specific notes from extend api-ref"
  - Merge "api-ref: Fix microversion for volume.backup_id"
  - Merge "Updated from global requirements"
  - Don't use custom password generating code
    
    Consolidate code that generates password strings
    in drivers.
    
    Just a cleanup/hardening measure.
    
    Change-Id: Icd34077bbf1ccdee3475ba17ab3a52d8ad34e821
    
  - Merge "Add max MV for Queens and fix formatting"
  - Merge "VNX: fix options incorrect behavior"
  - Merge "VMAX driver - Replication failover performance improvement"
  - Merge "Storwize: modify hyperswap host_site configuration"
  - api-ref: Fix microversion for volume.backup_id
    
    This was added in 3.47 in change
    Icdc6c7606c43243a9e12d7a42df293b729f589e5.
    
    Change-Id: I87ade05c14ecb47d92a6406c8ce0bf9da1e31ffa
    
  - Remove driver-specific notes from extend api-ref
    
    This is not part of the API contract.  It should
    be documented elsewhere as a limitation of the
    volume driver.
    
    Change-Id: I3586853ce7e11150d54cc552863bd3d4f6db197b
    
  - Document more review processes
    
    The Cinder team has some code review policies that are
    generally known but not documented anywhere.  This patch
    provides a place for us to document those reiview
    practices that may not be known to everyone.
    
    I have started by documenting the new process proposed at
    the Dublin PTG for targeting milestones.  I also add
    documentation to formalize the fact that we should not
    merge vendor patches without their CI passing on the
    patch.
    
    Change-Id: Ie3bb23dcb6299f15ae69e12095c1aa9640565c33
    
  - fix a typo: s/clent/client/
    
    Change-Id: I7e244b71b71855d78f05c3f9d6f7e046c5e19f94
    
  - Updated from global requirements
    
    Change-Id: I514d5558f64b4402799f85d8cd1f263068536556
    
  - Merge "V3 jsonschema validation: Clusters"
  - [sytle] use http code constant instead of int
    
    To keep the consistency, using http_client.ACCEPTED instead
    of 202 in groups.py & volumes.py
    
    Change-Id: I12a853c24210865e9fc01220fedf6622efa231e7
    
  - Merge "Follow the new PTI for document build [Updated]"
  - Merge "Fix: Including resources in None cluster"
  - Merge "Fix: Incorrect replication status on clusters"
  - Merge "V3 jsonschema validation: types_extra_specs"
  - Merge "Support Qemu >= 2.10.0 in Quobyte driver"
  - Merge "fix a typo in remotefs.py"
  - Merge "Add missing 'target_obj' when perform policy check"
  - Merge "INFINIDAT: set REST API client parameters"
  - Merge "VMAX driver - Retype replicated volumes"
  - Merge "Remove some unused parameters in parameters.yaml"
  - V3 jsonschema validation: Clusters
    
    This patch adds jsonschema validation for below Clusters API's
    * PUT  /v3/{project_id}/clusters/action
    
    Change-Id: I7ba0d9fb5292d0076fc99004cf1326d7f3fc86ee
    Partial-Implements: bp json-schema-validation
    
  - VNX: fix options incorrect behavior
    
    Since Newton, the following options were incorrectly handled:
    
    max_luns_per_storage_group: this option was ignored, and implicitly set
    to 255 in storops, thus there is not way to set it to a larger number
    for admin. This commit will add this feature back.
    
    check_max_pool_luns_threshold: this option was obsoleted since driver
    can detect this value automatically. This commit will remove this
    option for driver code.
    
    Closes-bug: #1738681
    
    Change-Id: If3ca0999a745e6977345f208fc6edd00c86ccea9
    
  - Storwize: modify hyperswap host_site configuration
    
    The new configuration storwize_preferred_host_site was introduced in
    volume type for hyperswap feature on Queens release. Actually, the
    host_site is related to host rather than volume.
    
    This patch removes the parameter storwzie_preferred_host_site from
    volume type configuration and updates it from StrOpt to DictOpt in cinder
    back-end configuration.
    
    Closes-Bug:  1742866
    
    Change-Id: Ie1df4cc45c2d1f72f33beea7ddc5bb3797a34728
    
  - Support Qemu >= 2.10.0 in Quobyte driver
    
    This adds using the '--force-share' option with qemu-img, similar to
    the changes in Ia3623af2048d6cbda65deebf4404e6b5fefe1bfc .
    
    Closes-Bug: #1758114
    
    Change-Id: I5a06e10fbe03e4184c891733dde430b66109ce35
    
  - Merge "Fix get_max_over_subscription_ratio docstring"
  - Merge "Sync snapshot's encryption_key_id with volume's value"
  - Merge "[VNX] Restore snapshot to volume"
  - fix a typo in remotefs.py
    
    Change-Id: Ic052dd55e9f7bec74cf97df0c94129ef3a004782
    
  - Fix get_max_over_subscription_ratio docstring
    
    TrivialFix
    
    Change-Id: I1fa9e8071fb01f39109915a7bf390e83378c2e01
    
  - Fix: Incorrect replication status on clusters
    
    When running a replicated service in a cluster, the replication_status
    field in the Cluster DB table doesn't get updated in some cases, making
    the cluster look like it's non replicated:
    
    - When starting a new clustered replicated service cluster.
    - When enabling replication on an already clustered service.
    
    The reason for that is that the service and cluster creation happens on
    the Service's __init__ method, while the replication status isn't known
    until later, when the start method in the service calls the manager's
    init_host_with_rpc, where the manager updates the service DB entry.
    
    This patch adds an update for the replication field to the cluster table
    in that same place, making sure we have the right data.
    
    Closes-Bug: #1758024
    Change-Id: I0d2fded62372a2fc5f49538133c5b66694dccc77
    
  - Fix: Including resources in None cluster
    
    Cinder is incorrectly trying to add resources to a cluster even we are
    not clustered, so we can see messages like:
    
      Including all resources from host host1@lvmdriver-1 in cluster None.
    
    This happens when there is no service entry in the DB.
    
    This patch fixes this an ensures we only try to include resources when
    we are running a clustered service.
    
    Closes-Bug: #1758022
    Change-Id: Ief102a8eafd5175ff653ce29bd59b8f638ded112
    
  - Follow the new PTI for document build [Updated]
    
    This review already follows the new PTI
    https://review.openstack.org/#/c/529006/
    
    However, we also should remove [build_sphinx] section
    as described in:
    http://lists.openstack.org/pipermail/openstack-dev/2018-March/128594.html
    
    Change-Id: I2f4638c71a625df7efa49818f8e40d69ae750301
    
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: I22cbc8a94922a7733c1f2f8a709bb4679fde7cd5
    
  - NEC driver: Disallow access from the source node after live-migration.
    
    NEC driver deletes access permission from nodes in the method
    remove_export().
    However, the method remove_export() is not called after live-migration.
    After live-migration, access permission of the live-migration source
    node is not deleted.
    
    This patch adds the step to delete access permission from the node
    in the method terminate_connection().
    The terminate_connection() is called after live-migration and
    access permission of the source node is deleted.
    
    Change-Id: Id605eb6ff61cd1d382bf82173e6d65b986dda398
    Closes-Bug: #1753375
    
  - Merge "Updated from global requirements"
  - Fix parameter error in image_utils
    
    Ref patch: https://review.openstack.org/#/c/514658/
    
    1. Fix parameter error of method fetch_to_volume_format that
       called in fetch_to_raw and fetch_to_vhd.
    2. Add new parameter volume_subformat for fetch_to_vhd to keep
       the same business with [Ref patch].
    
    Change-Id: Id30ffd8a40eca841b5d6461c2f0269a0d9a4d628
    
  - Remove inappropriate directory space check
    
    Removes an inappropriate directory space check when copying an image to
    a volume. In the general case, "dest" is a block device, so it's not
    appropriate to check for space in the directory containing "dest". One
    exception may be the NFS driver, where dest actually is a file, but that
    should be handled elsewhere (if necessary). This check has always been
    inappropriate, but was silently ineffective due to a unit-comparison bug
    that was recently fixed.
    
    Change-Id: Ie5eba32f92eb1740554bfc44baf612e326d6fde5
    Closes-Bug: 1756425
    
  - Merge "Mock local directory testing for image conversion"
  - Add max MV for Queens and fix formatting
    
    Adding header to denote which microversion was the maximum for
    the Queens release and fix some formatting in the last addition
    that caused the text to be shown as an indented note.
    
    Change-Id: Ie786144b6417538953a9f77c69555b83be673b92
    
  - Merge "QNAP Drivers - Move from httplib to requests"
  - INFINIDAT: set REST API client parameters
    
    Communicating with the INFINIDAT InfiniBox backend is done using a
    REST API through a client implemented by the infinisdk package.
    This change sets the number of retries in case of an erroneous API
    call and sets the User-Agent string for the client.
    
    Change-Id: I7e94ab69e460e56ef59e33e206e9377024b213d9
    
  - Merge "Imported Translations from Zanata"
  - Merge "Fix vhd image conversion regression"
  - Mock local directory testing for image conversion
    
    A few unit tests hit the path in create volume that now checks for
    and creates the image conversion directory. For unit test runs,
    this results in a 'conversion' dir being created in the root of
    the repo. This adds mocking to prevent local filesystem modification.
    
    Change-Id: I9d3d15411089fc020257b4021a5263a18433eece
    
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: I539ffb8a8034c27208d94477f5841d50b6a880a1
    
  - Merge "DS8K: correct in-use replication vol status"
  - Fix vhd image conversion regression
    
    A recent change introduced a regression: due to a wrong assignment,
    we're no longer passing qemu-img the right format when converting
    images to "vhd". Note that it expects the legacy "vpc" name.
    
    This change addresses this issue.
    
    Closes-Bug: #1757244
    
    Change-Id: If7a2e3470403b45eff69dcf69b67615bb982a4eb
    
  - Merge "Dell EMC SC: ISCSI initialize_connection fixes."
  - Sync snapshot's encryption_key_id with volume's value
    
    Sync the snapshot's encryption_key_id with the volume's value just
    prior to updating the snapshot's DB entry. This ensures the snapshot
    DB entry isn't out of date in case the volume's encryption_key_id
    changed while the snapshot was in flight. The encryption_key_id will
    change when keys based on the ConfKeyManager are migrated to Barbican.
    
    Closes-Bug: #1756139
    Change-Id: I65abb8dd17de7633828b731d1cf1f2321a6f3e5b
    
  - V3 jsonschema validation: types_extra_specs
    
    This patch adds jsonschema validation for below volume type extra
    specs API's
    * POST /v3/{project_id}/types/{volume_type_id}/extra_specs
    * PUT  /v3/{project_id}/types/{volume_type_id}/extra_specs/{key}
    
    Partial-Implements: bp json-schema-validation
    
    Change-Id: Ida04cd65bfc93c442eb3c3b02c23beada8654811
    
  - DS8K: correct in-use replication vol status
    
    Correct in-use replication volume status after failover/failback.
    Currently the status of in-use replication volume is changed to
    available after failover in ds8k cinder driver to make sure the
    replication volume can be attached again after failover. So does
    failback operation. However, nova is using the new cinder attach
    api right now. The in-use volume can not be attached to the same
    instance again even the volume status is changed to available and
    attach_status is changed to detached in cinder driver by force.
    This is due to nova stores the combined relationship of volume_id
    and instance.uuid in nova db as BlockDeviceMapping. This is to avoid
    attaching the same volume to the same instance twice. So the
    attaching request can not be sent to cinder if there is attached
    record in BlockDeviceMapping between the volume and instance. So this
    patch keeps replication volume status during failover and faiback.
    
    Change-Id: Ia66d3522bbe107fb7ab077ab948393c2b7f34737
    Closes-Bug: 1746732
    
  - Merge "nimble: update documentation for supportability"
  - Merge "Fix policy in code docs for extended_snapshot_attributes"
  - Merge "Fix incorrect usage of assertEqual() method in RBD unit tests"
  - Merge "Add support for unmanaging snapshot of rbd driver"
  - Dell EMC SC: ISCSI initialize_connection fixes.
    
    Driver was not honoring the server in ISCSI and returning connection
    information for all servers (IQNs) connected to a volume.
    
    If multiple servers are mapped to a volume the driver was only returning
    the first server for a given portal.
    
    Closes-Bug: #1756914
    Change-Id: If65780000fa8f59f663b00b88584cf289effa590
    
  - nimble: update documentation for supportability
    
    - update the ocata supportability for Nimble OS
    - update supportability for single subnet with multiple interfaces
    - remove unsupportability for unicode
    
    Change-Id: I419fdb69f27232663aaa4bff5fa3ec925cb221d4
    Closes-Bug: 1755546
    
  - Fix incorrect usage of assertEqual() method in RBD unit tests
    
    This patch is to fix some incorrect usage of assertEqual() method in RBD
    unit tests, and the right way is to use with assertEqual(expected, actual).
    
    Change-Id: Ib38890e5cffbbd5dd2c31fad35bfba442519df26
    
  - Add missing 'target_obj' when perform policy check
    
    Generally, we have to pass target object to ``authorize``
    when enforce policy check,  but this is ignored during
    our develop and review process for a long time, and the
    potential issue is anyone can handle the target resource
    as ``authorize`` will always succeed if rule is defined
    ``admin_or_owner`` [1]. Luckily, for most of those APIs
    this security concern is protected by our database access
    code [2] that only project scope resource is allowed.
    
    However, there is one API that do have security issue when
    administrator change the rule into "admin_or_owner".
    
    1. "volume reset_status", which cinder will update the
    resource directly in the database, procedure to reproduce
    bug is described on the launchpad.
    
    This patch intends to correct most of cases which can be
    easily figured out in case of future code changes.
    
    [1]:
    73e6e3c147/cinder/context.py (L206)
    [2]:
    73e6e3c147/cinder/db/sqlalchemy/api.py (L3058)
    [3]:
    73e6e3c147/cinder/api/contrib/admin_actions.py (L161)
    
    Partial-Bug: #1714858
    Change-Id: I351b3ddf8dfe29da8d854d4038d64ca7be17390f
    
  - Merge "[sytle] use http code constant instead of int"
  - Fix policy in code docs for extended_snapshot_attributes
    
    This is to fix policy in code docs for the policy
    'volume_extension:extended_snapshot_attributes' which currently
    incorrectly says that the policy is enforced for GET /snapshots
    which is wrong [0].
    
    According to the code, the policy is enforced for show and details
    (GET /snapshots/{snapshot_id} and GET /snapshots/details) [1].
    
    This was also confirmed using Patrole test [2].
    
    [0] 831665f59a/cinder/policies/snapshots.py (L48)
    [1] 831665f59a/cinder/api/contrib/extended_snapshot_attributes.py (L30)
    [2] I7770148584e10a08b3e133b1793a1533f1728fc1
    
    Change-Id: I7b5a870bf74574f45fc46fdccb9551a2e911f360
    
  - Merge "V3 jsonschema validation: qos-specs"
  - Merge "Fix missing print format error"
  - Merge "VMAX docs - prefix emc-vmax-driver.rst with 'dell-'"
  - Merge "Use soft authorize for 'extended_snapshot_attributes' policy"
  - Merge "Adding Glance method for listing image members and unit test"
  - Merge "Storwize: filter active wwpns for NPIV"
  - Merge "Adds a Cache for Volumes Created from Snapshots with Quobyte"
  - Merge "V3 jsonschema validation: volume_image_metadata"
  - Merge "Support cross AZ backups"
  - Merge "Avoid build system IP going into sample config"
  - Updated from global requirements
    
    Change-Id: Iaaf0d321b0321ac50102c8d96d7899af173a8cb8
    
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: Ibe533c9a6504ae40c3a21e7b826e99ac4294d908
    
  - Merge "Revert "Stop unnecessarily querying storage for stats""
  - Merge "Support multiple processes on Cinder Backup"
  - Merge "Add ISCSI driver for Veritas Access"
  - Revert "Stop unnecessarily querying storage for stats"
    
    This reverts commit 458840ddb12164c27054413bb7a7ffcd168b614e.
    
    We've seen a spike in scheduling failures since this merged,
    presumably because the scheduler doesn't have the latest
    information and thinks the storage backend is at capacity.
    
    Change-Id: I5b6645cfd1277f315eb9cf186848d0eea8bc0b98
    Closes-Bug: #1741275
    
  - Storwize: filter active wwpns for NPIV
    
    Currently, both  active and offline wwpns are reported to the
    fc_zone with NPIV feature.
    Actually only the active wwpns should be reported.
    
    This patch updates the cli lstargetportfc to filter the active wwpns.
    
    Change-Id: I7b51b8ed12d1951a3e2356f88898a0779e858d41
    Closes-Bug:  1756242
    
  - Use soft authorize for 'extended_snapshot_attributes' policy
    
    Cinder use soft authorize to control whether display
    snapshot's additional attributes, this is broken during
    policy in code changes.
    
    Change-Id: I4b1b3432275defafcfc60465d3079bc9d70c4f56
    Closes-Bug: #1756002
    
  - Merge "Updated from global requirements"
  - Add ISCSI driver for Veritas Access
    
    This driver implements all the minimum required features for cinder.
    
    Change-Id: I48b59a2ecab8b856547a4ae17e6e0fd04094475a
    Implement: blueprint veritas-access-cinder-iscsi-support
    
  - Adding Glance method for listing image members and unit test
    
    This is necessary for checking from Cinder's side whether the current
    project has access to an image with 'shared' visibility.  Often a
    clone_image request will arrive at a driver with Glance pointed at the
    same backend and within Glance the image is set to 'shared' visibility.
    Currently the driver will have to call Glance directly to determine if
    it should continue cloning the image, or return a permissions error.
    
    Change-Id: Idb9641e136bfc38bbfa881452053056e74bd0553
    
  - Merge "Move doc of report backend state to cli"
  - Updated from global requirements
    
    Change-Id: I74a5c7023c0678f04cd4390181f9641b5eb49c83
    
  - QNAP Drivers - Move from httplib to requests
    
    Use driver_ssl_cert_verify under backend section to
    enable or disable SSL verfication.
    
    NOTE: IPv6 isn't supported by QNAP driver.
    
    Change-Id: Iba886fd0bd401052a444eb7a4427607e693d7c81
    Closes-Bug: 1658766
    Partial-Bug: 1188189
    
  - Support multiple processes on Cinder Backup
    
    Cinder Backup has always been run as a single process, and this works
    fine if the number of backups is small, but there are deployments where
    a big number of backups are run simultaneously, and in such cases we
    will find a bottleneck on CPU intensive operations, like compression and
    SHA calculations, since we are using a single process and therefore a
    single CPU core.
    
    This patch adds support to define the number of processes we want to run
    on the backup service using a new "backup_processes" configuration
    option.
    
    When running multiple processes they will all be running as children of
    a parent process, but when running a single process it will run on its
    own.
    
    To preven race conditions and avoid the backup service from becoming
    available before it should only the first process will do the initial
    cleanup and all the others will wait on a lock until it is released by
    this first process.
    
    Change-Id: Ib43095024754a6219eb51cc0663913fac10bb642
    
  - V3 jsonschema validation: volume_image_metadata
    
    This patch adds jsonschema validation for below volume image metadata
    API's:
    * Set image metadata for a volume
      POST /v3/{project_id}/volumes/{volume_id}/action
    
    * Remove image metadata from a volume
      POST /v3/{project_id}/volumes/{volume_id}/action
    
    Note: In this patch it will raise BadRequest(400) if user passes long
    key and long value(greater than 255 characters) for metadata. Earlier
    it was raising HTTPRequestEntityTooLarge(413) on master.
    
    Partial-Implements: bp json-schema-validation
    
    Change-Id: I226391f60c0577d83c9beb94bfe1bc08ab22b708
    
  - Updated from global requirements
    
    Change-Id: Ie6621af977a80bdd39dc4f2bc90b8881f64b8cd6
    
  - Merge "Fix api-ref response code title levels"
  - Merge "Fix API reference attach_mode parameter default for attachments API"
  - Fix missing print format error
    
    Missing print format will cause 'ValueError: unsupported
    format character' error, this is to fix it.
    
    Change-Id: I6ee192a95d86209d041a4675935fc1643483571f
    
  - Merge "Clean out config deprecation information"
  - Merge "Stop unnecessarily querying storage for stats"
  - Fix api-ref response code title levels
    
    Using the wrong character resulted in the wrong title level
    being used for the response codes, which in turn caused the
    "detail" show/hide toggle to not be able to hide all of the
    per-endpoint details. This corrects these to be at the correct
    level.
    
    Also ran into issues after changing them where sphinx was not
    happy with the random title levels. This appears to be due to
    the order processed and whether not earlier included files had
    all subsequent levels. Adding an additional title in our first
    included file resolved that problem.
    
    Change-Id: I19405778980310f2d6d06eb7b23102f74a3d6e03
    Closes-bug: #1755566
    
  - Clean out config deprecation information
    
    Nova settings were deprecated, then removed in change
    Ic112a68101c0dcb14da0db06c62ae190474a37d9. Some legacy
    info was left behind in one of the new options referring
    to the old config setting that should now be removed.
    
    Change-Id: I031e5ffbc11c4b044f3baf808d852ce871a2d6c5
    
  - Fix API reference attach_mode parameter default for attachments API
    
    The default attach_mode for volume attachments is "rw", as can
    be seen from looking at the VolumeAttachment.finish_attach method
    and VolumeManager.attachment_update method. The REST API itself
    does not set or return a default attach_mode, it's all set in the
    data model when the attachment is 'completed' by assigning a host
    connector.
    
    Change-Id: I1e41e93bd534d830311a653eb16fef89a2d8431a
    
  - Merge "use defusedxml to avoid XML attack"
  - Merge "Updated from global requirements"
  - VMAX docs - prefix emc-vmax-driver.rst with 'dell-'
    
    Rename emc-vmax-driver.rst to dell-emc-vmax-driver.rst
    
    Change-Id: I0d6b39c845998d4228a162b022aad1e2402b097e
    Closes-Bug: #1754604
    
  - Enable slow tests for lvm-barbican job
    
    We would likely benefit by running
    tempest.scenario.test_encrypted_cinder_volumes tests
    and
    TestVolumeBootPattern.test_create_server_from_volume_snapshot
    
    Change-Id: I5082926cc5ede463d67e3ab995e17983b5db3855
    
  - VMAX driver - Replication failover performance improvement
    
    Currently, failover of synchronous volumes on a VMAX backend can take a
    long time as each volume is failed over consecutively. This patch
    rectifies the issue by creating an internal group to facilitate the use
    of group API's in the backend instead of volume API's, meaning the
    volumes can failed-over concurrently.
    
    Change-Id: Ie805c680662c160b77afcef47a3e0443bf1b15ef
    Closes-bug: 1747894
    
  - V3 jsonschema validation: qos-specs
    
    This patch adds jsonschema validation for below qos-specs API's
    * PUT /v3/{project_id}/qos-specs/{qos_id}/delete_keys
    * PUT /v3/{project_id}/qos-specs/{qos_id}
    * POST /v3/{project_id}/qos-specs
    
    Change-Id: I95756e549cc1b3bfbad16d029b7021527278b0d5
    Partial-Implements: bp json-schema-validation
    
  - Updated from global requirements
    
    Change-Id: I1a457587821e87d00d8589c3f7db10e8f6826e3c
    
  - fix spelling error with  errormessage
    
    Change-Id: Iafb48bcbfc85af2a33426048f85c7c281b767d89
    
  - Merge "Use rest_status_code for api-ref response codes"
  - Merge "Remove ExceptionInParsingArguments"
  - [sytle] use http code constant instead of int
    
    To keep the consistency, using http_client.ACCEPTED instead
    of 202 in contrib/api/services.py
    
    Change-Id: I495fffe7180a0b1120b2413baef38d92ced8fd56
    
  - Merge "VMware: Option to specify datastore name regex"
  - Remove ExceptionInParsingArguments
    
    This exception does not appear to be used anywhere.
    
    Change-Id: I1fb5380c4e00bc54a8ecc2fc0fca3d059923909a
    
  - Avoid build system IP going into sample config
    
    We should not show the IP address of the build system as
    the sample default for my_ip in /etc/cinder/cinder.conf.sample .
    
    This patch sets a sample_default that will be used instead.
    
    Change-Id: If9ba07bb7f83c2ad3d89e2d5264c064117bbad23
    closes-bug: 1755282
    
  - Merge "Add 'metadata' in backup detail&show API document"
  - Merge "Add unit test coverage for backup chunkeddriver class"
  - VMAX driver - Retype replicated volumes
    
    This patch delivers support for retyping (storage-assisted migration)
    volumes with a non-replicated volume type to a replicated volume type;
    replicated to non-replicated; and between two replicated volume types
    with differing service levels.
    
    Change-Id: Ic86826dccc7b830db15fb8a2eeb888dbb895292d
    Implements: blueprint vmax-retype-replicated-volumes
    
  - use defusedxml to avoid XML attack
    
    According to https://docs.openstack.org/bandit/latest/api/bandit.blacklists.html
    
    Using various XML methods to parse untrusted XML data is known to be vulnerable
    to XML attacks. Methods should be replaced with their defusedxml equivalents.
    
    Change-Id: Icdd807c8fd47ce0df3e292eef910e6e6e7610686
    Partial-Bug: #1732155
    
  - [VNX] Restore snapshot to volume
    
    Add `revert_to_snapshot` API support for VNX Cinder driver.
    
    Implements: blueprint vnx-revert-to-snapshot
    
    Change-Id: Id6e3090d96a5bbf4879e8577fe3565c3032de228
    
  - Merge "ScaleIO: Add documentation for containerized overcloud"
  - Merge "RBD: Don't query Ceph on stats for exclusive pools"
  - Merge "Updated from global requirements"
  - Merge "Update links in README"
  - Merge "INFINIDAT: add support for multi-attach"
  - Merge "Add backup restoration cancellation support"
  - Merge "Add backup cancellation admin doc"
  - Merge "Fix leftovers after backup abort"
  - Merge "Allow configuring tpool size"
  - Merge "Parse endpoint arguments in SolidFire"
  - Merge "NetApp: Add use-exact-size parameter when creating a LUN on ONTAP iSCSI"
  - Merge "Fix typo errors"
  - Update links in README
    
    Change the outdated links to the latest links in README
    
    Change-Id: I93a9cdc947eea82312327908e7d652aae671c07b
    
  - Updated from global requirements
    
    Change-Id: I72211484b3db336f4cd46e674a7ab0b2d892c84d
    
  - Merge "Api-ref:Add target volume preconditions for backup restore."
  - Merge "modify the http link to the https link"
  - Merge "Add documentation for capacity based quality of service"
  - Merge "Make the LVM Barbican job vote"
  - Add documentation for capacity based quality of service
    
    Change-Id: I8a97c3952523c15eeab2e14fa06a426b4f8bc587
    
  - Merge "Update doc name and path for dell emc vnx driver"
  - Merge "Delete redundant code"
  - Make the LVM Barbican job vote
    
    This is the only job that tests Cinder+Barbican
    integration.
    
    It should be voting, as this is vital for users of
    encrypted volumes.
    
    Change-Id: I1b2e29da5d25aefe9183660820ab759c65301e30
    
  - Fix typo errors
    
    This patch is to fix some typo errors in test_host_manager.py
    and in log messages.
    
    TrivialFix
    
    Change-Id: I402c252e2fc4221de06676dfdb1ed1883491b2ad
    
  - INFINIDAT: add support for multi-attach
    
    Multi-attach has been supported by the InfiniBox for a long time now.
    As it is now supported by Cinder, this commit enables this capability
    for the driver for attachments done either through Fibre Channel or
    through iSCSI.
    
    Change-Id: Ic84eb3d88cc2130192434b3b49e0e53c2717c6b0
    
  - Update doc name and path for dell emc vnx driver
    
    Change-Id: I472a8413364d1bd011abff388945b6683f66ea04
    Closes-bug: #1754549
    
  - Use rest_status_code for api-ref response codes
    
    Rather than our freeform way of listing response codes in our
    api-ref, we should be using the os-api-ref extension option to
    get nicely formatted response code listings.
    
    https://docs.openstack.org/os-api-ref/latest/usage.html#rest-status-code
    
    Change-Id: Iee21f54fe7cf0ea28258966e2d0f8fa2849c83f2
    
  - Add support for unmanaging snapshot of rbd driver
    
    When introducing managing existing snapshot to rbd driver, I think
    it should inherit from ManageableSnapshotsVD.
    On the other hand, I did one of the simplest implementations like
    unmanage volume.
    
    Change-Id: I61f2a63ac559be71f293fca685fd12bdac6bd032
    
  - Stop unnecessarily querying storage for stats
    
    Refreshing the stats is a costly operation for most drivers, but we are
    still calling it on 3 manager actions that don't require it:
    
    - delete_volume
    - retype
    - delete_group
    
    This is probably due to an unfortunately naming of the method, because
    `publish_service_capabilities` seem to indicate that we'll only be
    publishing this information, but the method is also refreshing the stats
    from the driver.
    
    This patch removes all unnecessary calls to
    `publish_service_capabilities`.
    
    Change-Id: If2ae4abfa0e961607591239dabce8e539994a7da
    Closes-Bug: #1750885
    
  - Allow configuring tpool size
    
    The RBD driver and almost all backup drivers rely heavily on eventlet's
    tpool, which has a default of 20 threads, which will be too low.
    
    Currently the only way to change this is using the environmental
    variable EVENTLET_THREADPOOL_SIZE, which isn't very clean for the
    openstack services.
    
    This patch adds the possibility of setting specific values for each
    backend and for the backup service, and increases the default for the
    backup service from 20 threads to 60.
    
    The backup service can be configured under [DEFAULT] section with option
    backup_native_threads_pool_size, and the backends under their specific
    sections with backend_native_threads_pool_size.
    
    Change-Id: I5d7c1e8d7f1c6592ded1f74eea42d76ab523df92
    Closes-Bug: #1754354
    
  - Add backup restoration cancellation support
    
    Backups can be cancelled by force deleting the in-progress backup, but
    there is no mechanism to delete the restoring backups.
    
    We will now monitor the status of the backup and on any status change
    will abort the restoration and change the volume status to error.
    
    The reason to diverge from the backup creation cancellation
    implementation (deleting the new resource) is that the restoring may be
    done into an already existing volume and deleting it is not feasable for
    the user, for example when an instance is booted from a Cinder volume
    and there's a license linked to the System ID.
    
    Cinder backup drivers may now raise BackupRestoreCancel in `restore`
    method when a restoring operation is cancelled.
    
    Change-Id: If2f143d7ba56ae2d74b3bb571237cc053f63054e
    
  - Merge "Imported Translations from Zanata"
  - Merge "Storwize: update flashcopy_rate range and add it to volume type"
  - Merge "Add 'list_volume' in Group show&list API Doc"
  - Merge "Updated from global requirements"
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: Ib60af0b782073afd09f782a060b21283323fab1b
    
  - Merge "Correct attachment create success response code"
  - Merge "Dell EMC SC: Added timeout options for SC driver"
  - NetApp: Add use-exact-size parameter when creating a LUN on ONTAP iSCSI
    
    When a cinder volume is created the ontap backend fits the LUN to the
    best geometry. It makes the image uploaded from a volume larger than
    expected and a volume of larger size must be created from that image.
    Using the use-exact-size parameter the backend does not fit to best
    geometry, the image uploaded from that volume has the same size and a
    volume of the same size may be created from that image.
    
    Nevertheless this parameter is available only in Data ONTAP 9.1 (ontapi
    version 1.110) and later.
    
    Closes-Bug: #1731474
    Change-Id: I0e21cbcb6effa1e72999580564099976511ca4a9
    
  - Storwize: update flashcopy_rate range and add it to volume type
    
    The flashcopy rate max value updated from 100 to 150 since Storwize
    release 7.8.1.
    This patch modifies the storwize_svc_flashcopy_rate max value to 150
    and adds flashcopy_rate to volume type
    
    Change-Id: I27075fb13a0f9cc140445b8b0e8c3fc7ca7ae944
    Closes-Bug: 1753908
    
  - Add 'list_volume' in Group show&list API Doc
    
    Add API document for 'list_volume' in Group
    show&list APIs.
    
    Code patch: https://review.openstack.org/#/c/409694
    
    Change-Id: Ib328b62c61ec8b8afed3de07020c7ae2bfb163be
    
  - Merge "VMAX driver - Concurrency issues involving replicated volumes"
  - Dell EMC SC: Added timeout options for SC driver
    
    Added dell_api_async_rest_timeout and dell_api_sync_rest_timeout to allow
    setting of async and sync timeouts for the Dell EMC SC REST API.
    
    The user should generally not set these. They should be set only when
    instructed by support.
    
    Fixed a couple of comments.
    
    Updated documentation.
    
    Change-Id: Id8fd27d83e2f97070f67523c9c2d8c59f66e6caa
    
  - Merge "Improve ChunkedBackupDriver hashlib calls"
  - VMware: Option to specify datastore name regex
    
    Adding option 'vmware_datastore_regex' to specify
    the regex pattern to match the name of datastores
    where backend volumes are created.
    
    Change-Id: Ie95d1551b9fbfd36313fd530f9cf06b83735a26c
    
  - [api-ref] Fix 'volume_id' for in the v3/volumes-v3-volumes-actions.inc
    
    The 'volume_id' in "Revert volume to snapshot" shoud be in the path.
    So fix the paremeter.
    
    Change-Id: Ia3e791f82f11740533e4320d546cb0cd67942712
    
  - Updated from global requirements
    
    Change-Id: Id60cce4ebb947465d9bea57056ed6b73456dcd05
    
  - Delete redundant code
    
    disk_format is checked by 'image_utils.validate_disk_format', so
    disk_format will not be 'parallels' in any case.
    
    Change-Id: I6dd7199cf3978aa7f5825d01436245f4f53b5f9b
    
  - Parse endpoint arguments in SolidFire
    
    The SolidFire driver was assuming the same login/password and port
    settings when building endpoint info for replication targets.  This
    was true even if the config specified these fields as being different
    in the config entry for the replication device.
    
    This change updates the private build_endpoint method to actually
    read any kwargs passed in to it and use them.
    
    Change-Id: I8f95c891c9ee64fb8dd6b541be15fff539e2ab21
    Closes-Bug: #1751917
    
  - Api-ref:Add target volume preconditions for backup restore.
    
    the status of volume must be available.
    the size of the volume must be equal to or greater than
    the backup size.
    
    Change-Id: I89bb72741aec5e73789a5a5cec1bc363f79c766c
    
  - Support cross AZ backups
    
    We currently limit backups to the same AZ of the volume while allowing
    volume restoration to any AZ.
    
    When having multiple AZs it is ideal to store your backups in a
    different AZ than the one where the source volumes are stored.
    
    This patch adds microversion 3.51 where we allow requesting the AZ where
    we want to store backups which will allow us to have as many backup AZs
    as volume AZs and do cross AZ backups for increased security, this
    feature also supports having an additional AZ just for backups or the
    less desirable solution where you store all your backups in a single AZ
    shared with some of the volumes.
    
    Change-Id: I595932276088d25abd464025c99dce33a2cc502b
    
  - Improve ChunkedBackupDriver hashlib calls
    
    Currently we have 2 hashlib calls withing the ChunkedBackupDriver, one
    to calculate the MD5 of the chunk and another to calculate the SHA256 of
    the blocks within each chunk.
    
    This patch improve interactions between cinder and the hashlib library
    method calls by making sure MD5 and SHA256 related calls are execute in
    a native thread to improve context switching responsiveness within
    eventlet.
    
    The MD5 of a 1GB chunk could take around 4 seconds, so the overhead of
    creating a native thread is acceptable, and for the SHA256 instead of
    creating a thread for each call we create a single thread to do the
    calculations of all the blocks, thus making it cost effective.
    
    Current code slices the data into blocks, which means that the data is being
    copied, but this has now been switched to a memoryview object to take advantage
    of the buffer protocol so copying of data is no longer necesary.
    
    Change-Id: Ifb65b8008f30bc9cc4b6cd9b867a726ec4ed4707
    
  - RBD: Don't query Ceph on stats for exclusive pools
    
    Collecting stats for provisioned_capacity_gb takes a long time since we
    have to query each individual image for the provisioned size.  If we are
    using the pool just for Cinder and/or are willing to accept a potential
    deviation in Cinder stats we could just not retrieve this information
    and calculate this based on the DB information for the volumes.
    
    This patch adds configuration option `rbd_exclusive_cinder_pool` that
    allows us to disable the size collection and thus improve the stats
    reporting speed.
    
    Change-Id: I32c7746fa9149bce6cdec96ee9aa87b303de4271
    Closes-Bug: #1704106
    
  - Adds a Cache for Volumes Created from Snapshots with Quobyte
    
    This is not related to the Cinder image cache.
    
    In order to speed up the creation of multiple volumes from a single
    snapshot this change adds a cache of volumes created by merging a
    snapshots backing chain to the Quobyte driver.
    This behaviour can be activated via a new config option
    'quobyte_volume_from_snapshot_cache'.
    Instead of merging a snapshots backing chain into a new volume each time
    a volume is created from this snapshot, the new implementation merges the
    backing chain into a volume in the new volume cache. New volumes to be
    created from that snapshot are then copied from the cached volume and
    no longer require the merging process.
    Merging happens only for the first time when the cached volume copy is
    created from a specific snapshot. Subsequent creations of volumes from
    this snapshot are simply copied from the cache which requires no costly
    backing chain merge.
    
    Partial-Bug: #1715078
    
    Change-Id: I2142b1c0a0cc2c4f85794416e702a326d3406b9d
    
  - Add unit test coverage for backup chunkeddriver class
    
    Only indirect test coverage exists for this abstract base
    class. This patch expands testing coverage specifically
    for this class's methods.
    
    Change-Id: I5cdb8677f7a137f35a8f4b24ea4a4b0a40e76e9c
    
  - Correct attachment create success response code
    
    The attachment create call was returning HTTP ACCEPTED, which
    implies an asynchronous operation. This call is not async, so
    corrected this to return SUCCESS instead.
    
    Change-Id: Ieae4e883a77ede0ba0c8a5fca4423f45e0212b2b
    Closes-bug: #1747481
    
  - VMAX driver - Concurrency issues involving replicated volumes
    
    VMAX driver currently has some limitations surrounding concurrent
    operations involving replicated volumes. The next version of Unisphere
    for VMAX has some improvements made in this area. One of these
    improvements is on volume retrieval from the array. This patch switches
    to the 90 endpoint on volume retrieval, where supported, to utilize
    the improvement.
    
    Change-Id: I0ac7f98e529961ab559289e257b4f58c8577e121
    Closes-bug: 1753707
    
  - Merge "ScaleIO Driver: Document support for ScaleIO 2.5"
  - ScaleIO Driver: Document support for ScaleIO 2.5
    
    Add newly released version of ScaleIO to the list of
    supported versions within the Configuration Guide. While there
    simplify the document to refer to official ScaleIO docs for
    any specifics.
    
    Change-Id: Ibdef4b2d464a418f82ef0684659dd1cf4896b7b2
    
  - Merge "VMAX doc - Queens feature documentation"
  - Merge "Dell EMC SC: Error Deleting Consistency Group"
  - Dell EMC SC: Error Deleting Consistency Group
    
    Checking a return on something that doesn't return.
    
    Closes-Bug:  #1752930
    
    Change-Id: I5b6ae809814517657390b91878b917383eabd543
    
  - Merge "Add functional-py35 gate job"
  - Add functional-py35 gate job
    
    We have functional tests that run under py35, but they are not
    currently run in gate. This adds the common job definition to
    our locally defined list of tests to run.
    
    Change-Id: Icf477415c7ac54bb007cacc1a1ba905e63fa2780
    
  - Merge "Remove utils.read_file_as_root()"
  - Remove utils.read_file_as_root()
    
    This is no longer used, and removes a rootwrap entry.
    
    Change-Id: Iad1f96de38cf23b85241bac4231c26e866ad4519
    
  - Merge "Move release note put in wrong location"
  - Move release note put in wrong location
    
    One of our release notes was accidentally put into
    a releasenotes/notes directory under releasenotes/notes.
    This moves it to the right location and removes the
    extra directories.
    
    Change-Id: Idd7bd9ae499a477c08a06ed38e2bbe922ec0c955
    
  - Merge "3PAR: Add `force detach` support"
  - 3PAR: Add `force detach` support
    
    Add support to force detach a volume from all hosts on 3PAR.
    
    Change-Id: I2ddd0be0d59018db43dca297585d5cb2ee459ede
    Closes-bug: #1686745
    
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: Id11dd66cc3e5d101f054431b13b680373c9056fa
    
  - Merge "Fix the testcase of test_cmd"
  - Fix the testcase of test_cmd
    
    Any configured value of cluster would lead to
    the failure of test_cmd testcases, fix this by
    override the option with None value.
    
    Change-Id: Ibaedaca5c5ede285cd39b2793e67895d326672fb
    
  - Merge "Fix allocated_capacity_gb race on create volume"
  - Fix allocated_capacity_gb race on create volume
    
    Because of the stat reporting mechanism used in Cinder and because we
    don't update the allocated_capacity_gb in the volume service until the
    volume's creation has been successfully completed we have race
    conditions between the scheduler's value and the volume's value that may
    induce the scheduler to provision more volumes than what it should
    allow.
    
    This patches fixes this by assuming that the create volume operation on
    the volume service will be successful, and thus increases the
    allocated_capacity_gb value when the operation starts and reverts the
    increase if we reschedule the creation.
    
    Closes-bug: #1751057
    Change-Id: Ia321a08d102a9a4f535e46158764cb7f9bc81a9d
    
  - Merge "RBD: Add comment about multiattach support"
  - RBD: Add comment about multiattach support
    
    Add a comment discouraging multiattach support
    being flipped on without proper investigation and
    design.
    
    Change-Id: If9885dd3a2e79af4249418fedfe8f3bf73ad2ef5
    
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: I571ad77fe7da5c0de5af3e7eb939a94728fbf01f
    
  - Merge "RBD: Improve connection debug statement"
  - RBD: Improve connection debug statement
    
    When the driver fails to connect to a ceph cluster, having all of the
    connection parameters in the debugging statement is of great use in
    diagnosing misconfiguration.
    
    Change-Id: I5996efba202891020b859310d31c4efd45817829
    
  - Merge "Add throughput limits that scale per-GB"
  - Add throughput limits that scale per-GB
    
    This allows new values in QoS specs:
     - read_bytes_sec_per_gb
     - write_bytes_sec_per_gb
     - total_bytes_sec_per_gb
    
    The bytes value specifed in the QoS spec is multiplied
    by the size of the volume in initialize_connection,
    and the result is passed along like a standard <x>_bytes_sec
    QoS value.
    
    Change-Id: Iafc22d37c4c50515d9f6cf1144ea25847c90f75d
    
  - Merge "Fix typo in test_qnap"
  - Merge "Add python 3.5 in classifier"
  - Merge "Schedule request to scheduler when manage existing snapshot"
  - Merge "Fix AZ not matching backend after migration"
  - Merge "Fix json data format"
  - Merge "Fix reporting old stats"
  - Fix reporting old stats
    
    For the stats reporting we have a decoupled implementation where the
    gathering of stats from the backend and the submission of these stats to
    the schedulers are run in independent periodic tasks.
    
    The problem with this implementation is that we'll be getting old stats
    all the time because of the threading model we are using.
    
    Since we have greenthreads we will not switch threads until we do I/O,
    so if the _publish_service_capabilities periodic task is invoked first
    we won't switch to the _report_driver_status until we send the
    capabilities update.  And even if we start the _report_driver_status
    task first as soon as it does some I/O to query the backend we'll be
    switching to sending the cached data to the schedulers.
    
    It may not sound like a big problem, but when you are quickly creating a
    great number of big volumes having an additional minute old data can be
    problematic.
    
    This patch changes the way we do the status reporting and ensures that
    we are always sending the newest data.
    
    There could only be 1 drawback to this change, and that is if a driver
    takes longer than 1 minute to gather the stats, because in this case a
    newly started scheduler will take a little longer to have stats for this
    backend.  But it doesn't really happen, because the schedulers actually
    request the volumes for their capabilities on start up.
    
    Change-Id: Id203a3a8b8c09e6415dcd26cc5ae684f702b8457
    Closes-Bug: #1750878
    
  - Merge "Reserve 5 migrations for DB backports"
  - Reserve 5 migrations for DB backports
    
    Reserve 5 database migrations in case we need to
    backport changes to the stable/queens branch.
    
    Change-Id: Iccf87ee22c4e8dce03067fc3435aea1bbb33f61e
    
  - Merge "Log config options with oslo.config"
  - Log config options with oslo.config
    
    This removes some custom Cinder code which
    handles filtering secret config options in a flaky way.
    
    Filtering will now be based on the "secret=True" option
    flag.
    
    Related-Bug: #1750074
    Change-Id: I1c404b057d1471c85bd7eaf5c096f5912293460a
    
  - Merge "Change order of installation to match previous"
  - Change order of installation to match previous
    
    Re-ordered installation sections to match previous releases.
    
    Change-Id: I8c67843a448049d8424c0fb1e34cf4a954e9ac91
    Closes-Bug: #1750888
    
  - Merge "Add Windows volume backup support"
  - Merge "Enable hash randomization in unit tests"
  - Enable hash randomization in unit tests
    
    This is needed to ensure that unit tests match how
    deployed environments run.
    
    Related-Bug: #1348818
    Related-Bug: #1658725
    Related-Bug: #1715915
    
    Depends-On: I91a53fdef98c9a14ccc536403063e228e99d6971
    Depends-On: Ie548c90f5657e5270fd966207f453d5211e21867
    Depends-On: I754d48d8bc4081b96fdf90465c4897d0fadd6262
    Depends-On: Ia8762aff6fd9954d350310b4c68ee4fe94de68bf
    Depends-On: I6fe0ae5da270d9c77cb248551dcb32a5c063977a
    Depends-On: I96b9b413387f2ef02ea7ccfb6e676cad0b87c6f1
    Depends-On: Icdde5e3f213adfe4893d1b9e8f2bfe4f61704037
    Depends-On: I29a874ebe0ebaeca58b428faa0bab50482baf6f1
    Depends-On: I30817ae767e08c45f9540b19e922864fe2f7a9c2
    Depends-On: I281ad59fa518f936aa8d1b518acf61800ba949f5
    Depends-On: I0abd0415306c0c0544eb5d9a6ed08640ff6bb0cf
    Depends-On: I599b585444cbd51182d9f17fddd97bd91637e1e3
    Depends-On: I6e4093ca8e79128ed23a4d5068e5d2870e16332c
    Depends-On: I574dca83a971e746a54895a87e394befda0ccdcf
    Depends-On: Id5a961c66a62e289a96daa7437374768ef407bb6
    Depends-On: Ibc6c20e6ffce58c6bbef3155f73e54909d76e132
    Change-Id: I4c7396f9d8e58ac8420754503f8ed60cd7473426
    
  - Merge "Tests: Fix 3par tests with hash randomization"
  - Tests: Fix 3par tests with hash randomization
    
    "fcwwns" does not have a deterministic order -- account
    for this in the unit test.
    
    Change-Id: Id5a961c66a62e289a96daa7437374768ef407bb6
    
  - Merge "Fix grammar error"
  - Merge "Modify broken link"
  - Merge "SMBFS: allow snapshot ro attach"
  - Merge "Imported Translations from Zanata"
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: I34e9430193db1d0ba9422415ef5e223d68be8574
    
  - Merge "DS8K: Correct create volume behavior for CG"
  - Merge "SMBFS: fix creating volume from snapshot"
  - Merge "Tests: Fix backup validation with hash randomization"
  - Tests: Fix backup validation with hash randomization
    
    The exact error generated here can vary depending on
    Python version, jsonschema version, and hash randomization.
    
    Ensure that a useful message and HTTP 400 is still
    generated.
    
    Change-Id: Ibc6c20e6ffce58c6bbef3155f73e54909d76e132
    
  - Merge "Cinder logs rabbitmq password on connection log"
  - Cinder logs rabbitmq password on connection log
    
    Cinder displays rabbitmq password if debug is enabled.
    
    Closes-Bug: 1750074
    Change-Id: I117319ac12991e4b46170fe71d18a65ea4c98556
    
  - Merge "Remove legacy driver name mappings"
  - Merge "Change 'hpe3par_snap_cpg' to 'hpe3par_cpg_snap'"
  - Change 'hpe3par_snap_cpg' to 'hpe3par_cpg_snap'
    
    Wrong parameter name for hpe3par SAN snap CPG configuration in Cinder documentation
    
    Change-Id: I5b2683559582a1bbb10b5b7bcc04115adb476977
    Closes-Bug: #1747845
    
  - Merge "docs: Fix volume encryption link"
  - docs: Fix volume encryption link
    
    Currently, the volume encryption documentation has a link that
    points to itself, instead of pointing to the Horizon docs.
    This patch updates the link to point to the Horizon docs.
    
    Change-Id: Ic5e1e3e865ee83f23e651b34bf2ef236ac3b269c
    
  - Merge "Updated from global requirements"
  - Updated from global requirements
    
    Change-Id: I782614f4292be1b33ba658589c1ac808fde980dc
    
  - Merge "Tests: Disable 2 netapp unit tests"
  - Tests: Disable 2 netapp unit tests
    
    These tests do not pass with python
    hash randomization enabled, on py2 or py3.
    
    Disable them so we can enable hash randomization
    for all other tests.
    
    Change-Id: I338a55d7df298c00c365be6e523ca63a815d8250
    Related-Bug: #1715915
    
  - Merge "Tests: Fix NetApp tests with hash randomization"
  - Tests: Fix NetApp tests with hash randomization
    
    Values in initiator target maps are ordered randomly depending
    on the hash seed used -- account for this in unit tests.
    
    Partial-Bug: #1715915
    
    Change-Id: I599b585444cbd51182d9f17fddd97bd91637e1e3
    
  - Merge "Tests: Fix VMAX tests with hash randomization"
  - Tests: Fix VMAX tests with hash randomization
    
    These tests rely on comparing strings that are generated
    from dicts, which may be randomly ordered.
    
    Change-Id: I574dca83a971e746a54895a87e394befda0ccdcf
    
  - Add multiattach reporting to SolidFire
    
    Wonders never cease!  Multiattach has landed, the cow jumped over
    the moon and they put Humpty Dumpty back together again!
    
    This change just addes multiattach=True to the SolidFire driver
    now that everything has in fact landed.
    
    Change-Id: I53e94a827c3ba31c7322e6faecfcc8ebf4a05b4a
    
  - Merge "Only enforce multiattach policy for retype target"
  - Only enforce multiattach policy for retype target
    
    We should only be checking multiattach policy if the target
    of a retype is multiattach capable. If they are already on
    a type and policy has changed, we should not block retyping.
    
    Change-Id: Id4cfb7771439940c59b828ea7f1d95bcfe7d1e26
    
  - Merge "Fix find -delete race in tox"
  - Fix find -delete race in tox
    
    If you launch py35 and py27 envs from the same
    directory simultaneously, the find -delete commands
    here will race against each other and cause a
    failure.
    
    Set the find option to ignore readdir races.
    
    Change-Id: I4977ad687150b5a1d6f09a961fca4db5d768ef71
    
  - Merge "Tests: Fix inspur tests with hash randomization"
  - Tests: Fix inspur tests with hash randomization
    
    These tests rely on randomly ordered lists.
    
    Change-Id: I6e4093ca8e79128ed23a4d5068e5d2870e16332c
    
  - Use oslo_db.sqlalchemy.test_fixtures
    
    The change in Iaf77db73e368aee0d09b4c8e76f180f394f1aa37
    makes use of oslo_db.tests.*, which was not the intent of the
    deprecations added to oslo_db in
    I0163e637ffef6d45d2573ebe29b5438911d01fce.   Make use of the
    newer fixtures in oslo_db.sqlalchemy.test_fixtures which is
    what was intended to supersede oslo_db.sqlalchemy.test_base.
    
    Change-Id: I49a5e61345ce7c90a527367ae69a28ac04295865
    
  - Merge "Fix spelling mistakes"
  - Merge "Fix typos"
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: Ia26eebe7b5777c5a72c6407de242e683683d94dc
    
  - Merge "Imported Translations from Zanata"
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: Ia7307469eb991ea9f43d4eadcb4ca67a22ad5790
    
  - Merge "Stop a connections leak when freeing an SSHPool"
  - Stop a connections leak when freeing an SSHPool
    
    In SSHPool when we free the SSHpool add a destructor
    that closes all the connections in the SSHPool.
    
    In the SSHPool when we resize to make the max_size smaller
    that current_size or otherwise end up with a
    current_size being greater than the max_size, we now close
    the connection by adding a put method that closes the
    connection before discarding the connection.
    
    Added UT
    
    Change-Id: I655458e39676e18b2dd8efe9dbc66544b4260e61
    Closes-bug: 1748558
    
  - Merge "Remove deprecated fatal_exception_format_errors option"
  - Remove deprecated fatal_exception_format_errors option
    
    This config option was only used for internal testing. In Queens
    tests were updated to always do this, regardless of the config
    option. This removes the option.
    
    No release note included since this was really only an internal
    thing and mentioning there would probably just cause confusion.
    
    Change-Id: Ib3cde34d9a181107c77c31c22d225dab073f37b0
    
  - Merge "Expand on mv 3.50 description"
  - Expand on mv 3.50 description
    
    The 3.50 microversion was added just to have a programmatic
    way of determining if the service supports multiattach. The
    text for 3.50 was very brief, so it wasn't really clear
    what this meant. Expanding on the wording a little to try
    to make it a little more clear.
    
    Change-Id: I9b731f8cb68e9339fd5a2831b76cb57a496b6908
    
  - Merge "QNAP: Pass unit tests with hash randomization enabled"
  - QNAP: Pass unit tests with hash randomization enabled
    
    Since the tests for this driver test for URL strings
    including many parameters, sort the parameters so
    that the URLs are generated the same at all times.
    
    Change-Id: I0abd0415306c0c0544eb5d9a6ed08640ff6bb0cf
    
  - Merge "Tests: Fix python version check"
  - Tests: Fix python version check
    
    This version check assumes that there will
    never be a version of Python 3 after 3.5...
    
    Related-Bug: #1749953
    
    Change-Id: I68f78dc37973a5f29f4ef110b4ff08716f2288be
    
  - Provide a hint when performing a volume action can't find the method
    
    There is no CLI for the os-force_detach volume action API, and while
    making a request for it with curl, I mistakenly used the Accept
    header rather than the Content-Type header and got the unhelpful
    error message:
    
      "There is no such action: None"
    
    We can provide some simple details in the error message about
    making sure the request body is correct and that the Content-Type
    header is specified to help the user.
    
    Change-Id: I00600c297e39c0dd097f9da80b1dccb38ee3d235
    Closes-Bug: #1749983
    
  - 3PAR: Monitor task of promoting a virtual copy
    
    In case of replicated, bootable or large
    volume, promoting a virtual copy takes some time
    to promote it. rcopygroup cannot be started when
    promoting is still in progress.
    
    This patch will monitor a task of promoting a
    virtual copy.
    
    Change-Id: If8a03e6aace393e86fc41ddf69bb724d963954e1
    Closes-Bug: #1749642
    
  - Merge "Admin guide documentation for volume multiattach"
  - Merge "api-ref: note that force detach is admin-only by default"
  - api-ref: note that force detach is admin-only by default
    
    I had to dig into the code to figure out that the force
    detach volume action was for admins by default. We should
    make that clear in the API reference.
    
    Change-Id: I3493e23dba8267fb7e403d30dd0d1e90c8f7726b
    
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: I44b0f6c0626dd5f9514245448b9a4e8d23ea1afd
    
  - Merge "Remove deprecated service-to-driver mapping for backups"
  - Merge "Solving permission errors due to directory ownership on NFS"
  - Remove legacy driver name mappings
    
    We have several drivers that were renamed in Ocata, and one
    (Dell EMC SC Series) that was renamed in Pike. Since this
    has been over two releases, we can now remove the legacy
    name mapping for these drivers.
    
    Change-Id: I0a350c94ed4637c59b82dfad3926714451e37abb
    
  - Merge "Update reno for stable/queens"
  - Merge "fix misspelling of 'return'"
  - Modify broken link
    
    Fix a couple dead links.
    
    Change-Id: Ib0bdeeb01e35196ae862e3bf87e198b004f7403f
    
  - Merge "Fix the note of API version in admin doc."
  - Admin guide documentation for volume multiattach
    
    After giving some love to the multi-attach section it hopefully captures
    the main characteristics of the functionality that we usually include
    in the Admin Guide, such as volume creation, policies, microversions,
    and back end support.
    
    Depends-On: I11f97cf79e0c947b42de69cf8a7f6c1dbdb943a1
    
    Co-Authored-By: Ildiko Vancsa <ildiko.vancsa@gmail.com>
    Change-Id: I77bb849e039e1b44964ac0f30d48b5c16ca41b44
    
  - Remove deprecated service-to-driver mapping for backups
    
    It was deprecated in Queens and now it's safe to remove this feature.
    
    Change-Id: Idf5aafae7a7e0c0bdcb857ec1f5c939671d8ae54
    
  - ScaleIO: Add documentation for containerized overcloud
    
    When running a containerized overcloud, an additional
    step is needed to map in the directories containing the
    ScaleIO SDC components.
    
    Change-Id: Iaa304ad80a84c3a649d53d519de0630c477a3429
    
  - Solving permission errors due to directory ownership on NFS
    
    We do the same work as the GlusterfsBackupDriver, uses chgrp+chmod to set
    proper permissions on the directories if needs be.
    
    Change-Id: Ic57c122311039af159c0cfc083e6e9349702d1e4
    Closes-Bug: #1715456
    
  - Merge "Fix typos in cinder"
  - Merge "Imported Translations from Zanata"
  - Merge "Improve logs on scheduler"
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: I329286cc7924eef207f0a8ef5e40796c2396f327
    
  - Merge "Fix link error in 'Boot from volume' doc"
  - Merge "Enable multiattach capability for the zfssa driver"
  - Improve logs on scheduler
    
    Scheduler decisions still not easy to track due lacking of information
    about backends and pools. This adds more verbose information on that
    so we can have a better means to help debug problems.
    
    TrivialFix
    
    Change-Id: I4a59ed298ba2542dcb4d6787b47085749a34244e
    
  - Merge "nimble: update config doc to add missing extra-specs support"
  - Fix the note of API version in admin doc.
    
    Now, both V2 and V3 API support consistency groups,
    incremental/force flags in backup and get-pools.
    
    This patch corrects these nits.
    
    doc trivial fix
    
    Change-Id: Ic1b500dc84424593e8789f4ffed1900f3acb1c3c
    
  - Fix grammar error
    
    modify 'a' to 'an'.
    
    Change-Id: I3c27fa7aa3e4649bad4627bfd8847005baa639af
    
  - Merge "Remove "cinder-manage logs" commands"
  - Merge "Fix pylint error in DotHill drivers"
  - Remove "cinder-manage logs" commands
    
    These were deprecated during Queens.
    
    Change-Id: I1ce63c2143faad9ebeaacd47b0cd253fed1aa93b
    
  - Remove some unused parameters in parameters.yaml
    
    The parameters 'all_tenants' and 'vol_type_id' are unused, so remove
    them. Besides, move volume_type from path to body which is only used by
    api "Volume manage extension" in body.
    
    Change-Id: I66718cf5558a2c12f7cfe336000314291a6820ee
    
  - Fix typos
    
    There are two 'to', delete one of them.
    
    Change-Id: I933bf6612c4d2081fd645971f81a7ed165d30717
    
  - Fix link error in 'Boot from volume' doc
    
    doc trivial fix
    
    Change-Id: I437937d2e454043824e2feacbdab30a051ddda6d
    
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: I399215f4d3d95232cca79c742154ee44c3ca49c8
    
  - fix misspelling of 'return'
    
    Change-Id: Ib52ad80562d1de0ccd6b5bdbd55d5ab32df366a7
    
  - Fix spelling mistakes
    
    Change-Id: Iffc537547a542cb742af8e5255c926ef1dce44b0
    
  - Fix typos in cinder
    
    Change-Id: I4563c2097906c9d9b71a8b4a4c7d530c050d128c
    
  - Enable multiattach capability for the zfssa driver
    
    Enable multiattach capability for the zfssa driver.
    
    Related to blueprint multi-attach-v3-attach
    
    Change-Id: If65300e0686ee5a0977e27380369d1638cd36e7e
    
  - Update reno for stable/queens
    
    Change-Id: I4b40bef06a82e79c1dcded8a2ec454bcc12b8e69
    
  - Fix AZ not matching backend after migration
    
    When we migrate, or retype with migration, a volume between availability
    zones we are setting the AZ of the migrated volume to the same AZ as the
    source volume, so we end up with a volume where the AZ does not match
    the backend's AZ.
    
    This patch fixes this issue for the generic migration code as well as
    the optimized driver migration.
    
    Change-Id: Ia1bf3ae0b7cd6d209354024848aef6029179d8e4
    Closes-Bug: #1747949
    
  - Merge "Remove unused parameters in v2/v3 parameters.yaml"
  - Merge "Revert consumed quota when failed to create group from source group"
  - Merge "Zuul: Remove project name"
  - Merge "Use provider_id for SolidFire Volume lookups"
  - Merge "Deprecate Cinder Hosts API/Extension"
  - Merge "[VNX] `initiator_target_map` is None"
  - Use provider_id for SolidFire Volume lookups
    
    Over the years the various iterations of volume-get in the SolidFire
    driver has gotten a bit redundant.  The biggest problem with all of
    these changes comes in when we start dealing with things like managed
    volumes, most of the methods we have in place expect the volume-name
    on the SolidFire backend to match the cinder UUID.
    
    In the case of manage, migrate and some other cases however, this
    isn't a valid assumption.  SolidFire doesn't allow changing the name
    of an existing volume.  You're only choice in that case is to clone
    or copy to a new volume, but that's terribly heavy weight in this case.
    
    So, what we need to do is harden the volume_get method a bit.  We
    want to do a better job here, first by attempting to use the provider_id
    info that's stored with a volume, from there we can try some failback
    methods like looking for name:uuid map and finally checking attributes.
    
    This should make things much more efficient for delete calls, and fix
    the current bug due to imported volumes not having the cinder-uuid as
    the name.
    
    We need to do some follow up work and consolidate all of these get calls,
    but for now we just fix the recently reported bug.
    
    Change-Id: I1a1d02a1407926c22fbadcc1049434e24b92549b
    Closes-Bug: #1744005
    
  - Merge "Make CinderException format errors fatal for tests"
  - Deprecate Cinder Hosts API/Extension
    
    This was added a long long long long time ago, but it was never
    fully implemented and is not used anywhere.  It might be worth
    resurrecting and having, but it should probably be a first class
    API rather than an extension, and if nothing else it would be good
    if we want this to create a spec and have a real plan on it's
    implementation and usage.
    
    Bottom line, it's not used anywhere and the implementation is not
    complete.  We could probably remove it safely, but let's deprecate
    it and fast track removal and possible replacement next cycle.
    
    Change-Id: I1a1920d141c8c32a8fb30bc6f73e955a1a1c5150
    
  - Add Windows volume backup support
    
    This patch makes a few small changes that are required in order to
    have the Cinder Backup service working on Windows.
    
    - all physial disks must be open in byte mode. 'rb+' must be used
    when writing.
    - reading passed the disk size boundary will not return an empty
    string, raising an IOError instead. For this reason, we're avoiding
    doing it.
    - we ensure that the chunk size is a multiple of the sector size.
    - the chmod command is not available on Windows. Although changing
    owners is possible, it is not needed. For this reason, the
    'temporary_chown' helper will be a noop on Windows. It's easier to
    do it here rather than do platform checks wherever this gets called.
    - when connecting the volumes, we pass the 'expect_raw_disk' argument,
    which provides a hint to the connector about what we expect. This
    allows the SMBFS connector to return a mounted raw disk path instead
    of a virtual image path.
    - when the driver provides temporary snapshots to be used during
    the backup process, the API is bypassed. For this reason, we need to
    ensure that the snapshot state and progress gets updated accordingly.
    Otherwise, this breaks the nova assisted snapshot workflow.
    
    We're doing platform checks, ensuring that we don't break/change
    the current workflow.
    
    The Swift and Posix backup drivers are known to be working on Windows.
    
    Implements: blueprint windows-smb-backup
    
    Depends-On: #I20f791482fb0912772fa62d2949fa5becaec5675
    
    Change-Id: I8769a135974240fdf7cebd4b6d74aaa439ba1f27
    
  - Merge "Storwize: avoid ascii code error for ssh response stderr"
  - Merge "Fix UnicodeDecodeError when decode API input"
  - Merge "Storwize: modify the self._helpers to backend_helper"
  - Merge "Rename lio job to lio-barbican"
  - Fix json data format
    
    Remove extra comma from sample json file.
    
    Change-Id: Id49838597b9e4f59742c1371d5be7159deabb002
    
  - Fix UnicodeDecodeError when decode API input
    
    Convert UnicodeDecodeError to HTTPBadRequest in
    FaultWrapper.
    
    **NOTE**: Cinder will raise 500 error when failed to decode invalid
    unicode character at anyplace where try to collect url
    parematers as below:
    
    ```
    params = req.params
    ```
    
    This patch converts this kind of exception into BadRequest, plus
    an explicit error message.
    
    Change-Id: I816f05084b0a0ef670ef293d381868409b96ed7d
    Closes-Bug: #1746202
    
  - Api-ref: add 'all_tenants' API query option
    
    Cinder REST API allows one to use a special query parameter
    named "all_tenants" to list resources from all projects (tenants)
    through the REST API:
    
    `/v3/{project_id}/volumes/detail?all_tenants=1`
    
    However, this option is hardly documented anywhere besides
    `/v3/{project_id}/volumes/summary`. So add them.
    
    Change-Id: Ia9cc9e20c3b333a054c90f07e952b61dfad8529e
    Closes-Bug: #1743800
    
  - Make CinderException format errors fatal for tests
    
    This patch borrows very heavily from Nova change
    I680fd46d029ff58bd3b72ef7c7903c2271b26549.
    
    We have a config option to treat exception message formatting errors
    as fatal, but it turned out our overriding of that config option was
    not actually working. Since this is really something only useful for
    testing, and we pretty much always want errors like that caught in
    testing, this deprecates the option and changes the code to always
    enforce raising errors during unit testing when there are problems
    formatting any exception messages.
    
    The previous config option is pretty much useless now, but this way
    we are following the deprecation policy and we can remove it right
    away in Rocky.
    
    Closes-Bug: #1728984
    Change-Id: Iaeb2657a6622cede32c5a59327393ca20758f3c3
    
  - VMAX doc - Queens feature documentation
    
    Part 4 - Known issue around concurrent deletion of replicated
    volumes and minor amendments
    
    Change-Id: Ic06a4ee447872738ea8b51db741638b2f9043283
    Partial-Bug: #1737735
    
  - Revert consumed quota when failed to create group from source group
    
    When failed to created corresponding volumes in group, Cinder
    will destory the volume object, but consumed quota is left.
    
    Change-Id: Ief0637768cf1fe04bb4162e02008b4884a184051
    
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: If7e4cb6f32add6f6275154045b80d7eda1f0c9db
    
  - Zuul: Remove project name
    
    Zuul no longer requires the project-name for in-repo configuration.
    Omitting it makes forking or renaming projects easier.
    
    Change-Id: I881e1a8d4e2fca0f534144b4a1826f431464c25f
    
  - Add python 3.5 in classifier
    
    Now we can support py35 in classifier.
    
    Change-Id: Ief555aa3211b0c1405d2abb155f9ddd44fa149fc
    
  - Merge "Add missing MV history for 3.50"
  - Merge "Correct lvm_type default value in config doc"
  - Correct lvm_type default value in config doc
    
    According to code the default value of lvm_type should be "auto".
    
    Change-Id: Id923e4c8cd5c79fbcf0599b8c0ba9fb6492c5ac0
    
  - modify the http link to the https link
    
    Change-Id: I45ca2406fa1db96e275233a1c30719831c4d9b8b
    
  - Add missing MV history for 3.50
    
    Little change for 3.50
    
    Change-Id: Id9b0096c6d6f763865241d40d197adb78a505043
    
  - Move doc of report backend state to cli
    
    It's not very appropriate in admin section when merging the feature
    in Queen as Sean said. So there is little change to move the doc
    to cli section.
    
    Change-Id: I2823b05dded6066573edfce25a79e8b26d68815e
    
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: I9b737b13d5730804632b8a081c0d5012f2f0b2da
    
  - Merge "Updated from global requirements"
  - Merge "Update the description of quota's project id"
  - Merge "Update document for worker cleanup API"
  - Fix pylint error in DotHill drivers
    
    The DotHill base driver accesses an instance variable before
    it is defined. The way this is being done appears to be safe,
    but it causes an E0203:access-member-before-definition pylint
    error.
    
    Trivial fix to make sure the variable is defined at init.
    
    Change-Id: Ie5828dec2892e2cc94760c4a6e31445805c6c17f
    
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: Ie4cec915787b5390d22c63fcfb2dd7a8e933d153
    
  - Merge "Add the nova-multiattach job to the check/gate queues"
  - Merge "Fix DuplicateOptError in fixed_key migration code"
  - Storwize: avoid ascii code error for ssh response stderr
    
    If there are non-ascii characters in the ssh response stderr, The
    below type of message handling exception will blow up:
    UnicodeDecodeError: 'ascii' codec can't decode byte <hex val>
    in position xx:ordinal not in range(128).
    
    This patch uses safe_decode for the stderr to avoid the ascii code
    error.
    
    Change-Id: Id630391dde7149095fc258c0f0da7d9829d1388a
    Closes-Bug:  1745098
    
  - Merge "3PAR: fix cloning issue in create group from source."
  - Fix DuplicateOptError in fixed_key migration code
    
    Fix how the key migration code loads the fixed_key config option so that
    it handles DuplicateOptError.
    
    Closes-Bug: #1747021
    Change-Id: I119a12c8e80ad991f5a2916fec2ef4421039b9e9
    
  - Storwize: modify the self._helpers to backend_helper
    
    The helper used for volume attaching should be backend_helper rather
    than self._helpers.
    This patch modifies the self._helpers to backend_helper.
    
    Change-Id: Ia18ca2f7862d53fc6ea49ff874eae7b63fae8cb8
    Close-Bug: 1746876
    
  - Update document for worker cleanup API
    
    Update API document for API 'workers/cleanup',
    also remove 'until' from allowed clean keys as
    its value is always assigned in code.
    
    Change-Id: Iea940d7c7e52718b8e5e8dcf706aa5d1126860ef
    
  - Add backup cancellation admin doc
    
    We support backup cancellation on many backup drivers but we have no
    admin documentation.
    
    This patch adds a brief explanation of the backup cancellation mechanism
    as well as some considerations that are good to keep in mind.
    
    Change-Id: I0c38442f01905e0ca0d61e65ee7ea0972ab4ec71
    
  - 3PAR: fix cloning issue in create group from source.
    
    When group or group snapshot is created from two
    different volume types having provisioning set
    one volume type and compression set on other
    volume type and then if we create group from
    existing group or group snapshot then we are
    making use of source snapshot and online copy
    feature of 3par for copying data from source
    to destination.
    
    But we have not kept mapping of source volume and
    its snapshot and because of this, from any snapshot
    of data gets copied to any destination volume and
    created issues mentioned in bug.
    
    This patch creates mapping of source volume and its
    Snapshot, so correct snapshot get selected for correct
    destination volume for copying of data.
    
    Change-Id: I435cd47908fefaa767063fa4c61f3a4d76ffc4ae
    Closes-Bug: #1744025
    
  - Merge "Fix wrong grammar"
  - Merge "Fix the typo in api_conditional_updates.rst"
  - Merge "docs: Use the encryption provider format constants"
  - Merge "Storwize: Use passed volume names in migrate"
  - Merge "Fix cinder quota-usage error"
  - Merge "Fix: request-id missing in volume action's response header."
  - Merge "Storwize: correct return value for update_group"
  - Merge "Fix link in boot from volume docs"
  - Merge "Remove consistencygroups/api.py"
  - Merge "Fix how backups handle encryption key IDs"
  - Merge "Add policy check for create volume with multiattach"
  - Merge "Tests: Fix RBD invalid UUID warnings"
  - Fix link in boot from volume docs
    
    The links to the user guide haven't worked since the docs migration
    in pike. This updates the link to point at the docs which are now
    in nova, and removes the useless link to the end user guide since
    the content doesn't live there anymore.
    
    Depends-On: Ie039322660fd0e2e0403843448379b78114c425b
    
    Change-Id: I3e79e14ef9c50c1f43d334ecae1c9810bf601418
    Closes-Bug: #1711267
    
  - docs: Use the encryption provider format constants
    
    These new constants were introduced during Ocata and will replace the
    legacy classpath names in an upcoming release.
    
    Change-Id: I8ed699dea41cd51b3a62e1ab780a641172dd0122
    
  - Remove unused parameters in v2/v3 parameters.yaml
    
    Change-Id: I835dda262b22af8fe7a0af1a1333bf9842d65013
    
  - Merge "3PAR: Fixed sync period updation in rcg"
  - Merge "V3 jsonschema validation: volume_type_access"
  - Fix leftovers after backup abort
    
    When aborting a backup on any chunked driver we will be leaving chunks
    in the backend without Cinder knowing so and with no way of deleting
    them from Cinder.  In this case the only way to delete them is going to
    the storage itself and deleting them manually.
    
    Another issue that will happen if we are using a temporary resource for
    the backup, be it a volume or a snapshot, is that it will not be cleaned
    up and will be left for us to manually issue the delete through the
    Cinder API.
    
    The first issue is caused by the chunked driver's assumption that the
    `refresh` method in an OVO will ignore the context's `read_deleted`
    configuration and always read the record, which is not true.  And since
    it doesn't work when the record is deleted there will be leftovers if
    the status of the backup transitions to deleted during the processing of
    a chunk.
    
    The second issue is caused by the same thing, but in this case is when
    the backup manager refreshes the backup OVO to know the temporary
    resource it needs to clean up.
    
    This patches fixes the incorrect behavior of the backup abort mechanism
    to prevent leaving things behind.
    
    Closes-Bug: #1746559
    Change-Id: Idcfdbf815f404982d26618710a291054f19be736
    
  - Merge "Dell EMC SC: Find volume folder API call fails on root folders"
  - Merge "Support fabric specific Cisco FC Zone Name"
  - Merge "Improve multiattach error message"
  - Updated from global requirements
    
    Change-Id: Iefa7a5e32739a6b9d448659cd8edd232de267aae
    
  - Merge "Add back support for the multiattach flag for volume create"
  - Add policy check for create volume with multiattach
    
    We currently check the policy for multiattach when the new
    attach calls are made, but not when the deprecated flag is
    passed in. This adds the policy check when only the flag is
    set.
    
    Change-Id: Ida001d551b699e6856930ece1b776f52e5c1f7b0
    
  - Merge "Update Windows docs"
  - Dell EMC SC: Find volume folder API call fails on root folders
    
    Changes to the SC API have changed how calls are made to the
    StorageCenter/ScVolumeFolder/GetList payload filter options. In
    the case of a folder under root this call could fail depending on
    the API.
    
    Change-Id: I2ab2160478d2163dbb45175aa5f1b884f316db24
    
  - SMBFS: allow snapshot ro attach
    
    This change will allow snapshots created by the SMBFS driver to be
    attached in read-only mode. This will be used in order to backup
    in-use volumes.
    
    Note that writing to a snapshot would corrupt the differencing image
    chain.
    
    We'll need to locate snapshot backing files. The issue is that
    in some cases, in-place locks may prevent us from querying the top
    image from the chain. For this reason, we're going to store the
    backing file information in the DB using the snapshot object
    metadata field, at the same time preserving backwards compatibility.
    
    Fake volume/snapshot object usage throughout the smbfs driver unit
    tests had to be updated due to the object changes performed by it.
    
    Partial-Implements: bleuprint windows-smb-backup
    
    Change-Id: Ideaacbf9d160f400bef53825103b671127252789
    
  - SMBFS: fix creating volume from snapshot
    
    In some cases, attempting to create a volume from an in-use snapshot
    fails because of Hyper-V locks.
    
    The reason is that in order to locate the backing image that needs
    to be *cloned*, we may need to query the currently attached image,
    which is not allowed.
    
    In order to avoid this, we're going to store the backing file
    information in the DB using the snapshot object metadata field,
    at the same time preserving backwards compatibility.
    
    Note that we cannot rely on model changes passed to the manager as
    snapshots are used internally in a few cases in which the manager
    would not expect snapshot object changes. Also, when deleting
    snapshots, we're updating the metadata for more recent snapshots
    as the backing file changes.
    
    Fake volume/snapshot object usage throughout the smbfs driver unit
    tests had to be updated due to the object changes performed by it.
    
    Change-Id: I88e9dad5cf36621c4b86acc7b7e972850e061119
    Closes-Bug: #1694635
    
  - Fix the typo in api_conditional_updates.rst
    
    Fix a typo in api_conditional_updates.rst. It should be 'instead of what
    is in' not 'instead of what is is'.
    
    Change-Id: I62eeabf084ca8e63562bd10ac82066424ea61205
    
  - Fix wrong grammar
    
    Modify 'should has' to 'should have'
    
    Change-Id: Id9905728f0f68df2847b7b71cb76d89a205deea0
    
  - Merge "fix wrong url link"
  - [VNX] `initiator_target_map` is None
    
    The value of `initiator_target_map` in FC target data returned by VNX is
    None, which causes os-brick throwing exception. The fix is removing the
    key `initiator_target_map` from the target data dict when its value is
    None.
    
    Change-Id: Ic4afdd0d248e043107d92b8e42f7630d211cd302
    Closes-Bug: #1746218
    
  - Merge "INFINIDAT: support force detach"
  - Merge "Handle TZ change in iso8601 >=0.1.12"
  - Schedule request to scheduler when manage existing snapshot
    
    Pass the request to scheduler service rather than volume
    service in order to check backend's capacity.
    
    Partial-Implements: bp inspection-mechanism-for-capacity-limited-host
    Change-Id: Iafaa48b908c26c1fa6862a8dfc27b43d525847e4
    
  - Fix how backups handle encryption key IDs
    
    As described in the launchpad bug [1], backup operations must take care
    to ensure encryption key ID resources aren't lost, and that restored
    volumes always have a unique encryption key ID.
    
    [1] https://bugs.launchpad.net/cinder/+bug/1745180
    
    This patch adds an 'encryption_key_id' column to the backups table. Now,
    when a backup is created and the source volume's encryption key is
    cloned, the cloned key ID is stored in the table. This makes it possible
    to delete the cloned key ID when the backup is deleted. The code that
    clones the volume's encryption key has been relocated from the common
    backup driver layer to the backup manager. The backup manager now has
    full responsibility for managing encryption key IDs.
    
    When restoring a backup of an encrypted volume, the backup manager now
    does this:
    1) If the restored volume's encryption key ID has changed, delete the
       key ID it had prior to the restore operation. This ensures no key IDs
       are leaked.
    2) If the 'encryption_key_id' field in the backup table is empty, glean
       the backup's cloned key ID from the backup's "volume base metadata."
       This helps populate the 'encryption_key_id' column for backup table
       entries created prior to when the column existed.
    3) Re-clone the backup's key ID to ensure the restored volume's key ID
       is always unique.
    
    Closes-Bug: #1745180
    Change-Id: I6cadcbf839d146b2fd57d7019f73dce303f9e10b
    
  - Rename lio job to lio-barbican
    
    Indicate that this job is testing Cinder with
    Barbican.
    
    Change-Id: Ide9b5abfb681f921cd2fc6c412df6b21819af759
    
  - Update Windows docs
    
    This change updates the Cinder Volume install guide, targeting
    Windows deployments.
    
    The Windows iSCSI driver doc has been updated. The Windows SMB
    driver was undocumented, which is also addressed by this change.
    
    Closes-Bug: #1746022
    
    Change-Id: I46fadc8df59f7203bc3445c24d3bd6547275ee5b
    
  - 3PAR: Fixed sync period updation in rcg
    
    During group update, sync period value was not
    updated in remote copy group.
    
    This patch will fix and update the sync period
    value in remote copy group for periodic mode.
    
    Change-Id: I4a2384f9f01020f1361b5bc8cc03f09ef68b008c
    Closes-Bug: #1746235
    
  - Add 'metadata' in backup detail&show API document
    
    Backup metadata is available in backup list&show
    APIs since 3.43, update the document.
    
    Change-Id: I056ed13124cdb64b5be8012898fb038e112fbe86
    
  - Handle TZ change in iso8601 >=0.1.12
    
    The iso8601 lib introduced a change such that if running on python
    3.2 or later it internally uses the python timezone information
    instead of its own implementation. This does not change direct
    date handling, but when converting this value there is a slight
    difference where now python 2.x will show UTC times as "UTC", but
    on python 3 they will end up with "UTC+00:00".
    
    The to_primitive call for DateTime fields was doing an exact match
    on "UTC" to determine whether to include "Z" in the resulting string.
    This updates that handling to recognize either of the new values.
    
    Change-Id: Idfefd41e45727a375a5ea296a3348716c43f17b5
    Closes-bug: #1744160
    
  - Storwize: correct return value for update_group
    
    Adding volumes to replication group is done one by one. If one
    volume adding fails, the group status will be updated to error.
    Those volumes which are added successfully to the replication
    group in the backend should also be updated and the
    related group id should be filled.
    
    Closes-Bug: 1745552
    Change-Id: I821447ce14bedee0f420d337b6c59bd7c4bfaa28
    
  - Merge "Fix mis-named context object"
  - Merge "[Trivial] SMBFS: fix provisioning type usage"
  - Merge "VMware:Config option to disable lazy volume create"
  - Merge "Avoid use of deprecated commands in lenovo driver"
  - Merge "[Unity] Add `force detach` support"
  - Merge "[1/2] Fix mock for sleep mocks in volume drivers tests"
  - Fix cinder quota-usage error
    
    When backing up a snapshot or 'in-use' volume,
    cinder creates a temp volume from the snapshot
    or 'in-use' volume, then backup the temp volume.
    The temp volume doesn't use the volume-quota,
    but deleting the temp volume when finishing
    backup will minus quota. This process leads to
    a wrong quota-usage. So add admin volume metadata
    when creating the temporary volume and then use
    that data to detect temporary volume. Then skip
    handling quota when deleting the temp volume.
    
    Change-Id: If100a678cf9062c4078f850d8edc001b6b0705f4
    Closes-Bug: #1670636
    
  - Merge "api-ref: add multiattach considerations to retype docs"
  - Merge "api-ref: update migration_policy retype note about encrypted volumes"
  - Merge "Netapp Ontap: Adds support for auto-max-over-subscription"
  - Merge "Overprovisioning Improvements"
  - Remove consistencygroups/api.py
    
    This is unused as of:
    9fe72de4b Add cg policies and clean up old policy handling
    
    Change-Id: Idc42f1407ad6f6852d7b1b6912872006d8770b70
    
  - Fix: request-id missing in volume action's response header.
    
    Several volume actions use webob.Response object to
    return HTTP codes and cinder's wsgi layer doesn't append
    request-id if the actions return webob.Response object.
    
    If we intend to return certain HTTP code, we should use
    wsgi.response decorator and let cinder's wsgi layer create
    response object of it's own.
    
    Change-Id: Ibd6f60301e73022fecae4286e68d152bab73a40e
    Closes-Bug: 1743404
    
  - [Trivial] SMBFS: fix provisioning type usage
    
    At the moment, the SMBFS driver does not honor the configured
    provisioning type.
    
    The issue is that we're checking CONF.backend_defaults instead
    of the driver configuration object, for which reason if the option
    is defined in the according backend config group, it will be ignored.
    
    This change fixes this issue, updating the config option checks.
    
    Change-Id: Ieb9e9edb1bc46d8b6ca31480d963f9dc9c2331de
    Closes-Bug: #1745602
    
  - Merge "HPE 3PAR: Update Storage Driver docs for Queens release"
  - Merge "fix misspelling of 'password'"
  - Merge "backup: set default swiftclient log level to WARN"
  - Merge "Add policy check for complete attachment API action"
  - Merge "Add debug logging around multiattach status changes"
  - Support fabric specific Cisco FC Zone Name
    
    This change in Fibre Channel zone manager Cisco driver allows to use the
    Fibre Channel fabric level cisco_zone_name_prefix to form the zone name.
    This is consistent with the "Cisco Fibre Channel Zone Driver – OpenStack
    Configuration Reference”. Zone_name_prefix will fall back to the one
    speficied at fc-zone-manager level if it is not specified at the more
    granular FC fabric level. The existing code takes zone_name_prefix only
    from the fc-zone-manager configuration.
    
    This patch also removes the code that marks Cisco Fibre Channel Zone driver
    as unsupported and deprecated. Cisco CI has been up and running again since
    Jan 24, 2018. Thus the change.
    
    This patch also contains a minor cleanup in ssh pool.
    
    Change-Id: If629dd30ed61829a1e4a56bc2e4401ef1adef2a5
    
  - DS8K: Correct create volume behavior for CG
    
    Create a volume in Consistency Group will get the LSS from
    lss_rang_for_cg. If the slots in LSS has been exhausted, the volume
    will be stuck in creating state. This patch is used to fix it.
    
    Change-Id: I50a4b595a7244b80b6a18b042bcc0cef4dd05255
    Closes-Bug: 1745372
    
  - backup: set default swiftclient log level to WARN
    
    Similar to change I0857cecd7d8ab0ee7e3e9bd6e15f4987ede4d653, the
    swift backup driver cannot be logging stuff while in a thread during
    read and write operations. swiftclient logs requests and responses
    at DEBUG level, which can cause a thread switch and break the backup
    operation.
    
    This sets a default log level of WARN for swiftclient for the
    cinder-backup service.
    
    Change-Id: I67ac11276715290839c39fc1d0e333c61a38c461
    Closes-Bug: #1745168
    
  - Tests: Fix RBD invalid UUID warnings
    
    This causes a warning to be issued for every RBD test.
    
    Modify fake_volume_obj() to prevent this.
    
    Change-Id: Ib2fff5af7ae7dc8663b15832e39080fe0a51e71d
    
  - Merge "Fix multiattach policy names in release note"
  - api-ref: add multiattach considerations to retype docs
    
    This adds some notes about two things to consider with a volume
    retype operation on an in-use multiattach volume:
    
    1. The volume API will reject a retype operation on an in-use volume
       where the volume's multiattach value would change.
    
    2. Retyping an in-use volume that has more than one active read/write
       attachment is not recommended because on the nova side the swap
       volume operation performs a blockRebase which could potentially
       lead to data corruption.
    
    In the future, we (nova or cinder or both) will likely need to make
    some changes as to what the default attach_mode is for secondary
    attachments to a multiattach volume, since today we default to read/write
    if it's not specified by the caller when making the attachment.
    
    Change-Id: Ib5a2830ea3cd37236947677225252ef42edaa347
    
  - api-ref: update migration_policy retype note about encrypted volumes
    
    Nova has historically not supported swap volume operations (via
    cinder volume retype / volume migration) for an in-use encrypted
    volume.
    
    That was recently addressed via nova bug 1739593.
    
    However, as of change Ibfa64f18bbd2fb70db7791330ed1a64fe61c1355
    in nova, depending on the version of libvirt/qemu on the compute host,
    a luks-encrypted volume will use native qemu luks decryption. That
    does not yet support blockRebase operations which are used during
    swap volume due to https://bugzilla.redhat.com/show_bug.cgi?id=760547.
    
    So it's safe to say that for now, a retype which involves a volume
    migration is not supported for an in-use encrypted volume.
    
    Change-Id: I7ce992f51d50d00950d3fc4ebb44b69a31a94787
    Related-Bug: #1739593
    
  - fix misspelling of 'password'
    
    Change-Id: I559b7a9e0b7c8e246d2d5e42cda18cae4a96c3cb
    
  - Netapp Ontap: Adds support for auto-max-over-subscription
    
    After the addition of the auto-max-over-subscription on Cinder, drivers that
    somehow used the CONF.max_over_subscription_ratio in the driver where marked as
    not supporting the feature. As Netapp Ontap drivers used the option to do some
    calculations, they were marked as so.
    
    In this patch we remove the function that did this calculation as the function
    (_share_has_space_for_clone() is not actually necessary as currectly all volume
    clones are checked by the scheduler.)
    
    Change-Id: I25713b402ad93e0b4aa1861b4ccd9e05ee496200
    Depends-on: If30bb6276f58532c0f78ac268544a8804008770e
    
  - Overprovisioning Improvements
    
    This is part of the effort to improve Cinder's Thin provisioning
    support. As some operators have been facing problems to determinte
    what is the best value for the max_over_subscription_ratio, we
    add in this patch a mechanism to automatically calculate this value.
    
    The formula used for calculation is:
    max_over_subscription_ratio = 20 if provisioned_capacity_gb == 0 else:
    max_over_subscription_ratio = 1 + (provisioned_capacity_gb/(
                                 total_capacity_gb - free_capacity_gb + 1))
    
    Using this formula, the scheduler will allow the creation of a much
    bigger number of volumes at the begginning of the pool's life, and
    start to restrict the creation as the free space approaces to 0 or
    the reserved limit.
    
    Drivers now can set max_over_subscription_ratio = 'auto' and take
    benefit of the change. Drivers that somehow use the
    max_over_subscription_ratio inside the driver to do any kind of
    calculations are incompatible with this new feature and should
    get fixed in order to be able to use the feature.
    
    Implements: bp provisioning-improvements
    Change-Id: If30bb6276f58532c0f78ac268544a8804008770e
    
  - HPE 3PAR: Update Storage Driver docs for Queens release
    
    Change-Id: I39fbab46d4dc5f01c602eed2105d3af8aec894e7
    
  - Merge "Simplify keystone password assertions"
  - Merge "RBD: Support encrypted volumes"
  - Update the description of quota's project id
    
    Instead of QoS id, project id should be used for
    quota's id attribute.
    
    Change-Id: I201350caa984b66baf38ce9d74d09c7eda913034
    
  - Fix mis-named context object
    
    Multiattach will fail with an AttributeError because the authorize
    is called on the wrong object. This corrects that.
    
    Change-Id: I439f2afe34afc9399a5592e8cb75fb6a287d02ab
    Closes-Bug: 1745209
    
  - Add debug logging around multiattach status changes
    
    When deleting an attachment, we now need to check for any other
    attachments for the volume and try to set the status correctly
    based on any of those remaining attachments.
    
    There's not very much logging around this to help us out if
    something goes wrong, so this patch just proposes some debug
    level logging be added around the process.
    
    Change-Id: I64b3046cfb3355b547e158783131338b8b0180d1
    
  - Fix multiattach policy names in release note
    
    The policy rules pointed out in this release note were using
    variables from the code, not the actual policy rule names that
    are actually used in code and would be overridden in the policy
    file.
    
    Change-Id: I00ea8702327f5ad5083f97182098346093dd00ee
    
  - Add back support for the multiattach flag for volume create
    
    As the 'multiattach' request parameter in volume create is
    not formally deprecated out of the REST API via microversion,
    we need to keep the functionality working.
    
    Currently the 'multiattach' attribute on the volume is set by
    the volume_type only, which means that we cannot create a
    multi-attach volume the old way, the volume gets created with
    'multiattach': false.
    
    This patch fixes that.
    
    Closes-Bug: #1745219
    
    Change-Id: Iac67f112b0dc9353c6a66e6fbc81cc8324a2b37c
    
  - Remove logging on Swift backup obj writer
    
    Since change I1f1d9c0d6e3f04f1ecd5ef7c5d813005ee116409 we are running
    parts of the backups on native threads, which due to an eventlet bug [1]
    have bad interactions with greenthreads, so we have to avoid any logging
    when executing code in a native thread.
    
    This patch removes the MD5 logging on the SwiftObjectWriter close
    method and adds comments and docstring referring to this limitation.
    
    [1] https://github.com/eventlet/eventlet/issues/432
    
    Closes-Bug: #1745168
    Change-Id: I0857cecd7d8ab0ee7e3e9bd6e15f4987ede4d653
    
  - Simplify keystone password assertions
    
    With an update to keystoneauth1 > 3.3.0, some of the arguments
    to the password plugin change. Some of our unit tests were a
    little too zealous in checking the expected parameters that get
    passed in to this.
    
    Since we just need to verify that the password plugin is being
    used, and we don't necessarily care about each of the values
    being passed, just assert that the password plugin was called,
    check some specific values, and keep it simple.
    
    Change-Id: Id0d3b06b2debad70d36c253a3c1ee9d561a22e64
    
  - Add policy check for complete attachment API action
    
    Add new policy rule for complete_attachment action to
    prevent anyone who can read the attachment from the database
    to complete it (mark it as in-use)
    
    Change-Id: Idad8c44acde155e70f6f9f618887a97fc956cdd2
    Closes-Bug: #1737000
    
  - [1/2] Fix mock for sleep mocks in volume drivers tests
    
    According to `Applying the same patch to every test method` section in
    the [1] we shouldn't use mock decorators on setUp method. This patch fixes it
    moving mocks into the setUp methods.
    
    This is the first patch in the series. We need to fix the sililar issue in IBM
    drivers but this requires more work to fix them. So let's do fix this issue
    step-by-step.
    
    [1] https://docs.python.org/3.5/library/unittest.mock-examples.html
    
    Change-Id: I4c2097307f812eb5847367b58ef6ba65c23b3a26
    
  - Merge "Run doc8 first"
  - Merge "Add contributor notes on how to use pdb with tests"
  - fix wrong url link
    
    Change-Id: Ifce52e9a7784fc8aaf86ee3e26970397816bdeff
    
  - Merge "Run backup-restore operations on native thread"
  - Merge "Fix Backup uses latest req-id for all log calls"
  - Fix typo in test_qnap
    
    Change-Id: I990989528a617fc2abd3b623e7069cd1ff4d4100
    Signed-off-by: Kien Ha <kienha9922@gmail.com>
    
  - Add contributor notes on how to use pdb with tests
    
    Change-Id: Ib15a4c06f80dfcfaff2f195ecf0f3afbfb5bfa0b
    
  - Run doc8 first
    
    For "tox -e docs", run doc8 first.
    
    doc8 runs much faster than sphinx builds and
    will provide quick feedback on syntax issues.
    
    Change-Id: Id4f77020a70acd8eb9df513d43f86d9fe78f7e22
    
  - RBD: Support encrypted volumes
    
    When creating an encrypted RBD volume, initialize
    LUKS on the volume using the volume's encryption key.
    
    This is required because os-brick only handles this
    step for volumes that attach via block devices.
    
    This requires qemu-img 2.10.
    
    Co-Authored-By: Lee Yarwood <lyarwood@redhat.com>
    Related-Bug: #1463525
    Implements: blueprint libvirt-qemu-native-luks
    Change-Id: Id02130e9af8bdf90a712968916017d05c3213c32
    
  - INFINIDAT: support force detach
    
    terminate_connection should support the case where "connector" is
    None (force detach), in which case all volume connections should
    be detached.
    
    Change-Id: I67bc72891d5aec0161e20b2eefeedbe3a401e7c1
    
  - Replace Chinese punctuation with English punctuation
    
    Change-Id: I991282cd7547dddf2324cdf1ea63bd12d4303ab1
    
  - Merge "Update Volume Encryption Documentation"
  - Merge "Storwize: fix an incorrect temporary parameter name"
  - nimble: update config doc to add missing extra-specs support
    
    nimble storage driver supports various exta-specs in the driver
    which are missing from the config doc, update the doc to add t
    
    Change-Id: Icf541babb8ffe7230dbe10ec9eda41eeecfc242a
    Closes-Bug: 1744787
    
  - Merge "[VNX]Add `force detach` support"
  - Merge "ScaleIO: Enable multiattach for volumes"
  - Merge "VMAX doc - Queens feature documentation"
  - Merge "Move disk space check to run when needed"
  - Add the nova-multiattach job to the check/gate queues
    
    The nova-multiattach job is defined in the nova repo
    but we also need to run it against Cinder changes.
    
    For now the job just runs the tempest compute API tests
    since that's the only place in Tempest that has multiattach
    testing right now and it will save some time in the CI run.
    
    Change-Id: Idfb68b5ddd7aca8642016e392fec6efd169c1ea2
    Depends-On: I51adbbdf13711e463b4d25c2ffd4a3123cd65675
    
  - Merge "Remove extra spaces of the volume creation request body"
  - Merge "Rename 'WindowsDriver' to 'WindowsISCSIDriver'"
  - Remove extra spaces of the volume creation request body
    
    Change-Id: I7fc3ccd24cd9e95cb4fa1d70658fe064cae3a38a
    
  - V3 jsonschema validation: volume_type_access
    
    This patch adds jsonschema validation for below volume type access
    API's:
    * Add private volume type access to project
      POST /v3/{project_id}/types/{volume_type}/action
    
    * Remove private volume type access from project
      POST /v3/{project_id}/types/{volume_type}/action
    
    Made changes to unit tests to pass body as keyword argument as wsgi
    calls action method [1] and passes body as keyword argument.
    
    [1] https://github.com/openstack/cinder/blob/master/cinder/api/openstack/wsgi.py#L997
    
    Partial-Implements: bp json-schema-validation
    
    Change-Id: I5d5a58b7ce3615c8c4cbaa622c0691de38c88969
    
  - Merge "VMAX driver - retype fix where workload is None"
  - Merge "VMAX driver - QOS settings incorrectly applied on Default storage group"
  - Merge "Unity: Add revert_to_snapshot support"
  - Move disk space check to run when needed
    
    At the moment, the check for disk space when booting from an image
    currently happens regardless if the backend supports cloning or not.
    
    This means that even if a backend can clone the image directly, the
    control plane must have enough disk to download the entire image
    which can be unreasonable in backend such as RBD.
    
    This patch moves the code which checks for enough disk space to be
    in the same function that effectively downloads the image, ensuring
    that it only runs when an image has to be downloaded and avoiding
    the check if the backend successfully cloned the image.
    
    Closes-Bug: #1744383
    Change-Id: Ibfd6f40e8b8ab88d4ec76e9ac27617a0f97b6c29
    
  - Update Volume Encryption Documentation
    
    The castellan library has recently been updated to
    use 'backend' instead of 'api_class' to configure
    the backend that should be used.  This change updates
    the volume encryption documentation to use the updated
    configuration option instead of the deprecated one.
    
    Change-Id: I5054f348f9c016d15b36b9f18d9c89e19e25e81f
    
  - Avoid use of deprecated commands in lenovo driver
    
    Recent firmware updates contain minor syntax changes.  This change
    updates the driver to use the correct syntax based on the firmware
    version or whether the backend is 'linear' or 'virtual'.
    
    Change-Id: I981639cebd054fa758efa565a9a32d71a311a1a9
    
  - Merge "modify volume spelling errors"
  - Rename 'WindowsDriver' to 'WindowsISCSIDriver'
    
    This was the first Cinder Volume driver available on Windows,
    for which reason it was simply called 'WindowsDriver'.
    
    As we've added another driver available on Windows, the SMB driver,
    this has caused quite some confusion.
    
    For this reason, we're now renaming it to 'WindowsISCSIDriver'.
    The new location will be:
        cinder.volume.drivers.windows.iscsi.WindowsISCSIDriver
    
    Change-Id: I3877491463dce3d46f7ac0e194ffdf46a0e7c84c
    
  - Merge "Remove leading and trailing spaces from parameters"
  - Merge "Tests: Fix Storpool tests hash randomization failure"
  - Merge "Fix readonly mode for new attachment API calls"
  - Merge "3PAR: fix volume migration for "in-use" volume."
  - Merge "Fix combination of parameters for update APIs"
  - Fix readonly mode for new attachment API calls
    
    The introduction of the new attachment API's doesn't
    know how to deal with RO volumes that don't use the
    connector to set their values.
    
    One of the ways to do RO volumes in cinder is to set
    a parameter in the admin_metadata of the volume.  If
    this is set, we expect the connector to have a matching
    mode setting in it's parameters.  During finalizing of
    an attachment this values are compared and if they don't
    match the attach fails.
    
    The New attachment calls from the Nova side don't set
    this information; and honestly using the connector for
    this isn't such a great idea anyway.  To address this
    change in behavior/bug however we'll default to the
    settings of the volume admin_metadata.
    
    When an attachment is created, we'll check the volumes
    admin_metadata and set the attach_mode of the attach
    object to ro if required.  Additionally, when the
    attachment-completion is performed in the manager, we'll
    use the attach_mode setting of the attachment object to
    override and force any settings in the connector.
    
    This seems like a better option than forcing Nova to check
    and set based on the metadata, and there's no real value
    in having an extra lever or requirement during attach that
    can go wrong.  There's no case where seting the admin_metadata
    to Read Only on a volume and attaching it any other way than
    'ro' is valid, so just use the metdata directly.
    
    Going forward we deprecate the use of admin_metadata for
    Read Only settings and replace it with an attachment-create
    option.
    
    Closes-Bug: # 1741476
    
    Change-Id: Id0aea58f7091c78fcd38a47e475384807f1c04c7
    
  - Merge "Enable multiattach capability for lvm driver"
  - Merge "Fix api-ref for v3 volume group types"
  - Merge "Add enough notification for QoS"
  - Merge "Adds documentation for DataCore volume driver"
  - Merge "api-ref: fix the response parameter for multiattach"
  - Merge "Block attempts to transfer encrypted volumes"
  - Merge "DS8K: block in-use volume to be added to consistency group"
  - Merge "Fix compression related tests"
  - Merge "Fix dictionary mistakes in docstring"
  - Merge "Enable multiattach capability"
  - Merge "Adapt cinder backup swift help test"
  - Merge "Validate metadata before reserve quota"
  - Merge "modify http to https"
  - Enable multiattach capability for lvm driver
    
    Multiattach was globally disabled for all in-tree drivers
    in e499ab995de9c6dca353a115c6c68bd04594cdd9 but we'll need
    to start enabling these to support the functionality.
    
    A policy rule in the API, and/or an extra spec on the volume
    type, should be used to distinguish which backends, or the
    deployment in general, can support multiattach.
    
    Related to blueprint multi-attach-v3-attach
    
    Change-Id: I158c6f20e3e6a24bd2e5299abbeb3fc5208e5885
    
  - 3PAR: fix volume migration for "in-use" volume.
    
    3par driver does not support cross protocol level
    “In use” volume migration, for such cases we are returning
    False and then after that cinder framework takes care of
    same.
    
    But we were doing same for same protocol level and
    Hence volume migration was failing.
    
    This patch resolve this issue and if same protocol level
    “in use” volume migration case is there then 3par
    driver takes care of such migration.
    
    Change-Id: I0aba3760cd8f22dd0b19a45ecde06919af4a2447
    Closes-Bug: #1744021
    
  - modify volume spelling errors
    
    Change-Id: I14497ed20c6938c0c9662fc94d641ecaf65e984a
    
  - modify http to https
    
    Change-Id: Ic5999110e7c5b606f7bbc11202b2a0b905d9a21a
    
  - Merge "Fix BadRequest for 'ref' as string value"
  - Fix api-ref for v3 volume group types
    
    This patch is mainly to fix api-ref for v3 volume group types,
    including:
    
    1. add description and example for the API: show defaut group type
    2. fix parameters: 'is_public' and 'description'
    3. remove unused sample file: group-type-show-request.json
    
    Change-Id: I29f160d8ed24473debb345b4ea91ee0545d711b1
    
  - Fix combination of parameters for update APIs
    
    For group_type and volume_type update APIs, If user passes
    description or is_public parameter in the request body then name
    can be null. But after schema validation [1][2], it is failing with
    BadRequest.
    
    This patch allows users to pass 'name' as None if "description"
    or is_public" parameter is passed in the request body.
    
    [1]: https://review.openstack.org/#/c/520561/
    [2]: https://review.openstack.org/#/c/519643/
    
    Change-Id: Id5d5f5ed8b449c9f1059528de241417f231f90b5
    Closes-Bug: #1742940
    
  - Merge "Update volume's 'updated_at' when accept transfer"
  - Merge "Add multiattach policy"
  - Merge "Fix api-ref for v3 volume types"
  - Merge "Fix: Propagate OS global request ID"
  - Merge "INFINIDAT: add missing connection_info params"
  - Merge "NetApp E-Series: Fix broken generic volume groups"
  - Merge "RBD: get manageable volumes"
  - Merge "Storwize: use DLM locks"
  - Merge "Updated from global requirements"
  - Merge "VMAX driver - Multiple storage group creation attempts"
  - Merge "Windows: allow multiple c-vol backends per service"
  - Add enough notification for QoS
    
    In order to meet the needs of users, add 'created_at' and
    'updated_at' in logs. The following interfaces are modified: create,
    update, delete, delete_keys,
    associations (List all associations of given QoS specs.),
    associate (Associate a QoS specs with a volume type.),
    disassociate (Disassociate a QoS specs from a volume type.),
    disassociate_all (Disassociate a QoS specs from all volume types.).
    
    Users can search log information from different angles according to
    the notification information.
    
    In addition, add an interface that converts the datetime format to
    date in utils.
    
    Closes-Bug: #1569150
    Change-Id: I7c05330f108989bf2e8b4b2a2ba8b8428eeee2e7
    
  - Merge "Update nfs driver doc for snapshot support"
  - Merge "Delete duplicated save operation when do backup creating"
  - Merge "Fix api-ref for v3 Services"
  - Merge "Initialize osprofiler in WSGI application"
  - Merge "Remove In-repo cinder tempest plugin"
  - Unity: Add revert_to_snapshot support
    
    Add `revert_to_snapshot` API in Unity Cinder driver.
    
    Implements: blueprint unity-revert-to-snapshot
    
    Change-Id: I7d86870cd51b41677a110e844aaec6952f235121
    
  - Adapt cinder backup swift help test
    
    Show choices of option `backup_swift_auth`.
    
    Change-Id: I7f64faaf213647d8011360792cfb42985630c75b
    
  - Enable multiattach capability
    
    This patch adds the ability to create multiple attachments
    for a single volume.  This change requires that a volume
    either be created with a special volume-type that includes
    extra-specs indicating the requirement for multiattach
    capabilities from the backend:
        `extra_specs: {'multiattach': '<is> True'}`
    
    or that an available volume is retyped to the specified
    multiattach type.
    
    What the patch does is pretty simple:
    1.  On volume create
        Inspect the associated volume-type to see if it includes
        the multiattach capability, if it does and
        scheduling/creation is succesful; then we set the
        multiattach attribute on the volume to True
    
    2.  On volume retype
        We verify that if the retype involves multiattach
        capability that it's allowed  and check policy.
    
        After retype, again we set/update the multiattach
        attribute of the volume appropriately to match
        the newly specified type.
    
    Note that we do NOT do anything to enforce the volume is
    formatted with a shared filesystem!  Attempting to use
    this feature with a standard ext4 filesystem will lead to
    one or more of your attachments erroring out and being
    converted to read only mode.
    
    blueprint: bp/multi-attach-v3-attach
    
    Change-Id: Ic8a8ba2271d6ed672b694d3991dabd46bd9a69f4
    
  - Add multiattach policy
    
    This patch adds the policy for creating and retyping volumes
    with volume types that indicate multi attach capabilities.
    
    There are two policies being added:
    
    1. MULTIATTACH_POLICY
    General policy to disallow creating volumes of type multiattach
    as well as retyping volumes to/from a multiattach type.
    
    2. MULTIATTACH_BOOTABLE_VOLUME_POLICY
    Specific policy to disallow creating multiple attachments for
    any volume that is `bootable`.
    
    We use policy to control the use of this particular type,
    and we also limit the ability to retype a volumes
    multi attach settings to only volumes that are in available
    status.  We need to to do this because multi attach has
    implications for things on the Compute side (ie libvirt)
    that would require detach/reattach to keep things synced
    correctly.
    
    Currently there's no back end reporting the `multiattach=True`
    capability, that will be in the next patch of this series.
    
    Change-Id: I3fd8afe9cbae3c733a6530dce7be6fef8d53cfa6
    blueprint: multi-attach-v3-attach
    
  - Updated from global requirements
    
    Change-Id: I7b75a2a4f6ebab5c87ce0460a477458cd3883606
    
  - Merge "Fix glance create client unit tests"
  - Merge "VMAX driver - Fix AttributeError of dell emc driver"
  - Merge "VMAX driver - Errors extending replicated volumes"
  - Merge "VMAX driver - Fix error handling and checks for generic volume groups"
  - Fix api-ref for v3 volume types
    
    This patch dome some fixs on api-ref for v3 volume types, including:
    
    1. add api-ref and sample file for show default volume type API
    2. remove unused sample file: volume-type-show-request.json
    3. fix parameters: 'name', 'extra_specs', 'is_public', 'description',
    and 'os-volume-type-access:is_public'
    
    Change-Id: I6fdcb66d3a56643a5e71bcd68f4bcdc08fc4866b
    
  - [VNX]Add `force detach` support
    
    Add support to force detach a volume from all its attached hosts on VNX.
    
    Closes-bug: #1741835
    Change-Id: Ib1c82bbb3c898112b4cb51930e08a6aed4c497e2
    
  - [Unity] Add `force detach` support
    
    Add support to force detach a volume from all hosts on Unity.
    
    Closes-bug: #1741831
    Change-Id: I5f0f3d474b00f3c1f742c1bfa6877911415c32f9
    
  - Storwize: fix an incorrect temporary parameter name
    
    The parameter “iscsi” is defined in the function get_host_from_connector
    definition. But it is used as the other temporary parameter name in this
    function.
    
    This patch modify the temporary parameter name from “iscsi” to “iscsi_name”.
    
    Change-Id: Ieba461478059d1e76ecb66dcbb8ca922e486e750
    Closes-Bug: 1743695
    
  - Update nfs driver doc for snapshot support
    
    nfs snapshot was supported since ocata, remove the outdated
    description
    
    Change-Id: Ie2e66a344203e8835bc66a3fd3eeffb3c694a645
    
  - Storwize: use DLM locks
    
    To be able to use Storwize driver with c-vol in A/A deployment,
    local file lock should be replaced with distributed lock manager.
    
    Closes-Bug: #1742616
    Change-Id: Ib7b5d90b43ba6d004d81ce355db6b853911132be
    
  - Fix BadRequest for 'ref' as string value
    
    Before schema validation patch [1] got merged, it was allowed to
    pass "ref" as string value (ref:"string") in request body of
    snapshot_manage create API but after schema changes, it is
    returning 400 error.
    
    This patch fixes this issue by allowing user to pass "ref" parameter
    as string.
    
    Note: In case user uses python-cinderclient to manage snapshot, it
    always passes "ref" parameter as object (dict).
    
    Change-Id: I6464eacf9f970cbcc1429a50bd59d59faf262bc6
    Closes-Bug: #1743338
    
  - Remove leading and trailing spaces from parameters
    
    Snapshots and backup (create/update) APIs stores 'name' and
    description' parameters with leading and trailing spaces in
    database after patches [1][2] are merged.
    
    This patch removes leading and trailing whitespaces before
    validation and also before storing it in db for 'name' and
    'description' parameters.
    
    [1]https://review.openstack.org/#/c/520991/
    [2]https://review.openstack.org/#/c/530098/
    
    Closes-Bug: #1742907
    Change-Id: Ib5c8d32e2c20cbacebd7b6f7281a44f94a70f7c0
    
  - Merge "Report backend state in service list"
  - Merge "Revert volume consumed capacity when rescheduling"
  - Merge "Dell EMC SC: On None connector terminate_connection unmaps all"
  - Merge "Check create from image policy when image not none"
  - Merge "Updated from global requirements"
  - Merge "Synology: Rename iSCSI target config option"
  - Adds documentation for DataCore volume driver
    
    Change-Id: I671bdd82f96120093508ea6d2ee55375c416598c
    Closes-Bug: #1736298
    
  - Storwize: Use passed volume names in migrate
    
    For the storwize driver, update_migrated_volume() impl, the
    original and temporary volume names were generated from a
    configuration template value, rather than using the names of
    the volumes passed. This only works if the storwize driver
    created the original volume, but breaks down if it originated
    elsewhere.
    Make a small change to use the passed in volume name properties
    instead. Add a couple asserts to the test cases.
    
    Change-Id: I1c719e6858426416b56357d2f071584209757a78
    Closes-Bug: #1721583
    
  - Merge "Fix BadRequest for 'null' metadata and group_specs"
  - Merge "[Doc] Add replication group support in doc for Storwize"
  - Fix glance create client unit tests
    
    If tests test_create_glance_client_with_protocol_http and
    test_create_glance_client_with_protocol_https from
    cinder.tests.unit.image.test_glance.TestGlanceImageServiceClient are run
    one after the other (regardless of the order) it will result in an
    error: "AssertionError: Expected 'load_from_options' to be called once.
    Called 0 times.".
    
    The reason is that in cinder/image/glance.py we cache the session in
    variable _SESSION, so the first test will set it and the second one will
    reuse it and won't call the load_from_options method.
    
    This patch solves this issue by resetting the caching variable in the
    tests.
    
    TrivialFix
    
    Change-Id: Ia77d9d1a3aa4b54a08912584164739f851188784
    
  - Updated from global requirements
    
    Change-Id: Ie64af4305605717af01f903b05352e2480569d25
    
  - Run backup-restore operations on native thread
    
    During huge backup file read write operations holds the CPU which
    leads to thread starvation, and cause cinder backup service to
    report down, as DB operations are impacted.
    Proposed changes are to run CPU and file sensitive operations like
    read, write, compress, decompress on a native thread.
    
    Change-Id: I1f1d9c0d6e3f04f1ecd5ef7c5d813005ee116409
    Closes-Bug: #1692775
    Co-Authored-By: Gorka Eguileor <geguileo@redhat.com>
    
  - Fix compression related tests
    
    Tests for chunked backup drivers are using a randomly generated file to
    test the compression, which means that in most cases due to the
    randomization the generated file is bigger than the original one, so we
    end up doing a non compressed backup, which defeats the purpose of the
    tests.  More so when you want to test the decompression, since the
    backup won't be compressed and there won't be any decompression.
    
    To fix this we generate, for those cases, a simple file that can always
    be effectively compressed.
    
    Change-Id: Idbfeeb2604bc84dc0a17c633b782000d94665bbe
    
  - INFINIDAT: add missing connection_info params
    
    Always add target_portals, target_iqns and target_luns to
    connection_info to support iSCSI multipath.
    
    Change-Id: I3187a9f5b4aaf6b6b3e11f8c1f109c2e21ee88fc
    
  - Merge "Remove unused lib in test-rquirements.txt"
  - Merge "Unity: Attach Unity volume via IPv6."
  - Update volume's 'updated_at' when accept transfer
    
    When accept volume transfer, the volume object's
    'user_id', 'project_id' and 'status' are all updated,
    'updated_at' should be refreshed as well.
    
    Change-Id: I0ab094a961f0911e860d986c3db28a4e6c75a9f6
    
  - Merge "Storwize: correct in-use replication vol status"
  - Merge "Remove the deprecated "giturl" option"
  - Merge "Fix 'volume_type' for in the api-ref"
  - Merge "Tests: Fix XIV test failure with hash randomization"
  - Tests: Fix Storpool tests hash randomization failure
    
    Dicts are unordered types, these unit tests will
    fail when Python 3 hash randomization is enabled.
    
    Needed-By: I4c7396f9d8e58ac8420754503f8ed60cd7473426
    Change-Id: Id30547f430fcd63d639651ab9a987bb40c304e39
    
  - Fix: Propagate OS global request ID
    
    Cinder doesn't propagate global request IDs internally, so any external
    request that comes with it will have it logged at the API service and
    then we'll lose this information in all the other services.
    
    We are properly serializing this information on our RPC calls, but we
    are not reconstructing the Context properly on the receiving end.
    
    This patch ensures that the "global_request_id" field from the context
    is properly added on RPC reception.
    
    Closes-Bug: #1743462
    Change-Id: I35834a43298b5287d5cd3c37baa82903bdffda12
    
  - Fix Backup uses latest req-id for all log calls
    
    Currently all log entries will have the request ID of the latest request
    that was received in the Backup service.
    
    So you would receive a request with ID 1 and you would start logging
    that thread log calls with its ID, but as soon as you receive another
    request, let's say with ID 2, you will have both request logging with ID
    2 instead of each one logging with its own request ID.
    
    The reason for this is that we are monkey patching after we have
    imported OSLO logging and we should be doing the monkey patching before,
    because OSLO logging imports OSLO context, which in turn imports
    threading and defines the _request_store where the context is stored as
    threading.local, which is not the monkey patched version and therefore
    will be shared among all the greenthreads that share the same python
    thread.
    
    To fix this we just move the monkey patching earlier in the imports.
    
    Closes-Bug: #1743461
    Change-Id: I677a8e39de4292fe4fa8e70d7b6ae2fc3d5cf2ac
    
  - Merge "VMAX driver - revert a volume to last snapshot"
  - Merge "Fix: validation error if the optional parameter's value is None"
  - Fix BadRequest for 'null' metadata and group_specs
    
    Before schema validation patches [1] and [2] merged, it was allowed
    to pass metadata and group_specs as null but with these patches 400
    BadRequest is returned to user.
    
    This patch fixes this issue by allowing group_specs and metadata to
    be null in request_body.
    
    [1] https://review.openstack.org/#/c/528631/
    [2] https://review.openstack.org/#/c/519643/
    
    Change-Id: If207877811a5c331c28fc853cf233758a1743903
    Closes-Bug: #1742938
    
  - Fix api-ref for v3 Services
    
    This patch is mainly to fix the request parameters for
    the Disabled Cinder Service APIs.
    
    Change-Id: I112793716c1f00cc953bd960fa13be67612ed6ac
    
  - Delete duplicated save operation when do backup creating
    
    Change-Id: I67b6fb3f1d116b87baa31d4d2db5e2f19df689a6
    
  - Fix dictionary mistakes in docstring
    
    Change-Id: Idbd57f80fb1b9a6c6e8ac3adc37df86970bd4125
    
  - Fix 'volume_type' for in the api-ref
    
    1 The 'volume_type' shoud be required in the rest_method of request.
      So fix the request paremeter about volume_type
    2 Fix  the parameters of 'volume_type' in the volumes-v3-volumes.inc
    
    Change-Id: I585db62579ac134885a49dc020508a9f0fba3c78
    
  - Remove the deprecated "giturl" option
    
    From openstackdocstheme 1.18.0, valid Git URLs can be retrieved by
    openstackdocstheme[1], we do not need giturl option anymore.
    
    [1] https://review.openstack.org/532163
    
    Change-Id: Iaff058758c26fec5ae55d711b4390f37f72e79c4
    
  - Merge "VMAX driver - Incorrect stats reporting"
  - Remove unused lib in test-rquirements.txt
    
    python-subunit is unused now, so we can remove that, and
    we have switched to use stestr, os-testr can be removed.
    for details, please see [1] and [2]
    
    [1] https://review.openstack.org/#/c/488441/
    [2] https://review.openstack.org/#/c/491075/
    
    Change-Id: I5798ebacf8367a5d2b539cc14ee6af505c5a58b6
    
  - Merge "Fix version details API does not return 200 OK"
  - Merge "VMAX driver - support for manage/unmanage snapshot"
  - Merge "VMAX driver - retypes failing when workload is missing"
  - VMAX driver - retype fix where workload is None
    
    The issue occurs when workload is 'None', because the code expects
    uppercase 'NONE'. This fix rectifies this.
    
    Change-Id: Idec99b206f6e27b853175432dcba174f3fa400d0
    Partial-Bug: #1742917
    
  - VMAX driver - QOS settings incorrectly applied on Default storage group
    
    When a VMAX volume is created, host IO limits are incorrectly applied
    on the storage group. When the volume is attached to an instance, host
    IO limits are applied to the new storage group leaving limits set in
    two places. Host IO limits should only be set on the storage group
    associated with the instance.
    
    Change-Id: I058f315f3ae48847165c82b124db566a77e3adbb
    Closes-bug: 1742709
    
  - Merge "VMAX driver - Implement SRDF Metro feature"
  - VMAX doc - Queens feature documentation
    
    Part 3 - Legacy information removal and typo fixes
    
    Change-Id: Ic220cda12c3a7eb78274e8ee9a12384baa5e69d3
    Partial-Bug: #1737735
    
  - Merge "3PAR: fix create group from source functionality"
  - Merge "VMAX driver - Cannot extend volumes in a replication relationship"
  - DS8K: block in-use volume to be added to consistency group
    
    In DS8K, adding the in-use volume into consistency group will failed.
    Fix this issue by blocking user to add the attached volume into
    consistency group.
    
    Change-Id: Id7f0e336183f03c5687389dce0f71c5a773889d6
    Closes-Bug: 1742845
    
  - [Doc] Add replication group support in doc for Storwize
    
    Add replication group support for Storwize in document.
    
    Change-Id: I3d3dab34196567f84d3dea61bb3143c2df173367
    Closes-Bug: 1742026
    
  - Fix version details API does not return 200 OK
    
    When use version details api http://ip:8786/v2 to get api details,
    it does not return 200 OK, and the return value is empty.
    
    This change is to correct the version details API URL and its
    sample response.
    
    Change-Id: I547dca649db22b31051b490c2b230322d3c9d479
    
  - Dell EMC SC: On None connector terminate_connection unmaps all
    
    On terminate_connection if the connector is None the driver now detatches
    the volume from all mapped servers. It leaves connections to remote Storage
    Center's so things like replication and live volume continue.
    
    Change-Id: I205006a3ebab742883018d564e766031024eeb3d
    
  - Deprecate the allow-multiattach option to create
    
    This patch just marks the option as deprecated, going
    forward we'll go with using a volume-type instead.
    
    Change-Id: I00615495a6ed98a996135192ed41719b2b00d936
    blueprint: multi-attach-v3-attach
    
  - Improve multiattach error message
    
    With multi-attach on the way, the current message when you try to attach
    a non-multiattach enabled disk is less than perfect. If you've forgotten
    to set multiattach on volume create, you will get this error when you
    try to attach it to the second instance:
    
    "volume is already attached"
    
    This updates the error message to make it clearer.
    
    Closes-Bug: 1741943
    
    Change-Id: I7110cb87388ec8d39aa8b604208a161e890f3ab2
    
  - ScaleIO: Enable multiattach for volumes
    
    Enable the multiattach capability to allow volumes
    to be attached to more than one instance
    
    Change-Id: I1db2771f7c970341f62271a857795d413a506a34
    
  - Windows: allow multiple c-vol backends per service
    
    This change will allow enabling multiple backends within a single
    Cinder Volume service on Windows.
    
    We cannot leverage the oslo_service process launcher as it has some
    Windows compatibility issues:
    - it forks
    - it uses eventlet GreenPipe (not available on Windows)
    - child processes receive the service objects that should be
    launched. Those are not serializable, for which reason we're not
    able to pass them without fork support.
    
    For this reason, we'll use the following alternate approach on Windows:
    - we're adding another cli argument called 'backend_name', which allows
    requesting a certain backend.
    - we're adding a Windows process launcher that will just use
    subprocess.Popen for each backend, using the above mentioned argument
    to request a specific backend. Thus, for each backend, we'll invoke a
    command such as the following:
        cinder-volume.exe --backend_name=<backend_name> --config-file=<conf>
    - the process launcher will wait for all the subprocesses to exit. In
    order to ensure that all subprocesses are killed when the parent dies
    unexpectedly, we're associating Win32 job objects to the child processes,
    requesting them to be killed when all the job handles are closed. Those
    handles are kept by the parent process, being closed when the process
    dies.
    
    Depends-On: #Icc2bbe9191e6db685c0fd294abc1d0eb24bc420c
    
    Closes-Bug: #1734334
    Change-Id: I80fa111fabd46c7802b89fd6136edd8fa8652d47
    
  - Check create from image policy when image not none
    
    This patch fixs the mistake in [1].
    
    [1]: https://review.openstack.org/#/c/511427/4/cinder/volume/api.py
    Closes-Bug:1742609
    
    Change-Id: I762ea23ebe37c5286de3cdbf6ff91d4df481ae75
    
  - Validate metadata before reserve quota
    
    Snapshot's quota reservations are left when
    failed to validate metadata. Place the check
    statement right before quota reserve.
    
    Change-Id: Iae3ce945f51ae7fac76a997063b238bf59d62939
    Closes-Bug: #1742371
    
  - api-ref: fix the response parameter for multiattach
    
    The multiattach parameter is optional when creating
    a volume but is required to be in the response when
    showing a volume.
    
    This fixes the parameter usage, renames the parameters
    so they are more clear (multiattach_1 was for the response
    but was never used), and also adds a note to the multiattach
    request parameter about how support is dependent on the volume
    type being used to create the volume.
    
    Change-Id: Ifaa29140a8e8a9b8090f33fb83e4bb5c98ee847f
    
  - Docs: ibm_storage_driver: Fix volume_driver path in documentation
    
    The provided path is invalid. This patch corrects the path.
    
    Change-Id: I4649385a3e94a388c2dc6acb7c99b0179c0f5ea2
    
  - Synology: Rename iSCSI target config option
    
    When the config option iscsi_ip_address was renamed to
    target_ip_address, one place was missed.
    Also updated the documentation and renamed related internal variable
    names.
    
    Change-Id: I356d44eeb904ab788427c8315c9ad5755802c90d
    Related-Change: https://review.openstack.org/528515
    
  - Revert volume consumed capacity when rescheduling
    
    Cinder scheduler will consume pool capacity repeatedly
    when rescheduling creating request.
    
    Closes-Bug: #1741833
    Change-Id: Ib11bda868085dfed0ab0e9018b8ed35956dbdf10
    
  - 3PAR: fix create group from source functionality
    
    when we create a group from source having tiramisu enabled
    on group, adding volumes from new group to 3par remote
    copy group is giving an error.
    This is because of 3par has limitation that physical copy
    can not be added to remote copy group.
    in create group from source function, we are making use
    of online copy feature of 3par for copying of data from
    source volume to destination volume, which creates
    physical copy of destination volume till completion of
    online copy due to which addition of such physical copy
    to remote copy group is failed.
    
    To overcome this, we will wait till online copy completes
    in 3par for volumes. Because after completion of online copy,
    destination volumes becomes normal virtual volume in 3par
    and we can easily add such volumes to remote copy group.
    
    Change-Id: Idc74cc68350833e3c9ac85f36c8f058beeca6bc9
    Closes-Bug: #1742092
    
  - Initialize osprofiler in WSGI application
    
    This patch adds missing initialization of OSProfiler
    when Cinder API is running as WSGI application.
    
    Change-Id: Ifaffa2d58eeadf5d47fafbdde5538d26bcd346a6
    
  - VMAX driver - Multiple storage group creation attempts
    
    When creating volumes concurrently on a clean system, we can see a
    situation where multiple processes try and create the default storage
    group simultaneously. This can lead to failures as attempts are made to
    create the default storage group after another process has already
    created the resource. This patch rectifies the issue by checking if the
    storage group has been created by another process while we were waiting
    for the lock.
    
    Change-Id: Icb16b1be23a5dcce7303d7d132db5fd31b3e41f2
    Closes-bug: 1742100
    
  - Fix: validation error if the optional parameter's value is None
    
    1. Snapshot: option name in create/update/manage snapthot is optianal
    which type is name_allow_zero_min_length and should allow null.
    2. Backup: option name in create/update/restore backup is optional
    which type is name_allow_zero_min_length and should allow null.
    3. Backup: snapshot_id in create backup or volume_id in restore backup
    is optional, set its type to uuid_allow_null.
    4. Group_snapshot: option name in create group-snapshot is optional, and
    should allow null.
    
    Change-Id: I9f1f39b30d43dc16a474febcf6549cf1901732ec
    Closes-bug: 1741191
    Co-Authored-By: yatin <ykarel@redhat.com>
    
  - Storwize: correct in-use replication vol status
    
    Correct in-use replication volume status after failover/failback.
    
    Currently the status of in-use replication volume is changed to
    available and attach_status is changed to detached after failover in
    storwize cinder driver to make the replication volume can be attached
    again after failover. So does failback operation.
    
    However, nova is using the new cinder attach api right now. The in-use
    volume can not be attached to the same instance again even the volume
    status is changed to available and attach_status is changed to
    detached in cinder driver by force. This is due to nova stores the
    combined relationship of volume_id and instance.uuid in nova db as
    BlockDeviceMapping. This is to avoid attaching the same volume to the
    same instance twice. So the attaching request can not be sent to
    cinder if there is attached record in BlockDeviceMapping between the
    volume and instance.
    
    So this patch keeps replication volume status and attach_status during
    failover and faiback.
    
    Change-Id: Ia7a4c0759694d7b527ba93e4d3785a22e4303dac
    Closes-Bug: #1741431
    
  - Unity: Attach Unity volume via IPv6.
    
    The IPv6's ISCIS portal format is [IPv6Address]:Port.
    The Unity returned IPv6 are not enclosed with brackets.
    So Unity's cinder-driver has to add brackets for IPv6's ISCSI portal.
    
    DocImpact
    Change-Id: Ib54fe948d0f5d7cad6c28468503f8535573ef3fc
    Implements: blueprint unity-cinder-ipv6
    
  - Merge "Use method validate_integer from oslo.utils"
  - Fix v3 api-ref for showing API details url error
    
    Client were receiving the 302/Found when using the url "/v3".
    For showing API v3 details, it should have a '/' behind.
    
    Closes-Bug:#1734053
    
    Change-Id: I7e6cb991151fba19dcaecaf95b332fddc1c02deb
    Signed-off-by: Xiaojun Liao <xiaojunliao85@gmail.com>
    
  - Merge "VMAX driver - Enable CHAP authentication for vmax backend"
  - Merge "VMAX driver - Add async replication support"
  - Merge "DS8K: correct LSS behavior for CG snapshots"
  - Merge "VMware: Support volume adapter type change"
  - Merge "VNX: Fix cloning failure when system is busy"
  - Merge "Fix api-ref for v3 volume types"
  - Merge "NEC driver: implement manage/unmanage functions."
  - Merge "Storwize: add hyperswap volume support"
  - Merge "Mock FixedIntervalLoopingCall for Huawei unit tests"
  - Merge "Handle InvalidVolume when creating a volume attachment"
  - Merge "V2/V3 json schema validation: snapshot manage"
  - Merge "Add microversion and volume status limit to revert api ref doc"
  - VMware:Config option to disable lazy volume create
    
    Currently the backend volume is created lazily for raw
    volume create operations. The backend volume is created
    during the initial attach. This is to minimize unnecessary
    volume migrations across datastores in the backend which
    may be required if the backend volume is not accessible to
    instance VM's ESX host. In certain vCenter configurations,
    it may be required to disable this lazy creation. This would
    reduce the time spent in the backend during volume attach.
    Introducing a config option to disable lazy volume create
    if necessary.
    
    Change-Id: I3feb6b382ff75eb53d53f145ae3773b6320e703c
    Closes-bug: #1739390
    
  - VMware: Support volume adapter type change
    
    Adding support for volume adapter type change using volume
    retype.
    
    Change-Id: I7731eaf9561965d4e0f87c0597bfdb784ef6ca7a
    
  - Merge "[api-ref] Add missing fields to the API Reference"
  - Tests: Fix XIV test failure with hash randomization
    
    _get_fc_targets creates a set() from target_wwpns.
    It then sorts the contents of that set using a comparison that
    only checks the last digit of the entry.
    
    This is not a stable sort, so the order of the list output
    from _get_fc_targets is non-deterministic.
    
    This appears to be fine in practice, so just fix the unit test.
    
    Needed-By: I4c7396f9d8e58ac8420754503f8ed60cd7473426
    Change-Id: I281ad59fa518f936aa8d1b518acf61800ba949f5
    
  - Block attempts to transfer encrypted volumes
    
    Block attempts to transfer encrypted volumes until [1] gets resolved.
    
    [1] documents the fact that encryption keys are not properly transferred
    to the new volume owner. Resolving this will be tricky because Key
    Managers such as Barbican currently provide no API for transferring
    ownership, and Key Manager ACLs are insufficient because they don't
    allow the new volume owner to delete the key.
    
    [1] https://bugs.launchpad.net/cinder/+bug/1735285
    
    Related-Bug: #1735285
    Change-Id: I5dbeb46adc9da1fce6359a96b981aa8d673d50c4
    
  - Mock FixedIntervalLoopingCall for Huawei unit tests
    
    We should use ZeroIntervalLoopingCall instead of
    FixedIntervalLoopingCall to speed-up our tests.
    
    Change-Id: Ifd91b8ddd0f18451b73b7472c9185dacb48b3a72
    
  - [api-ref] Add missing fields to the API Reference
    
    Adding the 'service_uuid' and 'shared_targets' to the API Reference
    documentation with a short description.
    
    Closes-Bug: #1739640
    Change-Id: I6866a8da47c6910ce8d2a6802839e9a06eb596a5
    
  - V3 jsonschema validation: Backups
    
    This patch adds jsonschema validation for below Backups API's
    * POST /v3/{project_id}/backups
    * PUT  /v3/{project_id}/backups/{backup_id}
    * POST /v3/{project_id}/backups/{backup_id}/restore
    * POST /v3/{project_id}/backups/{backup_id}/import_record
    
    Made changes to unit tests to pass body as keyword argument as wsgi
    calls action method [1] and passes body as keyword argument.
    
    [1] https://github.com/openstack/cinder/blob/master/cinder/api/openstack/wsgi.py#L997
    
    Change-Id: Idd6c6be1c8bdf4dcf730f67e75a58a0329fe5259
    Partial-Implements: bp json-schema-validation
    
  - Merge "Update tgt iSCSI target on volume extend"
  - Storwize: add hyperswap volume support
    
    This patch adds hyperswap volume support for Storwize/SVC driver.
    
    New properties are added in volume type configuration:
    drivers:volume_topology sets to "hyperswap" would specify a
    hyperswap volume.
    drivers:peer_pool specifies the pool that hyperswap remote copy
    volume is stored.
    drivers:host_site specifies the site name of the host.
    
    New property is added in group type configuration:
    hyperswap_group_enabled="<is> True" would setup a hyperswap group.
    
    DocImpact
    Implements: blueprint svc-hyperswap-support
    
    Change-Id: I989d22d9580c1f44546f371af1fffded14ddcbe3
    
  - Merge "Do not explicitly list thin provisioning tools for RPM"
  - Merge "Dell EMC SC: API 4.0 incompatibilities"
  - Merge "Add driver-requirements entry for storpool"
  - Merge "Add descriptions of base policies"
  - Merge "Fix reserve volume enforcing the wrong policy action"
  - Handle InvalidVolume when creating a volume attachment
    
    If you try to attach a non-multiattach volume to more than
    once instance using the 3.27 volume attachments API, the volume
    API would return a 500 response because the volume is in-use.
    
    This translates to a 500 in the compute API because nova isn't
    expecting a random client exception.
    
    Treat this like how os-reserve could fail in the same situation
    and handle InvalidVolume which will be converted to an HTTPBadRequest
    by ResourceExceptionHandler elsewhere in the WSGi stack.
    
    Change-Id: I1a8068043159b034d700419675af87fc17e1faf5
    Closes-Bug: #1741112
    
  - RBD: get manageable volumes
    
    This patch adds the ability to get manageable volumes to RBD driver.
    
    Co-Authored-By: qtlu<qtlu@fiberhome.com>
    Partial-Implements: blueprint list-manage-existing
    Change-Id: I0621358b13fc3f5a4acfb8d66232fb953d94b274
    
  - Merge "Discrepancy in api-ref and code for create group type API"
  - Fix reserve volume enforcing the wrong policy action
    
    This PS fixes `reserve_volume` enforcing the wrong
    policy action: retype policy. It has been corrected
    to reserve volume policy. This is consistent with
    the policy in code documentation as well for both
    policies: retype is only enforced by os-retype and
    reserve is only enforced by os-reserve [0][1]
    
    [0] 94460b64fb/cinder/policies/volume_actions.py (L91)
    [1] 94460b64fb/cinder/policies/volume_actions.py (L197)
    
    Change-Id: I14b8288cdb066f30b66068dcaaf66e1277aa122f
    
  - Fix api-ref for v3 volume types
    
    This patch is mainly to remove some redundant description and modify
    wrongly used HTTP method in api-ref for v3 volume types.
    
    Change-Id: I6f8911d9bc80f1c9d9889ebdf8e1bc2480df06d4
    
  - Add descriptions of base policies
    
    Describe what "context_is_admin", "admin_or_owner",
    and "admin_api" are.
    
    Taken from Nova @ https://review.openstack.org/472622
    
    Also removed an extra space.
    
    Change-Id: I3baba0147c6117c3b0b847ff58854ed3af54d88b
    
  - Do not explicitly list thin provisioning tools for RPM
    
    Ubuntu requires an additional package to be installed to enable thin
    provisioning, but Red Hat based platforms have this included with the
    base LVM2 package. An explicit item was added to bindep for the RPM
    package that includes these thin tools, but that is not needed and
    should be removed.
    
    Change-Id: I7e7575746911e8d19a3804fa08b357c9563713f1
    
  - Add driver-requirements entry for storpool
    
    Dependency added in b5832af:
    https://review.openstack.org/#/c/220155/
    
    Change-Id: I648c8a6d60e97e80960646ca35283ebbc4831168
    
  - DS8K: correct LSS behavior for CG snapshots
    
    consistency group snapshots are created on lsses reserved for cg.
    This limits the number of snapshots and possible groups. This
    patch is used to implement that CG snapshots should not create
    on lssed which reserverd for CG by lss_range_for_cg
    
    Change-Id: I25af120e3c19d90c8a124fb9621cae11ec5d4865
    Closes-Bug: 1740826
    
  - V2/V3 json schema validation: snapshot manage
    
    This patch adds jsonschema validation for below Snapshots API's
    * POST /v2/{project_id}/os-snapshot-manage
    * POST /v3/{project_id}/manageable_snapshots
    
    Change-Id: I663005ec3c8f0b20c5ea25f6deca0502ac0a86f7
    Partial-Implements: bp json-schema-validation
    
  - V2/V3 jsonschema validation: snapshots
    
    This patch adds jsonschema validation for below Snapshots API's
    * POST /v3/{project_id}/snapshots
    * PUT  /v3/{project_id}/snapshots/{snapshot_id}
    * POST /v2/{project_id}/snapshots
    * PUT  /v2/{project_id}/snapshots/{snapshot_id}
    
    Note: For create API 'volume_id' parameter is required, if user
    passes 'volume_id' as null, the existing behavior is it returns
    "itemNotFound"(404) error response. If we restrict user to accept
    volume_id in uuid format only in schema validation then in that case,
    if user passes 'volume_id' as null it will raise BadRequest(400)
    which will not match existing behavior and also tempest test case[1]
    will fail in this case. Also on master if user passes 'metadata' as
    null then it is accepted. To maintain consistency we are allowing
    'volume_id' and 'metadata' to be null in schema.
    
    Made changes to unit tests to pass body as keyword argument as wsgi
    calls action method [2] and passes body as keyword argument.
    
    [1] https://github.com/openstack/tempest/blob/master/tempest/api/volume/test_volumes_snapshots_negative.py#L42
    [2] https://github.com/openstack/cinder/blob/master/cinder/api/openstack/wsgi.py#L997
    Partial-Implements: bp json-schema-validation
    
    Change-Id: I9869ea08afe3c8f8f1f63bb2ead7f63388580937
    
  - VMAX driver - Fix AttributeError of dell emc driver
    
    initiator_check is defined as a type of bool,
    but is used as a str type.
    
    Change-Id: Ib01deaa222c2ee2d16256bf2e8540af782f5dbf8
    Closes-Bug: #1736661
    
  - VMAX driver - Errors extending replicated volumes
    
    When attempting to extend multiple volumes concurrently, the operation
    can fail due to insufficient locking on the RDF group. Additionally,
    attempting to delete a volume after an earlier failure can fail as the
    code does not check if the volume is already suspended. We also cannot
    support extending SRDF/Metro volumes. This patch rectifies these issues.
    
    Change-Id: Ib30f2a8f0a710f01ecb55ed753ecc41dbcdaad18
    Closes-Bug: 1735456
    
  - VMAX driver - Fix error handling and checks for generic volume groups
    
    There are several issues with the implementation of generic volume
    groups in the VMAX driver. There is no rollback implemented in case
    of errors for create group from source or for deleting groups. There
    can be issues if source groups have been modified since a snapshot
    was taken. The provider_location is also not being updated in the
    individual volume snapshot objects of a group snapshot. This patch
    rectifies these issues, and also does some general refactoring of
    the generic volume group code.
    
    Change-Id: I3e6ac90b145015ccd820af3449b20e377c9f4651
    Closes-bug: 1732488
    
  - VMAX driver - revert a volume to last snapshot
    
    VMAX Support for reverting a volume to last snapshot.
    
    Change-Id: I1a4b5c000d1b2fc50ed89f9ad874e9e6c62f0290
    Implements: blueprint vmax-revert-volume-to-snapshot
    
  - VMAX driver - Incorrect stats reporting
    
    There is an issue in the way free_capacity_gb is being calculated for
    the VMAX driver - it is using 'total_allocated_capacity' instead of
    calculating using 'total_used_cap', or taking 'fba_free_capacity'. There
    is also excess queries being made (and logs being produced), as the
    capacities are being requested for each pool. This is unnecessary since
    WLP support was removed - the capacities are reported at an SRP level
    and so will be the same for each service level/ workload combination.
    This patch rectifies these issues.
    
    Change-Id: Icdafd47865e3cf1e5b687f39f15b8ebfccbf67a3
    Closes-Bug: 1731930
    
  - VMAX driver - support for manage/unmanage snapshot
    
    VMAX support for managing and unmanaging snapshots.
    
    Change-Id: I0717825dd47fb47c0a58040a13a9da09f6779955
    Implements: blueprint vmax-manage-unmanage-snapshot
    
  - VMAX driver - retypes failing when workload is missing
    
    When workload is missing from the pool_name in volume type
    extra specs, retype will fail.
    
    Change-Id: Icdba015411349c56e2f88cf5cf45d12bd2f6c0d4
    Closes-Bug: #1729657
    
  - VMAX driver - Implement SRDF Metro feature
    
    SRDF/Metro allows a remotely replicated (SRDF) secondary device
    to be read/write accessible to the host, taking on the external
    identity of the primary device (geometry, device WWN, and so on).
    Both the primary and secondary devices may then appear as a single
    virtual device across the two SRDF paired arrays. With both devices
    being accessible, the host can read and write to both primary and
    secondary devices, with SRDF/Metro ensuring each copy remains current
    and consistent, addressing any write conflicts which may occur.
    This patch adds this functionality to the VMAX cinder driver.
    
    Change-Id: Ib31763ea5759f7f9c0d2e2db68ba3820188245db
    Partially-Implements: blueprint vmax-replication-enhancements
    
  - VMAX driver - Cannot extend volumes in a replication relationship
    
    Currently, VMAX cannot support extending a volume that has existing
    snapshots, or extending a volume in a remote replication relationship
    (we must first break the relationship, extend both sides, and
    re-establish the relationship). In the next VMAX release, online
    device expansion with replication will be supported. VMAX driver
    should reflect this new support.
    
    Change-Id: I9cd61f729d0ca0a6e9ea6a677d75c87694fa0e81
    Closes-bug: 1717295
    
  - VMAX driver - Enable CHAP authentication for vmax backend
    
    This integrates Initiator (one way) CHAP authentication functionality into the
    VMAX backend. Prior discovery should have been established. When an initiator
    tries to manually connect to the array that is CHAP enabled,
    use_chap_auth=True, chap_username and chap_password must be set in the
    backend configuration
    
    Change-Id: I037ae494eeb234fe2285b3635d24ee8c5226b9bc
    Implements: blueprint vmax-iscsi-chap-authentication
    
  - VMAX driver - Add async replication support
    
    Currently, only Synchronous mode is supported for volume replication
    on VMAX. This patch adds Asynchronous remote replication support.
    
    Change-Id: If5df30b6ac8544f4c98b4dec89ad3b032b80d379
    Partially-Implements: blueprint vmax-replication-enhancements
    
  - Merge "Use constants for cinder-volume"
  - Merge "Change ssh_utils parameter to correctly sends keepalive packets"
  - Merge "Add admin ctxt to request qos_specs in SolidFire"
  - Merge "Validate volume status again when snapshot created"
  - Merge "Add instructions for the Error response codes"
  - Validate volume status again when snapshot created
    
    In a multitask environment, the volume can be deleted
    after the snapshot record is created. Add the validation
    right after the creation to avoid undeletable snapshot.
    
    Closes-Bug: #1739995
    
    Change-Id: Icbe86473243871996483fdc96c079b8861bac2e5
    
  - Merge "Remove some no-use code about failover"
  - Use constants for cinder-volume
    
    Since we have defined constants.VOLUME_BINARY, this patch
    change some cinder volume binary strings to use constans.VOLUME_BINARY.
    
    Change-Id: I91b1ed2331a3b197a2ba39fa5cfb02e9d161d709
    
  - Merge "Fix incorrect description in api ref"
  - Merge "V3 jsonschema validation: Volume-types"
  - Merge "Update 'force' parameter for volume delete API"
  - Merge "NEC driver: add automatic configuration of SAN access control."
  - Merge "3PAR: Update CHAP on host record when volume is migrated to new compute host"
  - Merge "Reintroduce the StorPool driver"
  - Reintroduce the StorPool driver
    
    Change-Id: I5188e66d9a9204fc9fa15785d0ef3cf10e57ffb5
    Implements: blueprint storpool-block-driver-reintroduce
    DocImpact
    
  - Merge "InStorage: fix problem when doing instance live migration"
  - Merge "Add 'shared_targets' only when it doesn't exist"
  - Merge "Updated from global requirements"
  - Report backend state in service list
    
    Currently, Cinder couldn't report backend state to service,
    operators only know that cinder-volume process is up,
    but isn't aware of if the backend storage device is ok.
    Users still can create volume and go to fail over and over again.
    
    This bp propose to get the backend state from driver directly,
    operators or management system could query this via service list.
    
    This function will improve the maintenance ability for Cinder.
    
    Change-Id: I561dca3ef7c1901401621bc112389dbd178a907e
    Implements: blueprint report-backend-state-in-service-list
    
  - Remove some no-use code about failover
    
    At line 3994, cinder/volume/manage.py, the replicable volume has
    been filtered by its type. It is no need to check again in
    function: _failover_volume(), rbd.py.
    
    Change-Id: I9b7fff5813d442fef01717ce842021c92ab30d8a
    
  - Add instructions for the Error response codes
    
    Improve the http return code information, for easy
    reading and calling
    
    Change-Id: I0fa54e084070a6407d732e69ca30f6079b923f33
    
  - Fix incorrect description in api ref
    
    most places use description of backup, such as groups,
    consistency groups, snapshots .etc, this is incorrect
    this patch is to correct them.
    
    Change-Id: I079f0351c93b5f19e87a42b4b0b84ff086b83820
    
  - Merge "VMAX doc - Queens feature documentation"
  - V3 jsonschema validation: Volume-types
    
    This patch adds jsonschema validation for below Volume-types API's
    * POST /v3/{project_id}/types
    * PUT /v3/{project_id}/types/{volume_type_id}
    
    Made changes to unit tests to pass body as keyword argument as wsgi
    calls action method [1] and passes body as keyword argument.
    
    [1] https://github.com/openstack/cinder/blob/master/cinder/api/openstack/wsgi.py#L997
    
    Change-Id: Ibacf0acd16d3a3210289244fe2b99ebf5c5dd4ec
    Partial-Implements: bp json-schema-validation
    
  - Merge "Remove deprecated 'pybasedir' config option"
  - Merge "Remove deprecated 'netapp_eseries_host_type' config option"
  - Merge "Adding all docs into index.rst of administration docs"
  - Merge "Missing generalized_filters in cinder administration doc"
  - Update 'force' parameter for volume delete API
    
    Parameter 'force' is used in the path rather than
    body, update the document.
    
    Change-Id: I2c79d7d64b5f3c48a147410d93ae687ac0eb3cdc
    
  - Merge "Speed up DataCore unit tests"
  - Merge "Deprecate CG APIs"
  - Merge "API ref: add host format to description"
  - Merge "NetApp: Fix to support SVM scoped permissions."
  - Merge "Remove unused sf_enable_volume_mapping conf option"
  - Merge "Storwize: fix group creation restrict rules"
  - Merge "Create group from snapshot-group failure leaves behind the volume"
  - NEC driver: implement manage/unmanage functions.
    
    Implement manage/unmanage volume and manage/unmanage snapshot
    functions for the NEC volume driver.
    
    Change-Id: Ied1591768979f3d20c58c96160a0edf067e60522
    Implements: blueprint nec-manage-unmanage
    
  - Adding all docs into index.rst of administration docs
    
    There is only four docs ref in index.rst of administration
    docs. It's not convenient for users to look for other
    administration docs.
    
    This patch will add all other docs into it.
    
    Change-Id: Ie93c608b40968f07cbb17ec40cd22e52120fd396
    Closes-Bug: #1739988
    
  - Missing generalized_filters in cinder administration doc
    
    Now cinder miss "generalized_filters" in administration doc,
    though we defined it in index.rst.
    
    Closes-Bug: #1739987
    Change-Id: Id47c42e91885413572dfcc893cf3ecc02681c673
    
  - Merge "VMAX doc - Queens feature documentation"
  - Merge "VMAX Doc - clarification and typo fixes"
  - Merge "VMAX doc - add manage and unmanage section"
  - Updated from global requirements
    
    Change-Id: I6a3a011450e8898552b634dcfe60136a7855f76b
    
  - Merge "StorageCenter: Fix volume mapping for API v3.1"
  - Merge "Fix TypeError for workers cleanup api incase of invalid resource_type value"
  - Merge "Handle deprecation of inspect.getargspec"
  - Merge "V3 jsonschema validation: Group Snapshots"
  - Merge "Enable fail back in SolidFire driver"
  - Merge "Add online data migration routine for attachment_specs"
  - Merge "HPE 3PAR - Implement Tiramisu feature on 3PAR"
  - Merge "Bump up the API microversion in cinder.rc"
  - Merge "Follow the new PTI for document build"
  - Merge "Storwize: disable creating volume with non cg_snapshot group_id"
  - Deprecate CG APIs
    
    This patch prints a deprecation message when CG APIs are used and
    prompts users to swich to Generic Volume Group APIs instead. CG APIs
    are also marked as deprecated in API reference docs. CG APIs will be
    removed in a future release when it is appropriate and will be
    decided by the Cinder team. This was communicated in Pike.
    
    Change-Id: Ib6751fae6b5fb78de98a2ea62f507f9102f71b76
    
  - Bump up the API microversion in cinder.rc
    
    This patch bumps up the Cinder API microversion to 3.44 in
    cinder.rc. This is required for the new attachment API to
    support local-attach.
    
    Change-Id: Idb0e5c7c6c6d7f8626b6867eada0d537589011da
    
  - Merge "Remove deprecated HP 3PAR config options"
  - Merge "Add service_token for cinder-glance interaction"
  - Add microversion and volume status limit to revert api ref doc
    
    Change-Id: I55ca72cd26e4ae1ec9428c5785af49c5b6471b4b
    
  - HPE 3PAR - Implement Tiramisu feature on 3PAR
    
    In Tiramisu, a group construct is used to manage the group
    of volumes to be replicated together for the ease of management.
    This patch adds this support to the HPE 3PAR driver.
    
    Change-Id: I6c214ec868d907ae8edb7546c5f939b0522b20ba
    Implements: blueprint hpe3par-replication-group
    
  - Enable fail back in SolidFire driver
    
    This change fixes up a few things in the SolidFire driver to enable the
    ability to "fail back" to the original cluster in a replication scenario.
    
    We're still assuming a cluster-wide fail over, but now an admin has the
    ability to specify subsequent `cinder failover-host` calls to switch
    back and forth between their SF clusters.
    
    This change promotes the target on a fail over and also now attempts to
    set up replication back to the original src  as well (assuming the
    original is available and not a puddle of melted goo).  This means that
    writes to the new back end will be replicated back to the src, so if a
    user so chooses they can fail back to the original and have their new
    data.
    
    Change-Id: I678986e557755c2fe4183927c17342e430f5df0d
    
  - StorageCenter: Fix volume mapping for API v3.1
    
    Volume attachment fails on StorageCenter API v3.1 because the backend
    instead of returning wwn or WWN as the key in the controller port it
    returns wWN, thus preventing the driver from finding the mapping.
    
    This patch adds support to any combination of upper and lower case of
    the WWN key.
    
    Closes-Bug: #1739651
    Change-Id: Ie6ec59b4f6d31cb72e37f25f5347c815fee5af48
    
  - Update tgt iSCSI target on volume extend
    
    When extending an in-use volume, the volume will be extended but
    the target exposing the volume will still report the original size.
    
    The target needs to be updated to pick up the change, but since it
    is in-use the update must be forced. This can cause IO disruption
    if there is active IO to the target, however retries will cause the
    next attempt to succeed and there will just be a few second IO
    pause on the host while the target session is reestablished. Not
    ideal, but it does recover with minimal impact on the host.
    
    And operators probably shouldn't extend volumes without pausing
    active IO to the volume anyway.
    
    See bug report comments for more testing details. Marking this as
    partial as it only addresses the tgt target and further
    investigation is needed to see if the other target drivers need
    similar updates.
    
    Change-Id: I0f7b58751c6d8d05cad5b1b95c4e21c8b5d36692
    Partial-bug: #1731984
    
  - Merge "Add service_token for cinder-nova interaction"
  - Merge "Remove deprecated 'nas_ip' config option"
  - Follow the new PTI for document build
    
    For compliance with the Project Testing Interface as described in:
    
    https://governance.openstack.org/tc/reference/project-testing-interface.html
    
    For more detials information, please refer to:
    
    http://lists.openstack.org/pipermail/openstack-dev/2017-December/125710.html
    
    Change-Id: I84e614346cfa4d302f919d12bea9680c5e527475
    
  - NEC driver: add automatic configuration of SAN access control.
    
    NEC driver user has to register WWPNs or an initiator name of every
    node to storage. This is inconvenient for the user.
    This patch enables NEC driver to configure SAN access control
    automatically.
    
    Change-Id: I92b42600b71fbdfe1b84046c59ab485f333be889
    Closes-Bug: #1737452
    
  - Remove unused sf_enable_volume_mapping conf option
    
    The SolidFire driver has a stale config option that's no longer used
    anywhere (sf_enable_volume_mapping).
    
    This patch removes that unused variable.
    
    Change-Id: I11839fbeec4d9b7adf4255ea237848984350386e
    Closes-Bug: #1731393
    
  - Add admin ctxt to request qos_specs in SolidFire
    
    We used to be able to call qos_specs_get without admin context,
    however something has changed and this now fails at the object
    layer in base:get_by_id.  This means that now if one uses QoS-Specs
    with SolidFire and attempts to retype to another QoS Spec type,
    the call will fail with no response data due to a policy/permissions
    error.
    
    It turns out that the qos_specs.py api call will let you either
    pass in a context or pass in None and it implicitly gets an admin
    context.  I prefer explicit behaviors, so add an explicit get admin
    context in the SF driver for this call.
    
    Change-Id: Idf10bfb8f5e738d7698233b7bdeaf45bef8914e2
    Closes-Bug: #1738800
    
  - Remove In-repo cinder tempest plugin
    
    As part of Queens Goal "Split Tempest Plugins into Separate
    Repos/Projects",the cinder tempest plugin needs to be split
    into a separate project.
    https://governance.openstack.org/tc/goals/queens/split-tempest-plugins.html
    
    This patch removes the in-tree tempest plugin as well as the
    setuptools entry point.
    
    Change-Id: I5ff95ca13f02ed6e0afb35f0d6bb5c36d4111f5a
    Depends-On: Ib309cb1f87211e82eae0d27fa2464ec13a9deca6
    Implements: blueprint goal-split-tempest-plugin
    
  - Merge "Fix volume image metadata endpoints returning None"
  - Merge "NFS: Fix nas_secure auto mode permissions failure"
  - Merge "Rename iSCSI target config options to more general"
  - Merge "SMBFS: remove deprecated config options"
  - Merge "Fix migration Invalid volume message"
  - V3 jsonschema validation: Group Snapshots
    
    This patch adds jsonschema validation for below group snapshots API's
    
    * POST /v3/{project_id}/group_snapshots
    * POST /v3/{project_id}/group_snapshots/{group_snapshot_id}/action
    
    Made changes to unit tests to pass body as keyword argument as wsgi
    calls action method [1] and passes body as keyword argument.
    
    [1] https://github.com/openstack/cinder/blob/master/cinder/api/openstack/wsgi.py#L997
    
    Change-Id: Ie3b8ffb209b30edf2a26a935aab840441b43adfa
    Partial-Implements: bp json-schema-validation
    
  - VNX: Fix cloning failure when system is busy
    
    In newton, the 30s wait was removed due to refactor, in this case,
    If the session hasn't started in the VNX, the driver would perform
    unexpected rollback for the migration.
    
    Adding a wait will make sure the session is started on the VNX thus
    cloning can succeed.
    
    Change-Id: I3419e628d42eddfe19c55cd72e7b9469e9fccc94
    Closes-bug: #1732462
    
  - InStorage: fix problem when doing instance live migration
    
    When doing instance live migration, the volume will be mapped to two hosts
    at the same time, so that the driver should always allow multihost map
    during initialize connection.
    
    Change-Id: I5a8892a49e56f6698d5a4d60b6422c49a0318ef1
    Closes-bug: #1738965
    
  - Merge "Trivialfix -- Fix spacing in docstring"
  - Merge "Raise PolicyNotAuthorized exception on consistency Group snapshot"
  - NFS: Fix nas_secure auto mode permissions failure
    
    When nas_secure_file_operations/permissions is set
    to auto, a failure to write the secure indicator file
    will result in the driver running with the secure
    option set to "true".  This causes the driver to fail,
    because it then can't write any other files in
    unprivileged mode, either.
    
    In "auto" mode, this should result in the driver
    running with secure mode disabled.
    
    Closes-Bug: #1685012
    
    Change-Id: Ib51c051ab458167c8244587e14edad2ca493a926
    
  - Merge "SMBFS: fix detecting if a volume is in-use"
  - Add online data migration routine for attachment_specs
    
    This adds the hook to the cinder-manage db online_data_migration
    CLI for migrating attachment_specs entries to the volume_attachment
    table.
    
    Along the way, two changes have to be made in the VolumeAttachment
    object:
    
    1. Handle 'connector' in updates in VolumeAttachment.create(); this
       makes the test work to create a volume attachment with the connector
       already set, something we should support so you don't have to create()
       and then save() the object.
    2. In _from_db_object, we have to set the context on the attachment
       object and reset the volume field changes *before* saving the
       connector changes, otherwise save() fails because (a) it has an
       empty context and (2) you can't change a volume through the attachment.
    
    Change-Id: Ic0698e4fc0f6519c2676fe91e1a6c0fb47bbeb95
    Related-Bug: #1737724
    
  - NetApp: Fix to support SVM scoped permissions.
    
    Improves NetApp cDOT block and file drivers suport for SVM scoped user
    accounts. Features not supported for SVM scoped users include QoS,
    aggregate usage reporting, and dedupe usage reporting.
    
    Change-Id: I2b42622dbbb0f9f9f3eb9081cf67fb27e6c1a218
    Closes-Bug: #1694579
    
  - Dell EMC SC: API 4.0 incompatibilities
    
    4.0 folder paths begin with a /. Also add a check that the user formatted
    the folder path correctly.
    
    Change-Id: I9bdc17c3f0daab97c33908bf3b96fbce963aa9f2
    Closes-Bug: #1719428
    
  - Trivialfix -- Fix spacing in docstring
    
    Found a poorly formatted docstring while going
    through code.  Fixing it here.
    
    Change-Id: I6a2fbb7bd4b37b081296c71f714a23d4901a9d2a
    
  - Merge "Fix some typos in cinder doc"
  - VMAX doc - Queens feature documentation
    
    Part 2 - New features documented are iSCSI CHAP Authentication
    and deprecation of configuration XML file.
    
    Change-Id: I581ffcd8e14ab10e054be05429ee0f6717e27015
    Partial-Bug: #1737735
    
  - Create group from snapshot-group failure leaves behind the volume
    
    While creating a group from snapshot group or source group, if the
    quota exceeds during volume creation, the volume which are scheduled
    for creation are left behind in the DB.Only Group gets destroyed from
    the DB. To solve this, If error happens, taskflow will handle
    rollback of quota and removal of volume entry in the db.
    
    Change-Id: I5d60680fa92e50e51c9b3a6bcc940b18bef5b150
    Closes-Bug: #1727314
    
  - Merge "Updated from global requirements"
  - SMBFS: fix detecting if a volume is in-use
    
    The SMBFS driver along with the remotefs module rely on the volume
    status field when checking if it's attached.
    
    While in most cases this is fine, it will cause issues when backing
    up volumes. In this situation, the volume status will be 'backing-up',
    in which case the driver will wrongfully consider that the volume is
    detached (by not having the 'in-use' state).
    
    In particular, this affects the volume snapshot workflow.
    
    This change fixes this check, adding a helper method which detects
    the volume attach status by looking at the volume 'attach_status'
    field.
    
    Change-Id: I154d85cde693c6e77e22a677cae7150be48fce07
    Partial-Implements: windows-smb-backup
    
  - Raise PolicyNotAuthorized exception on consistency Group snapshot
    
    In role based access control test case, a consistencyGroup snapshot
    delete when attempted by Non-admin role/user does not return
    an informative policy not authorized message.
    
    The proposed fix catches the PolicyNotAuthorized exception
    explicitly to raise the appropriate message and error code
    to the caller method, includes a new unit test case.
    
    Closes-bug:#1722736
    
    Change-Id: I263c3f5201ac76773a9c962ec958f02f601c6adc
    
  - Fix some typos in cinder doc
    
    There are some typos in cinder doc,
      contirbute(contribute)
      ReplicationsSatus(ReplicationStatus)
      soure(source)
      specificed(specified)
      priviledged(privileged)
      overriden(overridden)
    
    This is to fix them.
    
    Change-Id: I2fb8317361ca574c49eb39e0b7735c7592126dc6
    
  - Merge "qemu-img info --force-share for NFS driver"
  - Updated from global requirements
    
    Change-Id: Ibff5a5aaa288138c4c63875d67ddebd24a40fd3f
    
  - Merge "Use defusedxml for XML parsing"
  - Merge "Fix create encrypted volume from image"
  - Merge "[api-ref] Fix http method for updating encryption type"
  - Fix volume image metadata endpoints returning None
    
    This commit fixes the following volume image metadata
    endpoints returning None following policy enforcement
    failure:
    
      * ``os-set_image_metadata``
      * ``os-unset_image_metadata``
    
    The endpoints will now correctly raise a 403 Forbidden
    instead.
    
    The kwarg `fatal=False` was dropped from
    `context.authorize` for these APIs because the kwarg
    is only useful when adding additional information to
    the response body (if the user is authorized).
    
    This commit:
    
      * makes the fix for the two endpoints above
      * adds unit tests for validating the new, correct
        behavior (as a side note, policy overriding
        in tests can be more easily accomplished via
        adoption of something like [0])
    
    Also note that since the default policy rule
    for these endpoints is "admin_or_owner" Tempest
    doesn't validate this behavior by default.
    
    [0] e599b13e49/nova/tests/unit/policy_fixture.py (L30)
    
    Change-Id: Icc286d529609165e5f14cb506342660d7bc2ae9f
    Closes-Bug: #1737609
    
  - Merge "Remove skip_validation_flag to False by default"
  - NetApp E-Series: Fix broken generic volume groups
    
    The Generic Volume Groups functionality is currently broken in the
    E-Series driver because it is not defining/removing a back-end
    consistency group when creating/deleting a generic group.
    
    This patch adds an implementation method in the respective E-Series
    drivers to utilize the underlying CG functionality.
    
    Closes-Bug: #1706777
    Change-Id: I55dc417060d9226c2f120a16b031a79839d483d3
    
  - Fix migration Invalid volume message
    
    This currently prints the volume id as a
    dict rather than the volume id.
    
    Make it print the message with just the id.
    
    Change-Id: Ice541e231eca54318a71c7994a0bf30d1c40f5d0
    
  - [api-ref] Fix http method for updating encryption type
    
    This patch aims to fix http method in api-ref for updating encryption
    type, changing from 'POST' to 'PUT'.
    
    Change-Id: Ief48c73eb09afe2b5ff8c391f06013ab7eebd670
    
  - Fix create encrypted volume from image
    
    If we run two create encrypted volume from image serially (waiting for
    one operation to complete before the making the next request) the first
    operation succeeds while the second one will fail during the attach
    phase.
    
    The failure we see in the logs indicate that OS-Brick is unable to get
    the WWN from the connected volume.
    
    In reality the failure to attach the volume on the second operation is
    caused by a failed cleanup of the first create, even if there's no error
    in the logs.
    
    The reason why OS-Brick didn't correctly do the cleanup of the first
    volume is because didn't know that it was attaching an encrypted volume
    and returned a real path (ie: /dev/sdf) that then go overwritten by the
    unencrypted device mapper.
    
    The solution is letting OS-Brick know that it's an encrypted volume
    during the attachment phase so it will return a symlink to the real
    device instead of the real device itself.
    
    The manager's "initialize_connection" does this correctly, but the
    method creating the volume from an image doesn't use the method of that
    class and calls the driver's "initialize_connection" method instead,
    which is missing the "encrypted" field.
    
    Closes-Bug: #1703954
    Change-Id: I35db18f36f86683f2ab16694c9787c908251a382
    
  - Storwize: disable creating volume with non cg_snapshot group_id
    
    Currently, creating a volume with replication group_id, the volume
    creates successfully, but it isn't added to storwize replication group.
    Creating a volume with hyperswap group_id has the same problem.
    Since adding a volume to a replication group immediately follow the
    volume creation may be failed on storwize, this patch disables creating
    volume with non cg_snapshot group_id.
    
    Change-Id: Ibf71696740129c254f0c065679fe6422bfa2c633
    Closes-Bug:  1729782
    
  - Rename iSCSI target config options to more general
    
    Since NVMET target driver will be implemented it would be good to use
    the same config options both for NVMEoF and iSCSI targets. That's why
    this path renames iscsi_ip_address, iscsi_port, iscsi_helper
    iscsi_target_prefix, iscsi_protocol to target_ip_address, target_port,
    target_helper, target_prefix, and target_protocol according to current
    deprecation policy.
    
    Change-Id: I5231f8fe3399deb9c57e6efb121d0d008dc9c7f4
    Related-Blueprint: nvme-target-cli
    
  - 3PAR: Update CHAP on host record when volume is migrated to new compute host
    
    When the nova instances are migrated from one compute host to another,
    during the new VLUN creation step, the host record created on 3PAR has
    the old chap credentials, but the volume metadata contains the newly
    generated CHAP credentials. This fix will ensure the CHAP authentication
    credentials on volume metadata and the host record on 3PAR are in sync
    when the nova instances are live migrated.
    
    Closes-Bug: #1737181
    
    Change-Id: I2d4b7530b2d249ca193f7d0e87d529c9eb2dc25d
    
  - Use method validate_integer from oslo.utils
    
    We added method validate_integer in oslo.utils 3.33.0 [1].
    so we can simply the method validate_integer in Cinder.
    
    Depends-On: I741875eba329b762789a7c7c910a6c46beeff3fa
    
    [1] https://review.openstack.org/#/c/508401/
    
    Change-Id: I950316ac0924acd692b2410993f3c240ce319d6f
    
  - Add 'shared_targets' only when it doesn't exist
    
    Add existence check before actually create it.
    
    Change-Id: I96946f736d7263f80f7ad24f8cbbc9a09eb3cc63
    
  - Merge "Fix json formatting eror"
  - Merge "Fix indentation in docs"
  - Merge "Add thin provisioning package to install guide"
  - Merge "Check for migrated UUID in SolidFire delete"
  - Use defusedxml for XML parsing
    
    The built-in xml module has some vulnerabilities to several known
    XML attacks. While the chances of this are limited with the way
    it is being used by some of the volume drivers, it is still a
    security risk that has been identified and has a mostly painless
    way to be mitigated with the defusedxml package [1].
    
    There are still some drivers performing XML parsing that are not
    covered by this patch. They need closer analysis to see how to
    best switch to the defusedxml equivalents.
    
    This patch covers the instances where it was a mostly drop in and
    replace from the native xml functionality to the defusedxml
    alternatives.
    
    [1] https://github.com/tiran/defusedxml/blob/master/README.md
    
    Change-Id: I083fc23eab6f712264919a250c6fb57cc0f6a11b
    Partial-bug: #1732155
    
  - Remove deprecated 'pybasedir' config option
    
    'pybasedir' was deprecated four years ago and now it's safe to be removed.
    
    Change-Id: Ie4e7d339103ec946ec2a011ad795db4511a7f388
    
  - Remove deprecated 'netapp_eseries_host_type' config option
    
    'netapp_eseries_host_type' was deprecated three years ago and now it's safe
    to be removed.
    
    Change-Id: I6dc86ebb326b6d88c20f6f2eb56bf57150536c54
    
  - Remove deprecated HP 3PAR config options
    
    HP 3PAR was deprecated during Liberty and now it's safe to be removed.
    New HPE 3PAR options should be used instead.
    
    Change-Id: Iaec8c382f3ae578b3f1da1c570f0b83be59ee984
    
  - Remove deprecated 'nas_ip' config option
    
    'nas_ip' was deprecated during Liberty and now it's safe to be removed.
    
    Change-Id: I6fc27f8df7b5bb4d045cfdad7a6d6a96775d43b7
    
  - Fix indentation in docs
    
    This commit removes weird indentations in docs.
    
    Change-Id: I82dd98d9fd9a7bf4ff73a808f59651813ac5ec37
    
  - Merge "Fixes creation of mirrored volumes due to wrong type"
  - Merge "Correct documented service upgrade order"
  - Merge "Switch to oslo_db retry decorator"
  - Fixes creation of mirrored volumes due to wrong type
    
    new verions of lvcreate change the default mirror format to RAID1
    vs the old style (mirror). Cinder expects the old style mirror as
    --mirrorlog mirrored is specified and this is only supported on the
    mirror type, not raid1.
    
    To fix this add --type=mirror to the lvcreate syntax when
    lvm_mirrors is > 0 and -m is specified.
    
    Closes-bug: #1730375
    
    Change-Id: I72e2bd3e780b1dfbc4a3716bfd370ea8d0e28e96
    
  - Check for migrated UUID in SolidFire delete
    
    Migration of volumes kinda screws up the use of ID as the
    reference to use for deleting volumes.
    
    If a volume is migrated, the UUID (ID) gets swapped and no
    longer matches the UUID the volume had when it was initially
    created on the back end device.  The result is that deletion
    of that volume fails on the back end because the handle to the
    new UUID doesn't exist.
    
    On the other hand, you also have to be careful in dealing with
    and cleaning up volumes migrated off of your back end device for
    the same types of reasons.
    
    This change just adds an additional check in the SF driver so that
    we are querying the back end device for the ID and the name_id.
    
    This way we make sure if the volume is on our device we clean it up.
    
    Change-Id: I60f8e8864f236fb92dd03560576377f1a0bdd82b
    Closes-Bug: #1733967
    
  - Merge "NetApp ONTAP: Copy offload bugfix"
  - Add thin provisioning package to install guide
    
    Our installation guide walks through configuring storage nodes
    using the LVM driver. LVM now defaults to thinly provisioned,
    which requires thing-provisioning-tools to be installed on the
    host. So by default, our instructions will result in failure
    when we attempt to perform thin provision operations.
    
    This adds mention of installing the required package for each
    platform's instructions to get the necessary tools installed.
    
    It also adds device-mapper-persistent-data to bindep for Red
    Hat based platforms to get those thin provisioning tools that
    were previously missing for these platforms.
    
    Tools appear to be installed by default on Suse platforms.
    
    Change-Id: I2a84ae99d71c3551814197917d114057430858b7
    Closes-bug: #1738409
    
  - Merge "Don't call driver.terminate_connection if there is no connector"
  - Merge "Store host connector in volume_attachment.connector column"
  - Merge "NEC driver: delete an unused configuration parameter."
  - Correct documented service upgrade order
    
    We had inconsistent service upgrade order information in our upgrade
    documentation. This corrects the order to be consistent with our
    recommended order of operations.
    
    Change-Id: Ifa8ea98e494d3058ef1a29fee4ab9fa76149ce08
    Closes-bug: #1738223
    
  - VMAX doc - Queens feature documentation
    
    Part 1 - New features documented are Asynchronous SRDF,
    SRDF Metro and Manage/Unmanage Snapshots.
    
    Change-Id: Ib37ed5e65ccdd44d2726b36bc668aad2dcd98339
    Partial-Bug: #1737735
    
  - Add service_token for cinder-glance interaction
    
    Service token will be passed along with user token to communicate
    with services when dealing with long running tasks like Create
    image by volume and Create volume by image.
    
    Change-Id: I4504a68c83e1e2110c27e62376968cfa1950cf46
    Implements: blueprint use-service-tokens
    
  - Add service_token for cinder-nova interaction
    
    Service token will be passed along with user token to communicate
    with services when dealing with long running tasks like
    Create volume snapshot.
    
    Partial-Implements: blueprint use-service-tokens
    
    Change-Id: Id95beae0a46ab492756e0108039fefb28f4f0b69
    
  - Switch to oslo_db retry decorator
    
    Our sqlalchemy code uses a custom retry decorator that does not
    limit the number of retries. Since this code was written, oslo_db
    now has a retry decorator better used for this purpose that limits
    the number of retry attempts.
    
    Change-Id: If39a81bbea26c14604b151a51d8e2bbe1bb2f110
    Closes-bug: #1738292
    
  - Don't call driver.terminate_connection if there is no connector
    
    It's possible to attach a volume to a shelved offloaded instance,
    which is not on a compute host - which means no host connector,
    and then detach that volume while the instance is unshelved. There
    is a test in Tempest just for this scenario.
    
    When nova calls attachment_delete on detach, the cinder volume
    manager is calling the driver.terminate_connection method regardless
    of there being a host connector, and some drivers blow up on that.
    
    This used to "work" with the pre-3.27 attach flow in nova because
    in the detach case where there was no connector, nova would simply
    not call os-terminate_connection, but with the new 3.27+ flow for
    attach, nova only calls attachment_delete regardless of there
    being a connector.
    
    This change simply checks to see if the attachment has a connector
    and if not, it avoids the call to the driver to terminate a connection
    which does not exist.
    
    Change-Id: I496e45608798a6a5d9606f9594feeb8b60855d1a
    Closes-Bug: #1738254
    
  - Store host connector in volume_attachment.connector column
    
    The attachment_specs table's key and value columns are strict
    strings, which means things like a wwpns list value for a fibrechannel
    connector can't get stored there and results in a DB error during
    attach with the new volume attach flow in Nova.
    
    The attachment_specs table is arguably not the best way to store
    this data, which is just a dict like the connection_info.
    
    A better way to store this is as a serialized json blob on the
    volume_attachment record itself.
    
    This patch adds the database migration to add the column and
    an online data migration routine to migrate existing attachment_specs
    entries when a volume attachment object is loaded from the database.
    
    The volume manager attachment_update flow is changed to store
    new connector attachments in the volume_attachment table directly.
    
    An online data migration hook for the CLI will be added in a follow
    up change.
    
    Change-Id: Ica1f0e06adf0afcf740aad8cdc8d133ada1760c8
    Closes-Bug: #1737724
    
  - Merge "Migrate fixed_key encryption keys to Barbican"
  - Merge "V3 jsonschema validation: Group type specs"
  - qemu-img info --force-share for NFS driver
    
    NFS initialize_connection fails due to new locking
    code in qemu-img info.  Bug 1718133 tracked a related issue.
    
    Fix the NFS driver to work with the new version of
    qemu-img info by disabling locking for qemu-img info
    queries during initialize_connection and create_snapshot.
    
    Closes-Bug: #1731992
    Change-Id: Ia3623af2048d6cbda65deebf4404e6b5fefe1bfc
    
  - NetApp ONTAP: Copy offload bugfix
    
    When 'NetApp NFS Copy Offload' tool is configured to download Glance
    images, these images are downloaded twice because the tool is doing
    the job after Cinder has already done it.
    This patch fixes the bug by executing the copy offload tool inside the
    clone_image function instead of using the copy_image_to_volume.
    
    Closes-bug: #1632333
    
    Change-Id: I5c6ad150543213acfd0c78dbbdb1dc1584d22d26
    
  - Merge "V3 jsonschema validation: Volume metadata"
  - Merge "Cleanup XtremIO IG cleanup note"
  - Merge "Restore_backup: set error when volume status not matched"
  - Merge "Don't raise 'NotAuthorized' inside when soft authorization"
  - Merge "Fix discrepancy in api-ref for volume_types APIs"
  - Merge "QNAP: Add support for QES 2.0.0"
  - Merge "SMBFS: manageable volumes"
  - Merge "XtremIO: optional clean IG with no mappings"
  - Merge "Fix several instances of chap secret being output to logs."
  - Merge "added clarification in docs for usage of "volume_clear*" options"
  - Merge "TrivialFix: Delete word ‘I’ in admin/blockstorage-backup-disks.rst"
  - Merge "handle no default_cgsnapshot_type"
  - Cleanup XtremIO IG cleanup note
    
    Minor issues with the release note for change
    I4f6a9676d4ee7e1c4456879b5f1ed9ec20bb7f48 that
    were not worth holding up that patch.
    
    Change-Id: I893dd735fe44089667ac802c0122019c14f30d1c
    
  - SMBFS: remove deprecated config options
    
    Some driver specific config options have been marked as deprecated
    in Pike and are now being removed. The equivalent generic options
    are available.
    
    Note that the 'smbfs_sparsed_volumes' config option was only used
    by the Linux SMB driver, which was removed in Pike. By mistake,
    it was copied over to the Windows SMB driver, which was inheriting
    it.
    
    Change-Id: I23def8b2095dcf3945d2e0e1b4e5efe178cef9be
    
  - Merge "DS8K: lss_range_for_cg should take csv as well as range"
  - Storwize: fix group creation restrict rules
    
    The following conditions should be denied for group creation:
    1. Mixed group types are configured. For example,
    both consistent_group_snapshot_enabled and
    consistent_group_replication_enabled are set.
    2. group_replication_enabled is set.
    3. consistent_group_replication_enabled is set with non-replication
    volume type.
    4. consistent_group_replication_enabled is set with different
    replication volume types.
    
    Closes-Bug: #1736907
    Change-Id: Ib1ba622c83f3819f9b6c8ea18749b891a60bd12c
    
  - Merge "Keep v3 api-ref error response code 404 for reverting"
  - Merge "Add cg policies and clean up old policy handling"
  - Restore_backup: set error when volume status not matched
    
    When volume actual_status was not equal to expected_status, the
    restoring were not setting the volume to a 'error_restoring'
    status, if it so happened that the actual_status was 'available',
    client would be misled to think that restoring had finished. So
    this patch fixes that.
    
    Closes-Bug:#1732378
    
    Change-Id: I74c15a99e90a24020b2f427a70f5d04376bd31af
    Signed-off-by: Xiaojun Liao <xiaojunliao85@gmail.com>
    
  - Keep v3 api-ref error response code 404 for reverting
    
    Client can still receive the 404/NotFound when attempting
    the fetch of the volume.
    
    Change-Id: Ieafaae5ccb5a23b4d3ad37b8e7eee40484346cfc
    Signed-off-by: Xiaojun Liao <xiaojunliao85@gmail.com>
    
  - Merge "Add output of slowest tests to UT runs"
  - Merge "VMware: Bump driver version"
  - Merge "Removed gb quota decrement in grp snapshot delete"
  - Merge "Remove invalid parameters in the file testing.rst"
  - Merge "Pass in the parameters multipath when migrating volume"
  - Merge "Modify v3 api-ref error response codes for reverting"
  - Merge "Fix available space checking for image conversion"
  - Speed up DataCore unit tests
    
    Add necessary mocks for looping calls and remove timeouts in
    DataCore unit tests.
    
    This patch aslo changes 'start' method signature of ZeroIntervalLoopingCall
    class to correspond the base method's signature.
    
    Change-Id: I5c466eae9a5247729264b5d6822d83f53ef033ef
    
  - API ref: add host format to description
    
    Specify host and os-vol-host-attr:host parameters format.
    
    Change-Id: Ib0ab0319e04e23e93f31a49bca17ed30af2474d0
    
  - Fix discrepancy in api-ref for volume_types APIs
    
    In the api ref document, for create volume_types 'extra_specs'
    parameter is missing. And for parameter 'is_public', in code it
    is used as 'os-volume-type-access:is_public'. For update volume_types
    api as per api ref, 'name' and 'extra_specs' parameters are mandatory.
    But in code 'name' is optional and 'extra_specs' implementation is not
    done.
    
    This patch fixes this discrepancy by updating the api-ref according to
    the code.
    
    Change-Id: I7faa711fc72cd81676812017a92ef40273f1bf7c
    
  - Fix json formatting eror
    
    Change-Id: I33447b1d83911b5cc18d0f29bea4f9a7c855f567
    
  - V3 jsonschema validation: Group type specs
    
    This patch adds jsonschema validation for below Group type specs API's
    * POST /v3/{project_id}/group_types/{group_type_id}/group_specs
    * PUT  /v3/{project_id}/group_types/{group_type_id}/group_specs/{spec_id}
    
    Made changes to unit tests to pass body as keyword argument as wsgi
    calls action method [1] and passes body as keyword argument.
    
    [1] https://github.com/openstack/cinder/blob/master/cinder/api/openstack/wsgi.py#L997
    
    Partial-Implements: bp json-schema-validation
    Change-Id: Ie0ac535a6892e5fc62aa6f29fab869fc44f2e57
    
  - Don't raise 'NotAuthorized' inside when soft authorization
    
    Using try/except block when performing soft
    authorization is less efficient and will lead to
    lots of confusing error messages, pass 'fatal'
    parameter directly to inner authorize function.
    
    Change-Id: I0bdf23e371ff8469080982553cb1ffd8a64c9e2d
    Closes-Bug: #1736854
    
  - Change ssh_utils parameter to correctly sends keepalive packets
    
    The current implementation of ssh_utils never sends keepalive packets.
    In ssh_utils.SSHPool, the socket timeout parameter is set to None
    intending to keep ssh connections open.
    However, when the parameter is set to None, ssh_utils does not run the
    code to compare idle duration and keepalive interval.
    
    This patch reverts the socket timeout parameter to default (0.1 sec).
    The ssh_utils compares them every 0.1 seconds, and sends a keepalive
    packet if idle duration > keepalive interval (= self.conn_timeout).
    
    Change-Id: I8234083107207b9ebc0849947e8de92b5cf3e36e
    Closes-Bug: #1673662
    
  - Merge "Fix test case in test_volume_unicode.py"
  - Merge "Deprecate cinder-manage logs commands"
  - Modify v3 api-ref error response codes for reverting
    
    Change-Id: Id20000e483246b96d2dd478b041a56c2b1e119ff
    Signed-off-by: Xiaojun Liao <xiaojunliao85@gmail.com>
    
  - Merge "Check snapshot flag for test_snapshot_create_volume_description_non_ascii_code"
  - Merge "DS8K: don't swap role after failover group"
  - Merge "Update unity tests to use our test base"
  - Merge "Fix api-ref for v3 group type specs"
  - Removed gb quota decrement in grp snapshot delete
    
    Before https://review.openstack.org/#/c/517725/, when capturing
    a vm we used to reserve gb quota twice. So then i changed the
    code such that we should only increment/reserve the gb quota
    once, i.e., when creating the group snapshot (not while creating
    volumes). Hence we no longer need to decerment gb quota when we
    delete the group snapshot (initially we decremented because we
    incremented twice).
    
    Change-Id: I64ff9c25dbea7950ca87f226c6628a730f9e3c0e
    Closes-Bug: 1735650
    
  - Add output of slowest tests to UT runs
    
    With the switch to stestr we lost the automatic output of the slowest
    tests. We can still get that output, but it is a separate command to
    run after the tests. Add that to our tox.ini command for test execution.
    
    Change-Id: I37937c1ebe4a10b896f1deb77f64b520ceba2830
    
  - Fix available space checking for image conversion
    
    Cinder checks if there is enough free space to convert image from qcow
    to raw format before uploading it into the volume. This patch fixes
    the issue when we try to compare GiB to KiB.
    
    Change-Id: I18b890ab1a73e0e7e9e626c7f896486fdd1f6d75
    Closes-Bug: #1737551
    
  - Deprecate cinder-manage logs commands
    
    These commands search Cinder log files and
    /var/log/messages to look for log messages related
    to Cinder.
    
    This is hacky and bound to be unreliable in
    deployments which now may have log files configured
    in different ways.
    
    They also read entire log files into memory as
    lists and reverse them, which is bound to be slow
    on large deployments.
    
    Deprecate these commands and leave log analysis
    as a job for another tool.
    
    Change-Id: I5672904383d41949b86cfdff41cfa0f0ae79b5ba
    
  - QNAP: Add support for QES 2.0.0
    
    This patch do the following change to the QNAP Cinder driver:
    1. Add support for QNAP QES firmware 2.0.0.
    
    Change-Id: Iae006115e46e20fb354d1db8a09ff4df9810aa44
    Implements: blueprint qnap-support-qes-200
    
  - Merge "Fix create from snapshot and source volume"
  - Merge "Updated from global requirements"
  - Merge "Fix discrepancy in api-ref for create volume manage api"
  - Merge "Add support for enhanced features to the QNAP Cinder driver"
  - Merge "XtremIO: extending volume in create_volume_from_snapshot"
  - Fix test case in test_volume_unicode.py
    
    The test case `test_snapshot_create_volume_description_non_ascii_code`
    in test_volume_unicode.py breaks the CI job [1], as the test case makes
    a wrong assumption that the 'descrption' of snapshot will be inherited
    from source volume. This patch aims to fix it.
    
    [1] legacy-tempest-dsvm-full-devstack-plugin-ceph
    
    Change-Id: I038684acc488fb1ddba0daff348a23ebf45083da
    Closes-Bug: #1736676
    
  - VMAX Doc - clarification and typo fixes
    
    Fixing formating in setup section for clarification and other
    minor typo fixes
    
    Change-Id: Ice0c38dc95a6a40f41ee77e453ec42376bb367d6
    Closes-Bug: #1729258
    
  - Updates Help Text on Quobyte Volume URL Option
    
    This microchange updates the quobyte_volume_url option help text to
    point out that using a DNS SRV record is the best solution for this
    config option.
    
    Change-Id: I0ffc5da37d342b722098ea36e11e269c3ae463b3
    
  - V3 jsonschema validation: Volume metadata
    
    This patch adds jsonschema validation for below metadata API's
    * POST /v3/{project_id}/volumes/{volume_id}/metadata
    * PUT  /v3/{project_id}/volumes/{volume_id}/metadata
    * PUT  /v3/{project_id}/volumes/{volume_id}/metadata/{key}
    
    The reason behind applying schema for v2(update and update_all) is
    that in "/cinder/tests/unit/api/v2/test_volume_metadata.py" module
    from this patch, V2's unit test cases are inherited for V3 and now
    we are applying schema validation for V3 because of that V2's unit
    test cases responses are modified.  If we remove schema validation
    from V2 then we will need to add separate unit test cases for V3.
    
    Made changes to unit tests to pass body as keyword argument as wsgi
    calls action method [1] and passes body as keyword argument.
    
    [1] https://github.com/openstack/cinder/blob/master/cinder/api/openstack/wsgi.py#L997
    Partial-Implements: bp json-schema-validation
    
    Change-Id: I2226c8533cbd1ddd274d8dd0b2d77708463896f4
    
  - Fix create from snapshot and source volume
    
    A regression was introduced in
    I970c10f9b50092b659fa2d88bd6a02f6c69899f2
    on backends supporting storage pools. By extracting the
    'host@backend' out of the host attr from a parent volume,
    the scheduler may attempt to put volumes into other pools
    belonging to the backend.
    
    Many backends cannot clone across storage pools,
    or create storage volumes from snapshots from other
    storage pools.
    
    Change-Id: Ic4c8f29bef2c82550d6d6f03f8fa1dc80696f56e
    Closes-Bug: #1732557
    
  - VMware: Bump driver version
    
    Updating the vmdk driver version to reflect various
    enhancements made in the current release.
    
    Change-Id: I6ad364fa3713b9f41b56b4b3662634cfb02ef365
    
  - Check snapshot flag for test_snapshot_create_volume_description_non_ascii_code
    
    Tempest config allows disabling running any tests for volume snapshots
    because of storage backends that don't support snapshot, so we need
    to not run any tests which create snapshots when Tempest has been
    configured otherwise.
    
    Change-Id: I325aa997c65472a0e9e0b3356f27d1732aab3b5f
    
  - Updated from global requirements
    
    Change-Id: I2de9766406f5abf7710de8e7a9637d5a23324347
    
  - Merge "Disallow unmanaging encrypted volumes"
  - Merge "Remove v1 API reference"
  - Fix discrepancy in api-ref for create volume manage api
    
    For create volume manage api, 'bootable', 'name', and 'metadata'
    parameters are mandatory as per api ref document but as per code
    these parameters are optional.
    
    This patch fixes this discrepancy by updating the api-ref according
    to the code.
    
    Change-Id: I614c0866f52503ed7264f7bf74a193dd17590028
    
  - Merge "Fix policy documentation for os-show_image_metadata endpoint"
  - Merge "Update the documentation links"
  - Merge "Disallow managed volume to be managed again"
  - Merge "Tests: Cleanup utils.create_volume fields"
  - Merge "Tests: Fix Storwize hash randomization failure"
  - Merge "Fix retype migrating volume with rep_status 'not-capable'"
  - Merge "V3 jsonschema validation: Group types"
  - Remove skip_validation_flag to False by default
    
    Remove the skip_validation to force quota
    validation.
    Closes-bug: #1735337
    
    Change-Id: Ib9596ac3ecc57a4f825b7d7118014e2ac14b2473
    
  - XtremIO: optional clean IG with no mappings
    
    Optionally remove the IG and initiators after unmapping the last volume.
    
    closes-bug: #1723430
    Change-Id: I4f6a9676d4ee7e1c4456879b5f1ed9ec20bb7f48
    
  - Merge "Fix for volume from image snapshot free space issue"
  - Merge "Updated from global requirements"
  - Merge "INFINIDAT: change CI_WIKI_NAME"
  - Fix api-ref for v3 group type specs
    
    This patch aims to make some trivial fix on api-ref for v3 group type
    specs.
    
    Change-Id: If59c491446a7bf7b928ca2219092ed9561501cd9
    
  - TrivialFix: Delete word ‘I’ in admin/blockstorage-backup-disks.rst
    
    Change-Id: Ia0792a6a70d74416b7ef593141efbd167aeb1fa5
    
  - Fix TypeError for workers cleanup api incase of invalid resource_type value
    
    Workers cleanup API fails to build exception message if invalid resource_type
    value other than ['snapshot', 'volume'] is passed and raises TypeError
    which gets wrapped into BadRequest at wsgi level.
    
    This patch modifies exception message to fix TypeError issue.
    
    Closes-Bug: #1734252
    Change-Id: I5823547c88edb4a1cc9ea5a51c9bf301daf41257
    
  - DS8K: don't swap role after failover group
    
    After group failed over, DS8K driver should not run failback in
    replication target to swap the role of primary volume and secondary
    volume which will fetch the changes in secondary volume to primary
    volume.
    
    Change-Id: Ib9ad406d933f6491c5e9fbd46dd3c7d6bb07e45b
    Closes-Bug: 1727963
    
  - Merge "VMAX driver - Deprecate backend xml configuration"
  - Merge "VMAX driver - Remove workload for next gen arrays"
  - Merge "VMAX driver - Implement Tiramisu feature on VMAX"
  - Updated from global requirements
    
    Change-Id: I615d12dfdced3230d3a4195e0323cf3ed9a04e6b
    
  - Merge "FlashSystems: permit snapshot/clone volumes larger than source"
  - DS8K: lss_range_for_cg should take csv as well as range
    
    Now, lss_range_for_cg only accept a range value, but we think it
    should also accept csv. This patch is used to implement it in
    Queues Release.
    
    Change-Id: I14c4ea5ac1bdb0dedfa875c94d1e1b36a256a390
    Closes-Bug: 1734037
    
  - Merge "Add test for volume create with non-ascii characters"
  - Merge "Adds DataCore Volume Drivers"
  - Fix for volume from image snapshot free space issue
    
    create_from_image() function checks for free space in conversion path
    (by default /var/lib/cinder/conversion) even if cinder is creating
    volume from image snapshot.
    
    If /var/lib/cinder/conversion has less free space than the size of the
    image volume is created from, exception will be thrown by
    check_available_space() function in image_utils module.
    
    This patch checks if cinder is configured with
    allowed_direct_url_schemes = cinder
    If so, cinder should not check free space in conversion path because
    volume is created from image snapshot.
    
    Closes-Bug: #1683228
    Change-Id: I6330ed31dc9336c9d3d09c2d43c8f4913744e9a2
    
  - NEC driver: delete an unused configuration parameter.
    
    The `ldset_controller_node_name' parameter has been deprecated
    and is ineffective already.
    This patch refactors NEC driver by deleting the unused codes.
    
    Change-Id: I0fb5dc6404ee4db54a3dfc839b9a56622bff6906
    Closes-Bug: #1734633
    
  - INFINIDAT: change CI_WIKI_NAME
    
    As we now support more than one OpenStack project,
    our CI name should be more general than INFINIDAT_CINDER_CI.
    Changed to: INFINIDAT_CI.
    
    Change-Id: I3b581e1b880cf08dd7400db8d77bad8b8fa3b716
    
  - V3 jsonschema validation: Group types
    
    This patch adds jsonschema validation for below Group types API's
    * POST /v3/{project_id}/group_types
    * PUT  /v3/{project_id}/group_types/{group_type_id}
    
    Made changes to unit tests to pass body as keyword argument as wsgi
    calls action method [1] and passes body as keyword argument.
    
    [1] https://github.com/openstack/cinder/blob/master/cinder/api/openstack/wsgi.py#L997
    
    Change-Id: I0dde39ec96b04e497553b07a07acb95039ee5959
    Partial-Implements: bp json-schema-validation
    
  - Add test for volume create with non-ascii characters
    
    This test was uploaded since there was a bug [1] while creating
    a volume snapshot if the description of the parent volume contains
    non-ascii code.
    
    [1] https://bugzilla.redhat.com/show_bug.cgi?id=1383899
    
    Change-Id: I9fc41a426b29fad4f4d42a584325f0465a20effe
    
  - Add cg policies and clean up old policy handling
    
    This completes the "policy-in-code" work for Cinder by removing
    the old policy.json handling. It also adds new in-code checks to
    the legacy consistency group code for completeness.
    
    Change-Id: I810b6cb6bba2d95cc5bb477d6e2968ac1734c96b
    Depends-on: I364e401227fe43e2bacf8a799e10286ee445f835
    Implements: bp policy-in-code
    
  - Merge "Add shared_targets and service_uuid to volumes"
  - Merge "nimble: handle unicode strings in volume create"
  - Migrate fixed_key encryption keys to Barbican
    
    Assist users who are switching from the legacy ConfKeyManager to
    Barbican by automatically migrating any existing keys. Key migration
    is executed in its own thread spawned on cinder-volume startup. Two
    factors are used to determine whether existing keys need to be
    migrated.
    
    1) The ConfKeyManager's fixed_key config value is set (not None).
       This indicates volumes may exist that were encrypted using the
       ConfKeyManager.
    2) Barbican is the current key manager.
    
    When the both conditions are met, each instance of the cinder-volume
    service scans its volumes in the database, looking for volumes using
    the ConfKeyManager's all-zeros encryption key ID. If a volume has an
    all-zeros key ID, the same secret (derived from the fixed_key) is stored
    in Barbican, and all database references to that volume's key ID are
    replaced with the new Barbican key ID.
    
    Implements: blueprint migrate-fixed-key-to-barbican
    Change-Id: Ic70f45762cf4e426c222415e49b947a328282ca0
    
  - Add shared_targets and service_uuid to volumes
    
    This adds the last bits to the shared_targets and service_uuid
    additions to volumes.  The object and db models are already
    updated and this change simply introduces API MV 3.48 to
    expose the new fields to the Volume view.
    
    These fields are intended to be used for identifying if the
    back end device serving a volume is using shared targets, and
    provides the service_uuid to be used as a suggested/unique
    handle for locking.
    
    Change-Id: Ibd18c5f6c772f7265175a63ed2b598fcc3c87bc1
    
  - Pass in the parameters multipath when migrating volume
    
    When multipath is enabled, we do not pass in parameters
    multipath when migrating volume.
    
    Change-Id: Ie6a8136835550d1cec1bc0ccd9c30c83e59580d4
    Closes-Bug: #1735674
    
  - Discrepancy in api-ref and code for create group type API
    
    'name' is mentioned as an optional parameter in api-ref doc for
    POST /v3/{project_id}/group_types API but in the code if we don't
    pass 'name' it returns BadRequest. Also in create and update API,
    'is_public' parameter is not added in api-ref document.
    
    This patch fixes this discrepancy by updating the api-ref according
    to the code.
    
    Change-Id: I34e53ac72cbda9d8264e48e50f5a84ca09b850bd
    
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: Ifefc495bdc8877e981e11bd5ffee371dc0eb2e0a
    
  - Merge "Add shared_targets flag to Volumes"
  - Merge "Discrepancy in api-ref and code for create group snapshot API"
  - Merge "Remove extra test variable assignment"
  - Merge "VMware: Backend driver for VStorageObject"
  - Merge "NetApp ONTAP: Fix delayed snapshot deletion call"
  - Remove extra test variable assignment
    
    Expected assertion value is assigned and then immediately
    overwritten. Removes unused variable assignment.
    
    TrivialFix
    
    Change-Id: I8603a2d63e57354aa0d153ddfb4e9b4172ff803d
    
  - Merge "Imported Translations from Zanata"
  - Merge "Unity: Fix duplicate hosts created with same name"
  - Tests: Cleanup utils.create_volume fields
    
    Fields that default to None don't need to be added
    here, they are handled by **kwargs + volume.create().
    
    Remove "group_snapshot" since it's not actually a
    volume field.
    
    Also make the function more readable.
    
    Change-Id: I6cf27bae91ac0faac7d6bdc2d7e447fc5b598482
    
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: Ib66253d3f809c65a2da39c4994e914c1bea53506
    
  - Discrepancy in api-ref and code for create group snapshot API
    
    'group_id' is mentioned as an optional parameter in api-ref doc for
    POST /v3/{project_id}/group_snapshots API but in the code if we don't
    pass group-id it returns BadRequest.
    
    This patch fixes this discrepancy by updating the api-ref according
    to the code.
    
    Closes-Bug: #1735177
    Change-Id: Id2165a07995ab706d4a327f7340dccee7799c7b6
    
  - Tests: Fix Storwize hash randomization failure
    
    Some fields tested here are lists that are generated
    from dicts, and can therefore be in any order.
    
    Change-Id: I30817ae767e08c45f9540b19e922864fe2f7a9c2
    
  - Merge "Fix group_type_id in api-ref"
  - Merge "Consolidate code that manages encryption keys"
  - Merge "Fix project_domain_name and user_domain_name in doc"
  - Merge "Mock out CLI execution in NEC driver tests"
  - added clarification in docs for usage of "volume_clear*" options
    
    * In the current documentation its pretty unclear where to set the
    volume_clear* options and since we found that they will not work while
    set in the [DEFAULT] section this commit adds information on where to
    set them.
    
    Change-Id: I7d48a0210f3d4545d5a4d932796cb82a677e467f
    
  - Disallow unmanaging encrypted volumes
    
    Unmanaging encrypted volumes is problematic because
    unmanage assumes that you will be able to manage the
    volume again for later use, but, we have no mechanism
    currently to keep track of the encryption key which
    would be required for using an encrypted volume again.
    
    While this may work out ok when using the conf_key
    manager, this patch does not distinguish between conf_key
    and barbican deployments.
    
    Closes-Bug: #1731518
    Change-Id: I7506fa36962404c80f1cc9c6370693728e5393a7
    
  - Disallow managed volume to be managed again
    
    On manage existing volume, check if the volume is already managed.
    If the volume is already managed, display an error
    "Unable to manage existing volume. The volume is already managed"
    
    Closes-bug: #1518798
    
    Change-Id: Ide79fda590762cc040acc36987504a2bee2e85fe
    
  - Merge "Allow purging of records less than 1 day old"
  - Fix project_domain_name and user_domain_name in doc
    
    Change-Id: I192708586d89d1bf07a5e52ed1c45de6eab689a5
    Closes-Bug: #1735051
    
  - Add support for enhanced features to the QNAP Cinder driver
    
    This adds enhanced supports to the QNAP Cinder driver:
     - CHAP
     - Thin Provision
     - SSD Cache
     - Dedupe
     - Compression
    
    DocImpact
    Implements: blueprint qnap-enhance-support
    
    Change-Id: I2a7440789753bb0e42ac0e8d0190b21652a87e2f
    
  - Merge "DS8K: update replication_status in generic group APIs"
  - Mock out CLI execution in NEC driver tests
    
    The VolumeStats_test was not mocking the CLI code that retieves
    backend stats, resulting in an ssh_known_hosts file being created
    in the local directory. This mocks out the calls to avoid this.
    
    Change-Id: I60898272e0da165fe3168e51d8595250682179c0
    Closes-bug: #1732992
    
  - handle no default_cgsnapshot_type
    
    If default_cgsnapshot_type has been deleted, group operations for
    drivers relying on the generic volume group implementation were failing
    with a KeyError while attempting to determine if the targeted group was
    default_cgsnapshot_type. This fixes that by using a comparison that
    allows for the possibility that default_cgsnapshot_type does not
    exist.
    
    Change-Id: Ic220ea4d8a6e83293e5237acfb07b1a417293803
    Closes-Bug: #1710937
    
  - Add shared_targets flag to Volumes
    
    This adds a bool column to volumes to notify consumers if
    the backend hosting the volume utilizes shared_targets
    or not.
    
    We use the volume-drivers capabilities report to determine
    this and default to True if a driver doesn't report anything.
    
    The purpose of the column is to notify Nova that it needs to
    do some sort of locking around connect/disconnect to be sure
    other volumes on the same node aren't sharing the iscsi connection.
    
    Using a default of "True" is safe because although locking and doing
    the extra checks might be somewhat inefficient it works fine because
    it will just appear that there's never any other volumes in use.
    
    So this change adds the column to the DB as well as an online migration
    to go through and update any existing volumes.  With this and the
    service_uuid column consumers will have everything the need to:
    1. determine if they need to lock
    2. use the service_uuid as a unique lock name
    
    That last remaining change in this set will be to add the fields to
    the view-builder and bump the API version.
    
    Change-Id: If600c28c86511cfb83f38d92cf6418954fb4975e
    
  - Merge "HPE3PAR: Create FC vlun as host sees"
  - Merge "Move legacy-cinder-tox-* jobs in-tree"
  - Merge "Use new oslo.db test cases"
  - Merge "Support create volume from backup"
  - Allow purging of records less than 1 day old
    
    Adding ability to purge records less than 1 day old, using the
    cinder-manage db_purge utility.
    
    Added an unit test case at test_purge.py
    
    Change-Id: I1e1f58e19ae02896633bc1ab0a8aa8ca3cc26ccf
    Closes-Bug: #1723226
    Co-Authored-By: Tee.Ngo@windriver.com
    
  - Update the documentation links
    
    The documentation about "ops-guide" has been moved.
    
    Change-Id: I962b06eeabfc1ac8dc2bdfc6459fd37f7532f0ee
    
  - Merge "Fix 'KeyError' when 'with_count' is not specified"
  - Support create volume from backup
    
    This patch implements the spec of creating volume from backup.
    
    Change-Id: Icdc6c7606c43243a9e12d7a42df293b729f589e5
    Partial-Implements: blueprint support-create-volume-from-backup
    
  - Fix 'KeyError' when 'with_count' is not specified
    
    Pop method will raise KeyError if the key
    does not exist. Fix this by ensuring 'with_count'
    exists before parsing the string value.
    
    Change-Id: Ibcba92f7cdb2506f3b2f31baa2fca6c696ff57a4
    
  - Consolidate code that manages encryption keys
    
    This patch is a minor reorg of existing code to facilitate subsequent
    changes for migrating legacy keys to a modern key manager such as
    Barbican.
    
    volume/utils.py now supports these functions that manage the lifecycle
    of an encryption key:
    - create_encryption_key()
    - delete_encryption_key()
    - clone_encryption_key()
    
    create_encryption_key() is an existing function, but it was not used
    everywhere a key was created. All code that needs to create a key now
    does so by calling this function.
    
    delete_encryption_key() is primarily a small wrapper, but it will play
    a larger role in a subsequent patches related to key migration. One
    functional improvement in this patch is it no longer propagates an
    exception when deleting an unknown key ID. This avoids needlessly
    blocking attempts to delete an encrypted volume for fear that the key
    could not be deleted.
    
    clone_encryption_key() is a small wrapper that improves the transparency
    of code that needs to create a new encryption key ID from an existing
    key ID.
    
    Implements: blueprint migrate-fixed-key-to-barbican
    Change-Id: I2108e77a8d07dddfb9ec284b3930a197854bd884
    
  - Use new oslo.db test cases
    
    Base migration test cases have moved to a new location in oslo.db
    resulting in DeprecationWarnings in the Cinder logs. This updates
    the migration tests to use the new location for these base test
    classes.
    
    Also tries to clean up slightly by moving the test_migrations
    tests under the db directory.
    
    Change-Id: Iaf77db73e368aee0d09b4c8e76f180f394f1aa37
    Closes-bug: #1733903
    
  - Merge "Add service_uuid FK to volumes"
  - Merge "Add cleanup to TestCase.flags()"
  - Merge "Support create a volume from image snapshot"
  - Move legacy-cinder-tox-* jobs in-tree
    
    The compliance and bandit-baseline jobs just call tox to run tests.
    These are an easy step to move in-tree.
    
    Since it is also easier to have conditions on when things run, this
    also adds filtering so the compliance job will now only run when there
    are changes in code that impact the drivers.
    
    Change-Id: Idb9a1f39481f3ebb704b28abc062ae24414d7224
    Needed-by: I3af7771ab3e8d5a192f466dcec36a2b41db08ac3
    Needed-by: I4af1813c69a5ddccbde8b99ed15023aa407995b5
    
  - Add cleanup to TestCase.flags()
    
    Prior to change 43a31525, this method was installing
    a cleanup method to reset the changed config values
    after the test was run.
    
    It should still do that to prevent conf changes in one
    test from interfering with other tests.
    
    Change-Id: I8747b56804704da07bc29b9680c57bc172693994
    
  - HPE3PAR: Create FC vlun as host sees
    
    Host sees VLUN template allows host connected
    to any port to see a vv. so, only one vlun
    template will be created per host irrespective
    of number of FC ports available.
    
    Change-Id: I623d6114db866a465955f8a5ae7f40b69c781622
    Closes-Bug: #1734505
    
  - Merge "Re-add QNAP Cinder volume driver"
  - Merge "Filter valid FC initiator while FC attaching"
  - Support create a volume from image snapshot
    
    The instance boot from volume, snapshot the instance will create
    a image in glance. The image size is 0, it just a link to the
    volume snapshot. When the user create volume from the snapshot
    image, in the current version, it will create a blank volume. so
    the user is troubled. This patch fix it.
    
    The scheme: when the user create volume from snapshot image, the
    api create interface will parse out the snapshot image corresponds
    to the volume snapshot id. Then create a volume from the volume
    snapshot. So, the user can use this way to restore the instance's
    bootable volume.
    
    Change-Id: Ic44dfae8bb187a5aa9c2c1f50f7b5dc0ef0f28f8
    Closes-Bug: #1560867
    
  - Filter valid FC initiator while FC attaching
    
    While attaching a volume by FC, Huawei driver will verify the FC initiator
    wwns validation via checking if these wwns exist in Huawei storage.
    At the situation of NOVA compute node connects to multiple storage through
    FC, the passed in inititator wwns must include the wwns that aren't actually
    connected to current backend storage, so the verification would fail.
    
    To avoid this problem, add a filtering step for initiator wwns according to
    the actual valid FC initiators in backend storage before verification.
    
    Change-Id: I30fe1b0964679416b46a4bbcb72e75814f022aa8
    
  - Remove invalid parameters in the file testing.rst
    
    Remove invalid parameters in the file testing.rst and modify UT path of
     cinder volume
    
    Change-Id: I629cd5a643d22584cb151bcd49ce8ee9c821cadc
    Closes-Bug: #1733774
    
  - Merge "Handle quota in 2 phases when managing resource"
  - Merge "Storwize: revert to snapshot support"
  - SMBFS: manageable volumes
    
    This change allows the SMBFS driver to claim (manage) vhd/x images
    present on pre-configured shares.
    
    Note that images having backing (parent) files will be rejected.
    Managing snapshots will not be supported either.
    
    The images may reside in subdirectories (and get moved afterwards),
    which may be useful when having a folder dedicated to images that
    are to be imported in Cinder.
    
    All the logic is included in the new "RemoteFSManageableVolumesMixin"
    class so that any related driver may inherit it. For the record,
    this works out of the box for the NFS driver (special care has been
    taken in this sense).
    
    Implements: blueprint remotefs-manage-unmanage-volume
    Change-Id: I54695655e563d84e4fb1b76c42f0127c5fb909f7
    
  - Fix retype migrating volume with rep_status 'not-capable'
    
    When retype migrating a volume with rep_status 'not-capable',
     cinder driver will reject it because the volumes with rep_status
    'not-capable' are considered as a replicated volume.
    This patch fixes the issue by adding 'not-capable' to the
    rep_status checklist.
    
    Change-Id: I86179c47343de32527d17d7e2177046e89cbd007
    Closed-Bug: #1734011
    
  - Adds DataCore Volume Drivers
    
    The iSCSI and Fibre Channel volume drivers for DataCore’s
    SANsymphony and Hyper-converged Virtual SAN storage
    support the core/minimum feature set:
     - Volume Create/Delete
     - Volume Attach/Detach
     - Snapshot Create/Delete
     - Create Volume from Snapshot
     - Get Volume Stats
     - Copy Image to Volume
     - Copy Volume to Image
     - Clone Volume
     - Extend Volume
    
    DocImpact
    Implements: blueprint datacore-volume-driver
    
    Change-Id: I3308bdedbfe3bb83d695d38667eaea6327fa4461
    
  - Merge "Update access control of show under hostAPI"
  - Handle quota in 2 phases when managing resource
    
    Cinder would commit quota twice when managing resource
    in a clean environment that the corresponding
    'quota_usage' record is empty. This is all because of
    we create db entity before reservation, hence the SYNC
    mechanism would refresh new record into quota_usage
    before actually reserved.
    
    This patch fix this issue by introducing 2 phases
    reserve&commit, the latter only intends to update
    the actual size.
    
    Closes-Bug: #1587376
    Change-Id: I79940e534ec03f2d327e8a7e14e45bc93ae41b0c
    
  - Merge "RBD: support driver-assisted volume migration"
  - Merge "SMBFS: add fixed image support"
  - RBD: support driver-assisted volume migration
    
    This patch implements the driver function migration_volume() and allows
    a user to efficiently migrate a volume from one pool to another as long
    as both pools reside in the same cluster.
    
    Change-Id: I84b5ff546726c9eddb46badb48b24ed1905e0aa8
    Implements: blueprint ceph-volume-migrate
    
  - Merge "Modify the wrong link in document"
  - Update unity tests to use our test base
    
    Deprecation warnings were being emitted due to use of assertRaisesRegex,
    even though a py2/3 wrapper was created in
    I3cf8e29184a68a07d35fb121c816e40b89df393e. This was due to the Unity
    tests inheriting from unittest.TestCase instead of our own base TestCase.
    
    Switched test cases over to use cinder.test.TestCase gets rid of the
    deprecation warning for assertRaisesRegex.
    
    Our base test installs a logging fixture to make sure log messages are
    OK. This uncovered that the driver code was trying to pass an object in
    as if it were a dict of formatting values, resulting in an error. This
    patch fixes this my creating a dict of the needed values to pass in so
    the tests will pass under the new inheritance.
    
    Change-Id: I2a6643ab4827dae244212c90c73402ff6d61cf76
    
  - Update access control of show under hostAPI
    
    Update the detection mechanism of show interface under the host API.
    Replacement detection mode, and add policy for host show API.
    
    Change-Id: I76ca1251cd14da6c777bd48a28906d8362d836b0
    Closes-Bug: #1732808
    
  - Modify the wrong link in document
    
    Change-Id: Ibebd5a6e3752a441fc0f05f4bfd1be2b7f360480
    
  - Merge "V3 jsonschema validation: Attachments"
  - Merge "Try Fetching value from 'cluster' when raise exception"
  - V3 jsonschema validation: Attachments
    
    This patch adds jsonschema validation for below Attachments API's
    * POST /v3/{project_id}/attachments
    * PUT  /v3/{project_id}/attachments/{attachment_id}
    
    Made changes to unit tests to pass body as keyword argument as wsgi
    calls action method [1] and passes body as keyword argument.
    
    [1] https://github.com/openstack/cinder/blob/master/cinder/api/openstack/wsgi.py#L997
    
    Partial-Implements: bp json-schema-validation
    
    Change-Id: I50a1d3b60652d9d44d2c47bb9bc413dd127bc938
    
  - Merge "Remove DB authorisation checking with quota API operations."
  - Merge "Add fixture to only emit DeprecationWarning once"
  - Merge "Update oslo.context RequestContext args"
  - Merge "Fix description for volume_type object in API Ref"
  - Add fixture to only emit DeprecationWarning once
    
    We have a ton of DeprecationWarning messages in our unit test runs.
    Most of these are out of our control from third party libs. This
    adds a WarningsFixture to limit warning output to once per test
    run, getting rid of >700 warnings in our logs.
    
    Borrowed heavily from Id8d8866baaf64721fda2b6b2e8358db18920c8ba and
    I5eaf953b6a2b0a3efe215f776aa048433b192e90 in Nova.
    
    Change-Id: I2250d4bad1b1f7d1f83c175a5e2b124f02ec9212
    
  - Remove DB authorisation checking with quota API operations.
    
    This is now handled completely in policy.
    
    Change-Id: Ie75b6b135610a8bb206a6f941721d5e97f6db502
    Closes-Bug: #1733480
    
  - Update oslo.context RequestContext args
    
    Commit I9272f71e0e68268ad9f558ddd1e1183e3ea69806 fixed a few
    deprecation warnings due to properties being renamed in oslo
    context, but there were a few other name changes as well.
    
    This updates domain_id, project_domain_id, and user_domain_id
    and gets rid of ~130 DeprecationWarning messages from our unit
    test runs.
    
    Change-Id: Ic7e8e6bc5c68e73a2c26c3105885e5c6ea06a4a8
    
  - Update bindep.txt for doc builds
    
    https://governance.openstack.org/tc/reference/project-testing-interface.html#documentation
    specifies that doc dependencies need the doc tag in bindep, use it.
    
    Leave test environment in for transition period until we use the new
    scripts.
    
    Change-Id: I50e4c66097aefdfea1e7589b2ae67e262ae6a6d3
    
  - nimble: handle unicode strings in volume create
    
    currently nimble cinder driver doesn't handle unicode strings
    for display_name and display_description
    
    Change-Id: Ic94cbc50d5761c7fc67d2973bed70c70cf6bf769
    Closes-Bug: 1732812
    
  - Handle deprecation of inspect.getargspec
    
    getargspec has been deprecated in py3 with plans to remove it in py3.6.
    The recommendation is to move to inspect.signature, but the results
    of that call are different than the existing one.
    
    There is also getfullargspec available under py3 that was originally
    deprecated, but for the sake of handling 2/3 code, it has been
    un-deprecated. This call uses inspect internally, but returns a mostly
    compatible result with what getargspec did. This handles getargspec
    deprecation by just using getfullargspec instead if it is available.
    
    Change-Id: I18fbbdf3e4d63c7b3e11806e9347b8df2dba5c8e
    Closes-bug: #1733676
    
  - Add service_uuid FK to volumes
    
    This patch adds a service_uuid FK to the volumes table.
    Up until now we've just done some host name parsing and
    to match up service node with where the volume is being
    serviced from.
    
    With this, we now have a unique identifier that's user
    visible to indicate what node the volume-service for a
    particular volume is being serviced by.
    
    We'll use this for things like share-target locks going
    forward.
    
    Change-Id: Ia5d1e988256246e3552e3a770146503ea7f7bf73
    
  - Merge "V3 jsonschema validation: base schema framework"
  - Fix policy documentation for os-show_image_metadata endpoint
    
    The policy documentation for os-show_image_metadata endpoint
    is inconsistent with the implementation.
    
    In policy documentation, the endpoint is listed as enforcing
    "volume_extension:volume_image_metadata": [0]
    
    But in the code it is clear that no policy enforcement is performed: [1]
    
    This PS removes the os-show_image_metadata entry from the policy
    documentation for consistency.
    
    [0] 9fbf236dc1/cinder/policies/volume_metadata.py (L102)
    [1] 0cf910d434/cinder/api/contrib/volume_image_metadata.py (L123)
    
    Change-Id: Icfde885384d174dbf9b211faca3f31be0b41f232
    Closes-Bug: #1733632
    
  - Merge "Test os-brick master in LIO gate job"
  - Merge "Fix VolumeAttachment OVO Volume lazy loading"
  - Fix group_type_id in api-ref
    
    group_type_id in GET/DELETE/PUT /group_types/group_type_id
    is mentioned as optional path variable which is not true.
    
    - 7c66eb3d97/cinder/api/v3/group_types.py (L101)
    
    This id is mandatory and doc should be updated.
    This create confusion while test case or using this API,
    example - https://review.openstack.org/#/c/521634/4/tempest/lib/services/volume/v3/group_types_client.py
    Closes-Bugs: # 1733504
    
    Change-Id: I220cd20fefbe83ba8c392ab6b1679620d6a1d934
    
  - Merge "Added mount fstype based validation of Quobyte mounts"
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: I87eef108a6315d630ce78b41bec6543e995e76af
    
  - Merge "Check available capacity before creating resources"
  - Merge "api-ref: fix 203 error response codes to be 403"
  - Merge "Update api-ref to include volume_image_metadata"
  - Merge "Unity: Remove redundant debug logging"
  - Merge "Fix v3 api-ref for restoring backup are wrongly described"
  - Merge "Add v3 api-ref for showing encryption specs item"
  - Merge "Fix qos-spec-v2-qos-specs error"
  - Merge "[Trivial] set min max_over_subscription_ratio to 1"
  - VMware: Backend driver for VStorageObject
    
    Volume driver based on VMware VStorageObject aka First Class
    Disk (FCD). This driver requires a minimum vCenter version
    of 6.5.
    
    Implements: blueprint vmware-fcd-driver
    Change-Id: I983e0b7c650a2358e4af9862365d29dfa107210a
    
  - Merge "Inspur Cinder iSCSI driver"
  - NetApp ONTAP: Fix delayed snapshot deletion call
    
    The ONTAP drivers have a retry mechanism to cleanup
    deleted FlexVol snapshots (those that get taken to assist
    Cinder's CG snapshots or consistent volume group
    snapshots). The driver calls for this pass a redundant
    parameter after the cleanup committed in:
    I129ca060a89275ffd56481b8f64367b0d803cff5
    
    Fix this redundant parameter.
    
    Change-Id: I37d4fb98e165bed2f36f54d6a30477b65bcddd50
    Closes-Bug: #1728654
    
  - Suppress UT log messages
    
    Large logger output during unit test run is causing subunit.parser
    failures. Most of this output is unnecessary for unit tests, so we
    should just suppress this logging.
    
    Also switching oslo.context args from user and tenant to user_id
    and project_id to get rid of deprecation warnings and move to new
    expected attributes. The minimum version of oslo.context has been
    raised to ensure we have a version with the renamed kwargs, so we
    are safe changing this. Originally planned to change as its own
    change in Iecee4cbd57ac319a02f9bfdf24e3742dbbcb3950, but it causes
    enough log output in the unit tests that failures are preventing
    either patch from going through without the other included.
    
    Change-Id: I9272f71e0e68268ad9f558ddd1e1183e3ea69806
    Partial-bug: #1728640
    
  - Try Fetching value from 'cluster' when raise exception
    
    Cluster is supported in cinder manage API. We should try
    to fetch the user input from 'cluster' as well when raising
    exception.
    
    TrivialFix
    Closes-Bug: #1732455
    
    Change-Id: I2921113d89662c346ff75081dc7c5ce24ca6c5e2
    
  - Merge "SMBFS: Enable reverting snapshots"
  - Merge "NetApp E-series: Fix provisioned_capacity_gb"
  - Merge "Remove setting of version/release from releasenotes"
  - Fix v3 api-ref for restoring backup are wrongly described
    
    In v3 api-ref for restoring backup, the request contents are wrongly
    described, it is mandatory to specify either the UUID or name of the
    volume, Actually it's OK if you specify nothing.
    
    The name parameter will work only if a new volume is created for restore.
    
    Closes-Bug:#1732664
    
    Change-Id: Ia6a9b99df0c7b83999a2e5ac9c945c91b284f807
    Signed-off-by: Xiaojun Liao <xiaojunliao85@gmail.com>
    
  - Fix qos-spec-v2-qos-specs error
    
    There are some small mistakes in the api-v2 doc,
    please see this bug description:1733148
    Closes-Bug:#1733148
    
    Change-Id: I3726159a23625a33415f23b971d6e6f47bd77846
    
  - Merge "Explicitly set expected log level for tests"
  - Add v3 api-ref for showing encryption specs item
    
    This patch adds v3 api-ref for showing encryption specs item for an
    existing volume type.
    
    Change-Id: I80b1853cbe2cc02a056195e967e9422617bbf850
    
  - Merge "Fix controller install document indentation"
  - Merge "set vg_thin_pool_size to float type"
  - Merge "Prevent leaking encryption key when deleting volume"
  - Merge "Remove ExceptionTestCase"
  - Merge "Tests: Rework volume deletion w/ invalid status test"
  - Explicitly set expected log level for tests
    
    Some of the tests related to log level adjustment make assumptions
    about the default log level. While that should not change often, it
    would be best if the tests explicitly set the default it expects.
    
    Change-Id: I789175e70994be52181fed6339af96b6b85c1236
    
  - Update api-ref to include volume_image_metadata
    
    The detailed information for a volume can include "volume_image_metadata"
    in the case where the volume was created from an image, or in the case
    where the volume was created from a snapshot of such a volume.
    
    Update the API ref to include the field so we accurately represent
    the code.
    
    Change-Id: If5fcdefaa10bfb00e60aa4559d3282d3c6a53752
    Closes-Bug: #1732763
    
  - Remove ExceptionTestCase
    
    Since the switch to stestr, it appears any tests that output a large
    amount of logging can cause subparser errors. One of the tests that
    seems to occasionally trigger this is in test_exceptions where it
    loads all classes from cinder/exception.py and asserts that attempting
    to raise the class results in it being raised.
    
    Many of the exceptions require message formatting values passed in.
    The base CinderException handles this, but it also logs when this is
    the case. So looping through all the exceptions results in a lot of
    log messages for these missing format values.
    
    Since all this does is assert that raising the exception raises the
    exception, there is little value to this test. Arguably the only thing
    it does is enforce that non-exception classes can't be added to
    exception.py as those would raise a TypeError rather than the expected
    exception, but that does not seem like something we should care about
    enforcing. At least not in a unit test.
    
    Change-Id: I56c37bb2f5fa20356341e5736745117806463644
    Partial-bug: #1728640
    
  - V3 jsonschema validation: base schema framework
    
    This patch adds a base jsonschema framework which will be used
    by other subsequent patches for adding jsonschema validation
    support for v3 APIs.
    
    This patch follows the Nova-Schema-framework:
    https://github.com/openstack/nova/tree/master/nova/api/validation
    
    Depends-On: I4b1140c20c68821eaf0849c9ee551ff9b1c27deb
    Partial-Implements: bp json-schema-validation
    Co-author: Pooja Jadhav <pooja.jadhav@nttdata.com>
    Change-Id: If40029a6ab9b15c292f9297f5bf56aec9621a7d9
    
  - Merge "NetApp cDot: Fix manage volumes"
  - Merge "Fix earlier backup records can't be restored"
  - Check available capacity before creating resources
    
    For some resources, due to their inheritance of the 'host' attribute
    from the source where they are asked to create from, the 'CREATE'
    request doesn't go through Cinder scheduler, thus missing the chance
    to check if the storage backend still have capacity. Such resources
    are snapshots, volume clones and potentially volume replication
    clones. In some cases, current implementation is fine because those
    new resource would end up being in 'error' state if backend is out
    of capacity, but in the case where thin-provisioning is desired and
    the backend has max over-subscription ratio set, this might cause
    backend to serve more than it should if the backend doesn't enforce
    simliar checks.
    
    The solution in this change is simply passing all create requests to
    scheduler even for those resource has known 'host'.
    
    Alternative solution, which tries to add some scheduling logic into
    volume manager is here: https://review.openstack.org/#/c/437677
    The fact that this change almost duplicates scheduler code in a very
    unclean way makes it ugly, hard to maintain hence less preferrable.
    
    Change-Id: I3454255c8dae481c85f79896ce53fabdc2a50b4d
    Closes-bug: #1537166
    
  - Remove setting of version/release from releasenotes
    
    Release notes are version independent, so remove version/release values.
    We've found that most projects now require the service package to be
    installed in order to build release notes, and this is entirely due to
    the current convention of pulling in the version information.
    
    Release notes should not need installation in order to build, so this
    unnecessary version setting needs to be removed.
    
    Change-Id: I9b631dbedd1b2c8bfe7430943dfc16e85b9f85e0
    
  - Merge "Fix cinder-manage volume delete"
  - Merge "Add missing 'obj_make_compatible' in RequestSpec object"
  - Test os-brick master in LIO gate job
    
    Pull os-brick from git instead of pip
    when testing on master.  For stable branches,
    still pull os-brick from pip.
    
    Change-Id: Ib9ebfa67020d99d83ebb33552677e9e2e334f9a7
    
  - Storwize: revert to snapshot support
    
    Adding support for reverting volume to a snapshot
    in Storwize/SVC driver.
    
    Change-Id: I0e83162641279ffe242d18dfd3062ce37b3a959b
    Implements: blueprint storwize-revert-snapshot
    
  - Merge "Schedule request to scheduler when create group from resource"
  - Merge "Handle assertRaisesRegexp Python 3 deprecation"
  - Merge "Fix resource count for os-host show"
  - Merge "Correct gb,snapshot quota update in group snapshot"
  - Fix cinder-manage volume delete
    
    The cinder-manage volume delete cmd has been broken
    for a while.  It looks like the code in manage was
    written against an original rpc version that is no
    longer valid and never
    updated.
    
    This updates it to use the current rpc method.
    
    Change-Id: Ia7ef04c777ccf6214fec53f500bfba4dde341c73
    Close-Bug: #1732223
    
  - Merge "Change default test log level"
  - Merge "Add doc/source/_static/cinder.policy.yaml.sample to .gitignore"
  - Merge "Fix 'D005 No newline at end of file' Error"
  - api-ref: fix 203 error response codes to be 403
    
    I assume these were just typos, because 203 isn't an error response,
    and for these APIs about the only error response you can get, besides
    401 I guess, is a 403 for policy forbidding the user from making that
    request. So this changes the various 203 to 403 error codes in the
    API reference.
    
    Change-Id: I377b4c11d04c84b00165aae00990c93c5d52e668
    
  - Merge "RemoteFS: revert snapshot support"
  - Inspur Cinder iSCSI driver
    
    Features that Inspur Driver support:
    Create, list, delete, attach (map), and detach (unmap) volumes
    Create, list, and delete volume snapshots
    Copy an image to a volume
    Copy a volume to an image
    Clone a volume
    Extend a volume
    Retype a volume
    Create a volume from a snapshot
    Manage an existing volume
    Consistency group create,update,delete
    Consistency group snapshot create,delete
    Group create,update,delete
    Group snapshot create,delete
    Replication V2.1
    
    ThirdPartySystems: INSPUR CI
    
    Implements: Blueprint inspur-instorage-driver
    
    Change-Id: I06a8eb38f35ccff125282c8886458bfe99fe196e
    
  - [Trivial] set min max_over_subscription_ratio to 1
    
    This change sets the 'max_over_subscription_ratio' config option
    minimum value to '1'.
    
    The minimum value is already documented in the config option help
    field but is not enforced.
    
    This change allows simplifying code that performs config validation.
    
    Change-Id: I035961590a4e5301670cc2707ffedafa81d2a9a2
    
  - Add doc/source/_static/cinder.policy.yaml.sample to .gitignore
    
    This commit adds doc/source/_static/cinder.policy.yaml.sample to
    .gitignore which is created by sphinx build.
    
    Change-Id: I6f80c766fed3a98d050290be179b91b218bedcef
    
  - Fix 'D005 No newline at end of file' Error
    
    This commit fixes an error - 'D005 No newline at end of file' below.
    
      cinder/doc/source/sample_policy.rst:17:
                   D005 No newline at end of file
    
    Change-Id: I9051b30da01d81dfb966613decf225804b3b9c0e
    
  - Fix controller install document indentation
    
    This commit fixes the document of cinder-controller-install*.rst.
    Otherwise, the html docs are a little weird.
    
    Change-Id: I615d5cab95b07f995318266166480a9fd4d713f8
    
  - Fix earlier backup records can't be restored
    
    We upgraded the backup service attribute from
    module name to class name. This results in
    the failure of restoring earlier backups
    with new code. This patch upgrades the older
    backup records as well as adds compatibility
    in code.
    
    Change-Id: I0374ab9f2d37ecf8d8bce191c7535601266d432e
    Closes-Bug: #1727912
    
  - Merge "NetApp ONTAP: Remove orphaned 7mode file"
  - Merge "HPE 3PAR: Handle single path in FC configuration"
  - Merge "Add .zuul.yaml with LIO job"
  - Fix several instances of chap secret being output to logs.
    
    Several drivers had cases where chap secrets could be output to
    the log files.  This fixes several such cases by masking the secret.
    
    Change-Id: Id74d48348f2a9aa212fe178ac2e2304ff134be9a
    
  - NetApp cDot: Fix manage volumes
    
    When running NetApp cDot driver using nas_secure_files_operation=false,
    managing a volume will always fail if the files permissions are not set
    to 0777.
    
    This patch changes the python call from shutil.move to _execute() which
    is run using elevated permissions.
    
    Change-Id: I41484ced6269d0d4b7553e84c734ef22ab46fcd9
    Closes-bug: #1691771
    
  - Fix resource count for os-host show
    
    os-host show API should only return the resouce count on the
    specified host.
    The logic in Cinder which counts the project's resouce on all host
    is wrong.
    
    Change-Id: I96cd285a82b44af8818514692818e739443dcc45
    Closes-bug: #1699936
    
  - Correct gb,snapshot quota update in group snapshot
    
    Currently we are incrementing gigabytes quota twice, once while
    creating snapshot & then while creating individual volumes & this
    is fixed in this change. Also, snapshot quota updation was put in
    a loop of volumes because of which it gets incremented to number
    of volume times.
    
    Change-Id: I9ef79a21c7438e69221a5ed2a1c1bfb59f3f9a32
    Closes-Bug: 1728834
    
  - HPE 3PAR: Handle single path in FC configuration
    
    Issue :- With single path configuration, post
    volume attach multiple vluns are created,
    instead of one vlun.
    
    Added check to create host with single initiator,
    which will use single target wwn to create a vlun
    
    Change-Id: I093da81fb9a0021e4fedff7eb48d3245957e787a
    Closes-Bug: #1727176
    
  - Merge "Use oslo_db.sqlalchemy.enginefacade"
  - Remove v1 API reference
    
    Commit 3e91de956e1947a7014709010b99df380242ac74 removed the
    v1 API code that these documents were built from, so they
    no longer work. The references to the docs from the main
    index just redirect back to the main index, so they can't be
    used since the code is gone. Anyone that wants to build the
    v1 API reference has to build it locally from before commit
    3e91de956e1947a7014709010b99df380242ac74, but even then the
    v1 API reference was sorely lacking details on the majority
    of the API extensions anyway.
    
    Change-Id: Ie4b25627d962aa7daa684de0d22c6bd212b83e46
    
  - NetApp ONTAP: Remove orphaned 7mode file
    
    When the 7mode drivers were removed as part
    of I129ca060a89275ffd56481b8f64367b0d803cff5,
    a file was inadvertently left behind, blank.
    
    TrivialFix
    
    Change-Id: Ie63c6ec677f7fd800a10c9759c535cba395f3ec1
    
  - Merge "VMware: Improve scalability of querying volumes"
  - Prevent leaking encryption key when deleting volume
    
    Fail requests to delete an encrypted volume when the associated
    encryption key cannot be deleted. This avoids leaking an encryption
    key when the volume is deleted but the key cannot be deleted.
    
    This patch addresses situations where Barbican is the key manager,
    and Barbican's security policy does not allow the user to delete
    the key. Barbican has stricter rules on deleting secrets than Cinder
    does on deleting volumes. For example, given two non-admin users X
    and Y, Cinder allows user X to delete user Y's volume, but Barbican
    does not allow user X to delete user Y's secrets.
    
    If the encryption key cannot be deleted then the volume's status is
    set to "error_deleting". To delete the volume, the volume's status
    can be reset, and a user with suitable privileges (i.e. an admin or
    the volume's owner) can reissue the delete request.
    
    Closes-Bug: #1731528
    Change-Id: If0462c18345a4bfbfbcecb6b8caa33d38b86d7f0
    
  - Schedule request to scheduler when create group from resource
    
    Pass the request to scheduler rather than volume service in
    order to check the backend's capacity.
    
    Change-Id: Ie4c157f11e5fde0c2dd1d3e06feb0caa9d2d9ede
    Partial-Implements: bp inspection-mechanism-for-capacity-limited-host
    
  - Re-add QNAP Cinder volume driver
    
    The QNAP driver was marked deprecated and was removed due to not
    meet CI requiements. Now QNAP driver can meet the CI requirements.
    To support enhanced features of QNAP driver, the driver should
    be add back first.
    
    Change-Id: Ieb2c08b27d073607c6c3c9bc4d4174f760121509
    Implements: blueprint readd-qnap-driver
    
  - Add missing 'obj_make_compatible' in RequestSpec object
    
    RequestSpec is converted to OVO, thus need to add the
    'obj_make_compatible' to support backward compatibility.
    
    Change-Id: Ifbb5248e3ad5bad4b8fb6957156540cdf97babde
    
  - Merge "Switch kaminario to use standard trace decorator"
  - Merge "HPE3PAR: Modify host & clear zone after detach"
  - Merge "Improve cinder revert-to-snapshot notifications"
  - Tests: Rework volume deletion w/ invalid status test
    
    This test is testing a different error path than the
    name of the test implies.
    
    Rename it and remove a mock that was not triggered.
    
    Change-Id: I2127550ce5ba8c90436ee50b227d10d8a8b4103f
    
  - set vg_thin_pool_size to float type
    
    lvsize is type of str, we need a float type.
    
    Closes-Bug: #1715041
    Change-Id: Ic9720c649ccb1fbcf2f319c0cc422c54f0925aac
    
  - Merge "Remove deprecated keymgr code"
  - Added mount fstype based validation of Quobyte mounts
    
    The validation of Quobyte mounts is extended to validate based
    on a mounts file system type being set to "fuse.quobyte".
    
    Closes-Bug: #1730933
    
    Change-Id: I50430d67c2b9952d0b0c200920491c31f88a7ad7
    
  - Merge "Disco driver: Fix the location to get the disco connector constant"
  - HPE3PAR: Modify host & clear zone after detach
    
    Modify or remove wwn/iqn entries from 3par host, after
    vlun deletion. If multiple volumes (via FC and ISCSI)
    are exported to same host and FC/ISCSI volumes are
    detached subsequently, this fix would remove all
    WWN/IQN entries respectively from 3par host
    
    If the last FC volume is detached, then it will remove
    all zones from fabrics.
    
    Change-Id: If2419008f3f978a4d18f16d57ec6a03fef065d87
    Closes-Bug: #1730720
    
  - Use oslo_db.sqlalchemy.enginefacade
    
    EngineFacade is deprecated, so use oslo_db.sqlalchemy.enginefacade
    and update 'get_session' method to keep backward compatibility.
    
    Blueprint: use-oslodb-enginefacade
    Change-Id: Idae54a17567b558352031ecc573d83ab8b8f04b9
    
  - Merge "Optimizes volume creation in the Quobyte Driver"
  - Merge "VMware: Revert to snapshot"
  - Add .zuul.yaml with LIO job
    
    This replaces the legacy-tempest-dsvm-full-lio job.
    
    Skip tests that are currently failing.
    
    Change-Id: Ief6ff0771488417fc80a3ffe7505a0d478ec5eb6
    
  - Merge "HPE 3PAR: Adding driver capability"
  - Updated from global requirements
    
    Change-Id: I4a88d07b41f0a16c638de47945e074adbcf8dd5d
    
  - Unity: Remove redundant debug logging
    
    Remove cases where tracing decorated methods called tracing decorated
    methods that performed debug logging to reduce duplication of the
    same data in the logs.
    
    Change-Id: Idd34cf25b6d146cb1228a31ec738c09bb73588fb
    
  - Change default test log level
    
    Despite comments stating otherwise, we set our root logging level
    to DEBUG. This causes some unwanted things to be logged to the
    console and large test artifacts.
    
    There is also some suspicion that this is causing test failures
    with some kind of timing change with stestr causing subunit
    parsing failures.
    
    This changes the default level to be higher and fixes a few test
    cases that had expected the previous default.
    
    Change-Id: Ib7e45915898347549c12bc8276df556b272bb259
    Closes-bug: #1728640
    
  - Handle assertRaisesRegexp Python 3 deprecation
    
    In Python 3, assertRaisesRegexp has been deprecated in favor of
    assertRaisesRegex. This newer name is not available in Python 2
    though, so we can't just change over to the new name.
    
    To get rid of the deprecation messages in our py35 unit test runs,
    this adds an alias to our test base that just provides an alias
    rather than updating all locations in our tests that use this.
    
    Change-Id: I3cf8e29184a68a07d35fb121c816e40b89df393e
    
  - Switch kaminario to use standard trace decorator
    
    We have a standard debug tracing decorator in utils. We missed that
    Kaminario added their own version of the same thing. This removes that
    custom trace decorator in favor of our more standardized decorator.
    
    Change-Id: Ic118cfc943008e869893a229c5267d045a21b570
    
  - NetApp E-series: Fix provisioned_capacity_gb
    
    Currently, NetApp E-series drivers (iSCSI and FC) are incorrectly
    reporting the total physical used size as the provisioned_capacity_gb.
    This patch fixes the calculation of this attribute by summing the
    user-visible capacity of all the volumes present in the backend and
    reporting the result as the provisioning_capacity_gb.
    
    Change-Id: I1471ecfffe340dafb1c95bac5eaff79cde650955
    Closes-Bug: #1718739
    
  - Merge "Improve deleting-missing-backup exception handling"
  - Merge "create_volume: cleanup consistencygroup when driver exception"
  - Merge "Use oslo_log instead of logging"
  - Fix VolumeAttachment OVO Volume lazy loading
    
    Current code for VolumeAttachment OVO cannot lazy load the volume OVO
    correctly and will always return a VolumeNotFound exception.
    
    The reason for not being able to find the volume is that we are using
    the VolumeAttachment id to search for the volume instead of the volume's
    id.
    
    This patch fixes this by using field "volume_id" instead of field "id"
    when calling Volume's get_by_id method.
    
    TrivialFix
    
    Change-Id: Ibe02ca83a674c038ccec28cb104cc2af896426f9
    
  - Merge "Storwize: add backup snapshots support"
  - Use oslo_log instead of logging
    
    We missed a recent addition that used Python logging instead of oslo.log.
    This just changes the import to use the right logging module.
    
    Change-Id: I0a7af6e4b2f407df7d02e6a0348fbe48c8d0e21e
    
  - Remove deprecated keymgr code
    
    The keymgr code was deprecated for removal in Newton [1]
    and should now be removed.
    
    1. Ief8885bb4ca8d62b03cf1a52c25dd0e62c835bfe
    
    Change-Id: I87926d6c95ac82b6f74c263c7441614f80348c1e
    
  - VMAX doc - add manage and unmanage section
    
    Adding manage and unmanage section
    
    Change-Id: I11c0932c546d8edd0e6009c4e2668f50ac2008c1
    Closes-Bug: #1729013
    
  - HPE 3PAR: Adding driver capability
    
    Added 3par capability which can be used
    for setting properties of volume type.
    
    DocImpact
    
    Change-Id: I29eb8ccd1f6853b30f236fec46f06b446e6b87ae
    
  - Improve cinder revert-to-snapshot notifications
    
    The reverting were sending 'revert.end' message without a
    corresponding 'revert.start' notification if creating backup
    snapshot failed by an exception, so this patch fixes that.
    
    Closes-Bug:#1729793
    
    Change-Id: I2e7acb3f407dab2a8c82191e13d491cdc71d279c
    Signed-off-by: Xiaojun Liao <xiaojunliao85@gmail.com>
    
  - Merge "Update tenant to project in cli quota doc"
  - create_volume: cleanup consistencygroup when driver exception
    
    Creating a volume with group_id, if driver raises an exception,
    the volume status will always be “creating”.The status doesn’t
    update to “error” because “ObjectActionError: consistency group
    changed”
    This patch fixes the issue by invoking _cleanup_cg_in_volume
    when driver raises an exception.
    
    Change-Id: Ibbb077f66b41c359b50fff053aa183382c2cde14
    Closes-Bug: #1729215
    
  - Improve deleting-missing-backup exception handling
    
    When deleting missing backup, OSError could be checked to make
    sure that the actual error was that the file does not exist.
    
    Change-Id: I988370d702d87acde534670575d599159b48c58b
    Signed-off-by: Xiaojun Liao <xiaojunliao85@gmail.com>
    
  - Merge "VMware: Add profile ID to connection info"
  - Merge "ScaleIO - Cleanup and enhance configuration doc"
  - Merge "Fix incorrect use of assertFalse causing CI failed"
  - Merge "Make test logging setup fixture disable future setup"
  - Merge "imageutils: allow passing subformat when converting"
  - Merge "ScaleIO: adapt to moved connector constants"
  - Merge "Fix imageutils tests on windows"
  - Merge "HPE 3PAR: ISCSI/FC drivers – code refactoring"
  - Merge "Update setup instructions"
  - Merge "Schedule the request to scheduler when creating from snapshot/volume"
  - SMBFS: add fixed image support
    
    The SMBFS driver currently supports only dynamic vhd/x images.
    
    This change will allow configuring the driver to use fixed images
    using the 'nas_volume_prov_type' config option.
    
    Note that fixed images will always be zeroed out. We recommend
    placing the images on ReFS/SSD backed storage.
    
    Implements: blueprint smbfs-fixed-images
    
    Change-Id: Ic9e724fcda83fea384406f45f792f7a2d4b979bb
    
  - Merge "Remove unused print_function imports"
  - Merge "Tintri - Updated driver docs with new nfs option"
  - Merge "Fix api-ref for group snapshots API"
  - ScaleIO - Cleanup and enhance configuration doc
    
    Restructuring the configuration content for the ScaleIo driver
    and adding more information on how to specify a specific
    protection domain and storage pool in a volume type as well as
    providing examples of setting QOS specs.
    
    Change-Id: I5f4af36e7643b41b68ac438ce048559c15b6c5b8
    
  - Merge "ScaleIO: Update CI Wiki name"
  - Remove unused print_function imports
    
    This is not needed in these files.
    
    TrivialFix
    
    Change-Id: I970443c16028d4d3e6bed648c2e188fe65a158fa
    
  - Merge "Storwize: Fix typo in log message"
  - Schedule the request to scheduler when creating from snapshot/volume
    
    Pass the request to scheduler rather than volume service in
    order to check the backend's capacity.
    
    Change-Id: I970c10f9b50092b659fa2d88bd6a02f6c69899f2
    Partial-Implements: blueprint inspection-mechanism-for-capacity-limited-host
    
  - Merge "Use total reserved quota value instead of partial"
  - Optimizes volume creation in the Quobyte Driver
    
    This change takes two steps to optimize the creation
    of volumes with the Quobyte driver:
    1. It removes a superfluous create_volume call during creation of
    a new volume from an snapshot. This creation result is not used with
    Quobyte but subsequently overwritten by the following qemu-img convert
    operation.
    2. It changes the creation regular file based volumes. For
    regular files fallocate is used instead of writing the file via dd.
    
    Partial-Bug: #1715078
    
    Change-Id: I8a922f4a7a9e62658469ef31eb55c6d4b9ab8477
    
  - ScaleIO: Update CI Wiki name
    
    The ScaleIO CI Wiki has been renamed to account for the
    Dell EMC merger and accompanying branding changes.
    
    Change-Id: Ia0f426a257bbaf3c1512c716619fdaa646a9e19c
    
  - ScaleIO: adapt to moved connector constants
    
    os-brick moved the connector constants some time ago and
    as has now removed them from the legacy location. This change
    adapts the ScaleIO driver to the new location.
    
    Change-Id: I54f9da98f6c21655081ac838e1fba1f5bc1bedfb
    
  - imageutils: allow passing subformat when converting
    
    For some image formats (e.g. vhd, vhdx), qemu-img allows
    specifying image subformat options. This can be useful when
    requesting fixed size images.
    
    This change allows the imageutils convert function to accept
    an image subformat.
    
    This will be used by the SMBFS volume driver.
    
    Change-Id: I8706584e3abfb936072896d8c4902d82db32ab5f
    
  - Unity: Fix duplicate hosts created with same name
    
    In some circumstance, there is a race condition in querying/creating
    Unity host thus multiple hosts with same name were created.
    
    This issue stops any further attach/detach operation.
    
    This patch leverage the DSL in cinder to avoid above race condition.
    
    Change-Id: I3b775da8c5e862def54e9d44d7b157cf17a07a24
    Closes-bug: #1726284
    
  - Update setup instructions
    
    Add python3-dev instructions for Ubuntu16.04.
    Verified thos packages in new version and drop Ubuntu12.04 tag.
    
    Change-Id: I59849d0b5b1ec6636ad1e1af004277fcfa319473
    Close-Bug: #1659568
    
  - Make test logging setup fixture disable future setup
    
    Our logging fixture sets up logging in a way that we need to capture
    things during tests. However, some of our tests do things like call
    back into main functions, which then call logging setup again, and
    unwind everything we're doing (including debug message testing).
    
    This patches out oslo_log setup after the fixture runs, thus ignoring
    calls to it in the future.
    
    This change originally implemented in Nova with commit
    dc2f4f88ac8d7bcf904908b4683522cd6839ba70.
    
    Closes-bug: #1728640
    Change-Id: I3f95fd3b83d6b5c5801d3a16a3e73623ed49da29
    
  - XtremIO: extending volume in create_volume_from_snapshot
    
    In create_volume_from_snapshot, If the original volume is larger
    then the requested snapshot we extend the volume to the original
    size.
    
    Closes-Bug: #1560650
    Change-Id: I1a1c3a8ff3fb0196e8bffb9a4978e7368eeeacec
    
  - Use total reserved quota value instead of partial
    
    While reserving snapshot we reserve gigabytes too. In case of
    group snapshot we reserve the total gigabytes but in case of an
    exception we print just the last volume gb info which needs to be
    changed.
    
    Change-Id: Ibc8b1c5a967d05b3e52f992a1e76e74c9120e3f1
    Closes-Bug: 1728457
    
  - Tintri - Updated driver docs with new nfs option
    
    Tintri does not support NLM sideband protocol
    
    Change-Id: I07f027be20e02359df6726e401981f430614346b
    
  - Merge "VMAX driver - detach volume shouldn't remove from volume groups"
  - Fix imageutils tests on windows
    
    Some of the imageutils unit tests are currently failing on Windows.
    
    Two of them make assertions on arguments that are platform dependent
    while another one fails due to the fact that os.path.join cannot
    be used with mock objects on Windows.
    
    This change fixes those issues.
    
    Change-Id: Ieda734e49bdb45566f39f201004b2a3e0b1ba1eb
    
  - Fix api-ref for group snapshots API
    
    This patch mainly fixes the response parameters and examples for
    the show/list/create group snapshots APIs.
    
    Change-Id: If160ffdd7301337eac9353faffb72a9f069882c4
    
  - HPE 3PAR: ISCSI/FC drivers – code refactoring
    
    Issue:
    =====
    Redundant code was present for ISCSI and FC drivers with
    the potential to maintenance issues.
    
    Solution:
    =======
    Refactored code as below:
    1.Made common as a base class for existing ISCSI and FC drivers.
    2.Moved duplicate methods to the base class.
    3.Incorporated template method pattern wherever applicable.
    
    Change-Id: I5024642f8e3e6cd7d221dc3af367bba55fe56cf5
    
  - Merge "Switch base to the latest in doc link address"
  - Merge "Fix manage_existing API behaving wrongly with storage pools"
  - Storwize: Fix typo in log message
    
    A missing space here means the message reads as
    "theallotted".
    
    TrivialFix
    
    Change-Id: Ic3c3e622410a83e4c40a95f9012ca19651bd9d01
    
  - SMBFS: Enable reverting snapshots
    
    This is a trivial change that enables the "revert to snapshot"
    feature within the SMBFS volume driver.
    
    All the required logic is implemented in the RevertToSnapshotMixin
    class, so all we're doing now is inheriting it.
    
    Related-Blueprint: remotefs-revert-snapshot
    
    Change-Id: Ib4f35bd01613d1bd69127a8ba65fc9e3cff6d3ad
    
  - DS8K: update replication_status in generic group APIs
    
    In create_group and create_group_from_src, DS8K driver forgot to update
    replication_status of group and its volumes if their type have enabled
    replication, this patch tries to fix them.
    
    Change-Id: Ib3dbc781ed4710c5c2453e4454421f23997c4402
    Closes-Bug: 1727960
    
  - Disco driver: Fix the location to get the disco connector constant
    
    During the runs in our third-party CI, devstack cannot be build
    successfully because it cannot get the connector constant.
    It was at os_brick.initiator.connector but was moved to os_brick.initiator.
    
    This patch fixes this issue by updating the new location of the connector
    constant.
    
    Change-Id: I3b01b5ced6673eb83c1a73c6132fb6d23e0912b4
    Closes-Bug:1728511
    
  - Storwize: add backup snapshots support
    
    This patch adds backup snapshots support for Storwize/SVC driver.
    The change implements attach and detach snapshot:
    initialize_connection_snapshot
    terminate_connection_snapshot
    
    Implements: blueprint storwize-backup-snapshots
    
    Change-Id: I65393a6a5f995d609152d4b8546c055d7bf0b253
    
  - Merge "ibm-storage: Fix create_volume_from_snapshot"
  - Merge "Fix migate_volume API with replication_status ‘not-capable’"
  - Merge "Kaminario K2: Add non discovery iSCSI multipath"
  - Merge "[TrivialFix] Remove errant comma in capabilities policies"
  - Merge "Mark Cisco FC ZM driver as unsupported"
  - Merge "Vzstorage: improvement of create_cloned_volume"
  - Merge "Make service object UUID not nullable"
  - Merge "Dell EMC PS: Fix Duplicate ACL records Issue"
  - Merge "FlashSystem: Add CMMVC6045E CLI error for multi-host mapping"
  - Fix migate_volume API with replication_status ‘not-capable’
    
    When migrating a volume with replication_status = 'not-capable',
    migrate_volume api will reject it because 'not-capable' isn't in
    the replication_status expected list.
    This patch fixes the issue by adding ‘not-capable’ to the expected
    replication_status list.
    
    Change-Id: I6bcdbd8343cca237c5f85077273a8ea18c6f534d
    Closes-Bug: #1727248
    
  - Merge "Dell EMC: Update PS and SC CI wiki names"
  - Merge "Don't fail when deleting missing backup"
  - Merge "Support count info in List&Detail APIs"
  - Merge "Remove doc/build before running docs job"
  - Merge "Completely remove mox from Cinder unittest"
  - Merge "Fix scheduler_host_manager limitation"
  - Merge "NetApp ONTAP: Remove support for 7mode systems"
  - Merge "Tests: Fix coverage unit test failure"
  - Merge "Clean up driver configuration reference"
  - Make service object UUID not nullable
    
    Fix the UUID entry for the newly added service attribute and
    udpate the unit tests appropriately.
    
    This makes the UUID entry in the service object not nullable
    and fixes up the unit tests to work properly.  Also introduces
    a unit test specifically for the online migration api in the db.
    
    Closes-Bug: #1727091
    
    Change-Id: I17d3a873cfc8f056c2d31f6c8710489785998d3c
    
  - Don't fail when deleting missing backup
    
    The problem here is sometimes when the path doesn't exist and we
    try to delete it then exception occurs & breaks the flow. In this
    case it happens with the volume delete flow, wherein the exception
    occurs just before the quota commit & commit doesn't happen even
    though the backup volume got deleted, hence catching the exception
    just where it occurs.
    
    Change-Id: I8713f846b1e2e30b4bbc4af57645fdc04bcd8386
    Closes-Bug: 1726715
    
  - Merge "INFINIDAT: add support for overprovisioning"
  - ibm-storage: Fix create_volume_from_snapshot
    
    If a snapshot was created from a volume that is part of a generic group,
    then when calling "create_volume_from_snapshot", the exception
    SourceVolumeBadNameError is raised.
    This is a leftover from the days where there were no generic groups
    (Only consistency groups were exist)
    
    Change-Id: Iaae24a7de7171d9c1dc6197aa79b7d8ee87c0051
    Closes-Bug: #1724074
    
  - Merge "Add policy documentation and sample file"
  - Fix incorrect use of assertFalse causing CI failed
    
    assertFalse should not be used with non-boolean args.
    
    Change-Id: I65340b8538104a84b45c0be39d0e0baa4c7c433c
    
  - [TrivialFix] Remove errant comma in capabilities policies
    
    Currently, the initialization of CAPABILITIES_POLICY is supposed
    to be a string, but due to the comma at the end of the string literal
    the type of CAPABILITIES_POLICY is actually a tuple, which is a bug.
    
    Change-Id: I1d924da3504861f027273d3319e5cf6c485d1d37
    
  - Merge "Replace DbMigrationError with DBMigrationError"
  - Merge "Fix key_manager API call"
  - Tests: Fix coverage unit test failure
    
    This fixes a failure in "tox -e cover"
    due to a MagicMock being passed to dirname().
    
    Change-Id: Ia3d9cdecb2567ae40bc61d5d1f7c33b607d3fbad
    
  - Dell EMC: Update PS and SC CI wiki names
    
    Updated the new thrid party CI systems wiki names
    
    Change-Id: Ib255407f9bf384935b232e8aa3941c22e91eefef
    
  - Dell EMC PS: Fix Duplicate ACL records Issue
    
    Live migration was creating duplicate ACL records for the compute
    nodes. Fixed it by not creating one when an ACL exists during
    initialization of the volume.
    
    Closes Bug: #1726591
    
    Change-Id: Ib78293efa626c098a572f4c64119ee2ff296bd40
    
  - Completely remove mox from Cinder unittest
    
    This patch removes mox from the remaining unit tests and
    the base class.
    
    Change-Id: I94b32634396ab3acf19a70c6f3601edc67eedab1
    
  - Support count info in List&Detail APIs
    
    This patch adds support for display count info
    in volume, backup and snapshot's list&detail APIs
    since microversion 3.45, for instance:
    
    1. /v3/{project_id}/volumes?with_count=True
    2. /v3/{project_id}/volumes/detail?with_count=True
    
    Depends-On: 1c8fe0ade43da925c5b810ef0cd27817f1c11c7b
    Change-Id: I2e92b27c36357120fcf0ec5917c6484441c946a8
    Implements: bp add-amount-info-in-list-api
    
  - Remove doc/build before running docs job
    
    Clear doc/build directory before running docs job may better guarantee
    each building output the newest docs.
    
    Change-Id: I17537742a4c1421f2bd0561d2c48c5ae56d89026
    
  - Merge "Move 'zoning_mode' back to DEFAULT section"
  - VMware: Add profile ID to connection info
    
    The VMware Nova driver requires the volume's storage profile
    ID to associate the volume vmdk with the storage profile
    during volume attach. Passing the profile ID in connection
    info.
    
    Change-Id: I99f2eafbcedf93109c05766b5ceda508e0b16608
    
  - Merge "ScaleIO Driver - include snap usage in provisioned capacity"
  - VMware: Revert to snapshot
    
    Adding support for revert-to-snapshot for COW based snapshot
    in VMDK driver.
    
    Change-Id: I240d8d6f1745f9611855e6f6897697b5a0748ef9
    
  - VMware: Improve scalability of querying volumes
    
    Currently we query volumes in vCenter by name which is not scalable.
    Commit 6b9464e91840f6e006f537dcd3c0f656ae90a179 sets the backend
    volume ID to Cinder volume ID so that we can use vCenter SearchIndex
    API to query backend volumes by Cinder volume ID.
    
    This patch uses SearchIndex API to improve scalability. But this type
    of querying will not work for legacy volumes whose vCenter ID is not
    set to Cinder volume ID. To handle those volumes, we build a cache to
    map their names to vCenter references during driver setup.
    
    Closes-bug: #1600754
    Change-Id: I6b49c2590d0bd3946fa03dbac08ab4f778007111
    
  - Fix manage_existing API behaving wrongly with storage pools
    
    When the requested host specifies a pool, Cinder needs to
    validate that specified pool in the scheduler
    and assign the 'host' attribute appropriately.
    
    Closes-Bug: 1724958
    Change-Id: Ia0261e83171a1a13374b447303e3a61863fa22c2
    
  - Merge "Enable using extra-specs for SF attributes"
  - Merge "VMAX driver - Volume identifier issues"
  - Merge "Fix migration 112 to use live_data_migration API"
  - NetApp ONTAP: Remove support for 7mode systems
    
    The Unified Driver for NetApp Storage in Cinder
    supports two families of ONTAP, 7mode and Clustered
    Data ONTAP.
    
    ONTAP 7 is now officially nearing the end-of-life
    of product support. The deprecation notice [1]
    for these drivers in Cinder was issued in the Newton
    Release, so it is time to remove them from tree.
    
    [1] http://lists.openstack.org/pipermail/openstack-operators/2016-November/011957.html
    
    Implements: bp remove-netapp-7mode-drivers
    
    Change-Id: I129ca060a89275ffd56481b8f64367b0d803cff5
    
  - Fix key_manager API call
    
    If you pass importutils.import_class a string that is not actually a
    reference to a python class, you get an "empty module" error.
    Cinder's keymgr.API call used to try to import the castellan backend
    directly, but this was not necessary as the castellan key_manager.API
    call will return the correct backend based on the api_class or backend
    option in the config file. If no api_class or backend option is
    specified, castellan key_manager API call will return a barbican backend
    by default [1].
    
    Castellan used to require the full class name to specify the backend (i.e.
    api_class=castellan.key_manager.barbican_key_manager.BarbicanKeyManager),
    so the import_class call in cinder was no issue. Recently castellan
    was updated to use stevedore entry points and the config option name was changed
    to "backend" [2]. The change in castellan is backwards compatible so that if
    you use a full module name instead of the stevedore entry point name, it will
    still get the correct backend. However, the cinder code was not updated accordingly,
    so any time the shorthand stevedore entry point name for the backend is used
    instead of the full module name, the import_class call in cinder will fail.
    
    This change removes the unnecessary import_class call and adds an appropriate
    unit test that shows the "empty module" error does not occur anymore.
    
    1. b13187b34d/castellan/key_manager/__init__.py (L25)
    2. 8980bf7da5
    
    Closes-Bug: #1724952
    Change-Id: I3f95cfe439d65d9cf746d4e3844bc70bc705625e
    
  - Revert "Tests: Fail if oslo.versionedobjects issues Invalid UUID warnings"
    
    This is currently causing unit test failures since
    pymysql _show_warnings calls
        warnings.warn(err.Warning(*w[1:3]), stacklevel=4)
    and this code assumes that the warnings are strings.
    
    This reverts commit ed6d50bed642b01d005563866ab9f211632cff5b.
    
    Change-Id: I81dc6f1ac5855b21c10572797fd45a6b38641112
    
  - Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
    
    Change-Id: Id66b6bd9d1a26202f0473628976b6b7da8f9997f
    
  - Merge "Replace http with https for doc links in cinder"
  - INFINIDAT: add support for overprovisioning
    
    The driver reports max_over_subscription_ratio as defined by the user
    in the cinder configuration file, in addition to whether the volumes
    are thin-provisioned or not. This allows overprovisioning in
    thin-provisioned volumes in InfiniBox.
    
    Change-Id: I862ec2d06c169562aa8bbc95ab202cd5eb88440d
    
  - Clean up driver configuration reference
    
    Over the last few cycles we have removed drivers, but we did not always
    clean up the documentation from the openstack-manuals project. Those docs
    were moved over wholesale as part of the docs migration, so we ended up
    with them in the repo with no corresponding driver files.
    
    This removes those leftover docs and cleans up the generated documentation.
    
    Change-Id: Ib9fc4e14333548b84666e3f571e7b42fe20e0319
    
  - Fix migration 112 to use live_data_migration API
    
    In the 112 db migration I was being lazy and generating and
    updating the newly added UUID column.  I also didn't update
    the Service object (left that for the follow on patch).
    
    Turns out we're going to want/need the online_data_migration
    pieces for some follow up work and we might as well do this at
    least a little bit more efficiently/correctly now.
    
    This patch modifies the db migration to NOT try and populate
    the newly added UUID fields in the Service table, and it
    updates the Service object properly including adding the gen UUID
    components to service.create()
    
    This also fixes up what we had in place for the online_data_migration
    code in cmd/manage.py; note that we had a framework there/started but
    it wasn't being used up to this point.
    
    Change-Id: I6696a15cd2c8fbf851a59b8d6d60ae1981bb1b89
    Closes-Bug: #1721837
    
  - Merge "NEC driver: Never use target info in migration_status"
  - Enable using extra-specs for SF attributes
    
    There a number of use cases where it's desirable to do things with volumes
    out of band (ie not under Cinders control). One example is external backups
    without the use of c-backup.
    
    It's pretty simple to signify these sorts of things from Cinder through
    the use of extra-specs keys. For example, create a type 'daily-backup'
    with extra-specs 'SFAttribute:backup=daily' which may instruct some automation
    to query the SolidFire device for any volumes with the attribute
    "backup=daily" to be backed up on a daily schedule.
    
    These attributes are just metadata and can be used for anything.
    They don't effect Cinder's operation or change anything in how the volume behaves
    from Cinders perspective, but instead add additional information and signals for
    admins and automation outside of OpenStack/Cinder.
    
    The only requirement is the use of a key delimiter, in this case `SFAttribute`
    which instructs the scheduler to ignore the associated key for scheduling, and also
    is used as a sentinal for the SF driver to determine what to store in attributes.
    
    Change-Id: Ia02edfb6f30edfccb2bcdd41e8a3fdd7331cef5b
    Implements: blueprint enable-extraspec-keys-as-solidfire-attributes
    
  - Merge "DS8K: support clone volume asynchronously"
  - Merge "VMAX driver - concurrently deleting volumes can fail"
  - Add policy documentation and sample file
    
    This patch adds documentation and sample
    file for default policy in code feature.
    
    Change-Id: I597971a29ec61a1bf8c991b2715ec7644b2e2692
    Partial-Implements: blueprint policy-in-code
    
  - Merge "VNX: Fix issue when creating without type"
  - Merge "Generate create_at date in usage in isoformat for backups/snapshots"
  - ScaleIO Driver - include snap usage in provisioned capacity
    
    Provisioned capacity of storage pools was not correctly accounting
    for space used by snapshots.
    
    Change-Id: I945300cac84658bbd25182ba615645af881920f8
    Closes-Bug: #1724929
    
  - VMAX driver - Deprecate backend xml configuration
    
    The use of xml files for vmax backend configuration is deprecated.
    Configuration parameters should be set in cinder.conf for security and
    uniformity. The xml file can still be used but will not be supported after
    the queens release.
    
    Change-Id: Ic7fc1827608190ec47db30b1265bebde616b616b
    Implements: blueprint backend-xml-deprecation
    
  - VMAX driver - Remove workload for next gen arrays
    
    The next release of VMAX no longer has an option to set 'Workload' on a
    storage group. Currently, the VMAX driver expects a workload to be set
    when the user creates a VMAX volume type, which will cause an issue for
    users using the next gen VMAX arrays. This patch rectifies the issue.
    
    Change-Id: I8ad7fbdca5a2695734b118d60a29a71064ae9b0b
    Closes-Bug: 1717289
    
  - VMAX driver - Implement Tiramisu feature on VMAX
    
    In Tiramisu, a group construct is used to manage the group
    of volumes to be replicated together for the ease of management.
    This patch adds this support to the VMAX driver.
    
    Change-Id: I9fffa0c6dc3092f3230cfa5da1ea5f3ff1e3151b
    Implements: blueprint vmax-replication-group
    
  - Merge "Add Storwize replication group support"
  - Merge "Fix backup-import error when the deleted record in the same db"
  - Merge "[policy in code] Add support for volume, volume type resources"
  - Merge "DS8000 ConsistencyGroup failed to update group with volumes"
  - Merge "Remove the unnecessary pv_list assign during LVM object init"
  - Merge "Add index for reservations on (deleted, uuid)"
  - Merge "Revert "Move vol_db_empty to NFS driver""
  - Merge "ScaleIO Driver: Backup volume via snapshot"
  - Merge "Api-ref: Add missing api response for volume transfer"
  - Merge "Change Install 'Tutorials' to 'Guides'"
  - Merge "Redundant alias in import statement"
  - Merge "Add display_name to solidfire volume attributes"
  - Revert "Move vol_db_empty to NFS driver"
    
    This reverts commit 9b81659128f18239c682a407dcfc9766f0ad307d.
    
    This was purposefully done in the volume manager
    because otherwise it requires direct database access
    from the driver, which is something we are better off
    avoiding.
    
    Change-Id: I9072e80f4e2817e48b4b5dd23790b727b3d7e4e4
    
  - Change Install 'Tutorials' to 'Guides'
    
    It was decided by the documentation team that we should,
    for consistency, call our install documentation 'guides'.
    Our pages were listed as 'Tutorials'.  This change
    corrects the inconsistency.
    
    Change-Id: Id5d915064aa24a5b0c66364ecd618561ed18df9b
    
  - Add index for reservations on (deleted, uuid)
    
    The query for uuid_reservations currently does a full table scan.
    This adds an index so frequent invocations of uuid does not bog
    down the database.
    
    Change-Id: I149a9de82fc1003b88e0c0852a0b64634f0c622e
    Closes-Bug: #1540750
    
  - Redundant alias in import statement
    
    Change-Id: I8faa55ae7485363c982ce1622a06c05f63185d3b
    
  - RemoteFS: revert snapshot support
    
    This change implements the 'revert_to_snapshot' method at the remotefs
    base driver level in a generic way. This should work right away with
    most (if not all) remotefs based drivers.
    
    Note that we only consider the case in which the latest snapshot is
    being reverted (the Cinder API won't allow reverting volumes to other
    snapshots anyway, at least for the time being).
    
    The RemoteFS based drivers (e.g. NFS driver, SMB driver) use COW images
    (e.g. qcow2, differencing vhdx) in order to provide volume snapshot
    functionality. Reverting a volume to its latest snapshot is a trivial
    operation in this case and can be achived by simply cleaning up (e.g.
    recreating) the latest image from chain.
    
    In order to avoid breaking drivers, the 'revert_to_snapshot' method
    is implemented in a mixin that may be inherited by any RemoteFS based
    driver.
    
    Implements: blueprint remotefs-revert-snapshot
    
    Change-Id: Id66d3f0fe36cf7c32ef3875bf5fcb1c7a4678273
    
  - DS8K: support clone volume asynchronously
    
    when cloning volume in DS8K, driver doesn't need to wait until
    flashcopy finished in some cases, so this patch provides an option
    in volume metadata that can be used to tell driver to wait for
    flashcopy completed or not.
    
    Implements: blueprint ds8k-async-clone
    Change-Id: I51829e7667d3ac148978e1799cecfea1920f838f
    
  - Move 'zoning_mode' back to DEFAULT section
    
    We moved 'zoning_mode' option to 'backend_defaults'
    section since patch: [1]. But it has two issues:
    
    1. It can not work because we still fetch the value
    from the default section [2].
    2. From the view of our current design. It's only
    used in our framework code, which means it still can
    not work if we overwrite the default value in one
    specific backend section, such as:
    
    [backend_defaults]
    zoning_mode=fabric
    [lvmbackend_1]
    zoning_mode=other_value
    
    Move this option back to DEFAULT section until we
    need to.
    
    Closes-Bug: #1724418
    
    [1]: https://review.openstack.org/#/c/453654/
    [2]: https://github.com/openstack/cinder/blob/master/cinder/zonemanager/utils.py#L56
    
    Change-Id: I5b31082296f5bff5089d0f42a62d44bb009d177d
    
  - Merge "Fix "import xx as xx" grammer"
  - Merge "Add v3 api-ref for updating specific extra specs for a volume type"
  - Merge "Run backup compression on native thread"
  - Merge "Fix backup compression unit tests"
  - Add display_name to solidfire volume attributes
    
    This just adds another mapping to the SolidFire volume
    attributes during create.  We add a `cinder-name` key
    to the internal SolidFire volume attributes which has a
    value set to the cinder display_name attribute of the volume.
    
    In the case of a volume with no display_name we set the
    attribute value to an empty string.
    
    Change-Id: Idbfbf8be7ef34c134c7723891aba8b3baa2ab43a
    
  - FlashSystem: Add CMMVC6045E CLI error for multi-host mapping
    
    Add CMMVC6045E to list of CLI error codes indicating a multi-host
    map was attempted without the '-force' parameter. Re-raise on
    match failure to avert spurious success when an unexcepted CLI
    error is emitted. Add good and bad-path testing for multi-host
    map to test_flashsystem_map_vdisk_to_host
    
    Change-Id: I4b8d99966f387f51c1125ba72c1ce149229a8bc0
    Closes-Bug: #1723188
    
  - Merge "[policy in code] Add support for service, limits"
  - Merge "Make stringify header work under python2."
  - Add v3 api-ref for updating specific extra specs for a volume type
    
    This patch adds v3 api-ref for the following volume type API:
    Update specific extra specs assigned to a volume type.
    
    Change-Id: Ib8622870d53cbdc249aa465ce62ed45dea2b4089
    
  - Fix "import xx as xx" grammer
    
    This is to fix the redundant "import xx as xx" grammer.
    
    Change-Id: Iefbf22fa4fb09f946e475dff3a4444381bd8df97
    
  - NEC driver: Never use target info in migration_status
    
    NEC driver uses target info in migration_status at volume creation.
    The target info will be deleted from migration_status in future
    cinder version. This patch change the driver not to use target info
    in migration_status.
    
    Change-Id: I04b188d1300979b3b4b070781c6c2105f638b649
    Partial-Bug: #1706729
    
  - VMAX driver - detach volume shouldn't remove from volume groups
    
    Detaching a volume in VMAX removes the volume from all its current
    storage groups and returns it to its default storage group. This is not
    desired behaviour when the volume is a member of a generic volume group.
    The volume should only be removed from the storage group associated
    with the masking view related to the detach operation (or all masking
    views in the case of a force detach). This patch rectifies the issue.
    
    Change-Id: I065ffba9615af54998ae94a8d2d2fd3853f462cb
    Closes-Bug: 1721207
    
  - VMAX driver - Volume identifier issues
    
    When creating a VMAX volume through cinder, a 'volume_identifier' is
    set on the device on the backend. This takes the form 'OS-<cinderUUID>'.
    There are a couple of issues with how this is currently being done:
    1. When the VMAX driver retrieves the volume using the 'device_id' value
    saved in the provider location, it checks that the volume identifier
    matches OS-<cinderUUID>. However, the way this is currently being
    checked can cause an issue if the create volume operation ends up being
    retried in cinder - sometimes there can be two devices on the backend
    with the same volume identifier, and the code may not pick up the
    correct device.
    2. On a deallocate operation, the volume identifier is not being unset
    on the device. This patch rectifies these issues.
    
    Change-Id: I8218768216e87f6fdda1dd77dd09ca2ca46111c7
    Closes-Bug: 1717933
    
  - VMAX driver - concurrently deleting volumes can fail
    
    When concurrently deleting volumes, sometimes the task fails leaving
    the volume in an 'error_deleting' state. This only occurs when
    image_volume_cache_enabled is True because a temp snapvx session is
    created. This same issue also occurs when there is a batch delete
    of snapshots from the same source volume. The fix locks the delete
    snapvx session using the source DeviceID as key.
    
    Change-Id: I1f72a8567faa78fec447b9e0a6f948514b43a864
    Closes-Bug: #1714922
    
  - Replace http with https for doc links in cinder
    
    1) Update doc links according to OpenStack document migration
    2) Use https instead of http for docs links
    For example:
    (1)http://docs.openstack.org/admin-guide/blockstorage_nfs_backend.html
    ->https://docs.openstack.org/cinder/latest/admin/blockstorage-nfs-backend.html
    (2)http://docs.openstack.org/oslo.i18n/latest/user/index.html
    ->https://docs.openstack.org/oslo.i18n/latest/user/index.html
    (3)http://docs.openstack.org/ --> https://docs.openstack.org/
    (4)http://docs.openstack.org/admin-guide/blockstorage_multi_backend.html
    ->https://docs.openstack.org/cinder/latest/admin/blockstorage-multi-backend.html
    
    Change-Id: I7fcdc4453cb3bad713c7d770012411701cca742b
    Closes-Bug:#1710054
    
  - [policy in code] Add support for volume, volume type resources
    
    This patch adds policy in code support for volume
    and volume type resources.
    
    Change-Id: I47d11a2f6423a76ca053abf075791ed70ee84b07
    Partial-Implements: blueprint policy-in-code
    
  - DS8000 ConsistencyGroup failed to update group with volumes
    
    While adding a volume to ConsistencyGroup the failed with TypeError: sequence
    item 0: expected string, tuple found.  This could have happened if the driver
    did not find the specified LSS pairs matching that of the available volume
    pools.  The driver intended to throw an error message with available_lss_pairs
    but failed to concatinate the data to the error message with TypeError
    exception.
    
    The proposed fix attempts to address this issue by simplifying the
    concat of available_lss_pairs as string and then adding to error message.
    
    Closes-bug: #1722769
    
    Change-Id: I4c154b15991fd624d91bd3e3472d25c714fb8525
    
  - Merge "VMAX driver - documentation updates around versions"
  - Merge "Remove deprecated nova config options"
  - ScaleIO Driver: Backup volume via snapshot
    
    When a volume is in-use, the ScaleIO driver can achieve the backup of
    that volume through creating a temp snapshot, and then backing-up the
    snapshot.
    
    Change-Id: I6330cb1b6644de5f470b198f035933ff676c1bce
    
  - Run backup compression on native thread
    
    Backup data compression is a CPU bound operation that will not yield to
    other greenthreads, so given enough simultaneous backup operations they
    will lead to other threads' starvation.
    
    This is really problematic for DB connections, since starvation will
    lead to connections getting dropped with errors such as "Lost connection
    to MySQL server during query".
    
    Detailed information on why these connections get dropped can be found
    in comment "[31 Aug 2007 9:21] Magnus Blåudd" on this MySQL bug [1].
    
    These DB issues may result in backups unnecessary ending in an "error"
    state.
    
    This patch fixes this by moving the compression to a native thread so
    the cooperative multitasking in Cinder Backup can continue switching
    threads.
    
    [1] https://bugs.mysql.com/bug.php?id=28359
    
    Closes-Bug: #1692775
    Closes-Bug: #1719580
    Change-Id: I1946dc0ad9cb7a68072a39816fa9fa224c2eb6a5
    
  - Fix backup compression unit tests
    
    Cinder backup tests for compression were incorrectly testing the size of
    the compression data, instead of testing against the compressed data
    they were checking the tuple (algorithm, compressed_data).
    
    This patches fixes those tests.
    
    Change-Id: I02f79a1ccc1af29e1f843e94c0618c8e4962bdae
    
  - Make stringify header work under python2.
    
    This fixes the following issue appearing during
    cinder-manage db online_data_migrations.
    
    Change-Id: Ic47f04e06b886656c9a0f0f7a0494a10fef93e80
    Closes-Bug: #1723922
    
  - Api-ref: Add missing api response for volume transfer
    
    The volume transfer accept and create API missed the api response,
    this change is to add them for both V2 and V3.
    
    Closes-bug: #1723867
    Change-Id: I4f8005633ed1eb53ab08b3493cdc97d44103dafa
    
  - Merge "Switch from ostestr to stestr"
  - Merge "[policy in code] Add support for qos and quota resources"
  - Switch from ostestr to stestr
    
    This change just updates the tox.ini file to call stestr directly
    instead of going through ostestr.
    
    For more background you can read the ML posting:
        https://goo.gl/TFvcxy
    
    So now you won't need `--n` to run single tests, and you can also
    supply regex directly without even the `--`.  For example:
      `tox -epy27 $regex`
    
    Change-Id: I75d4ca19f87fe1930cf54b554b7e232632a4a21c
    
  - Merge "[policy in code] Add support for group, g-snapshot resources"
  - Merge "Add v3 api-ref for showing all/specific extra specs for a volume type"
  - Merge "Updated from global requirements"
  - Merge "Update configuration names in ITRI DISCO volume driver"
  - Merge "Switch Rally Task To format V2"
  - Add v3 api-ref for showing all/specific extra specs for a volume type
    
    This patch adds v3 api-ref for two APIs:
    1. Show all extra specs assigned to a volume type
    2. Show specific extra specs assigned to a volume type
    
    Change-Id: Id5771ee7e52748374ae6a3167116589273000297
    
  - Remove deprecated nova config options
    
    In Pike, the nova client converted to use the [nova] section.
    Remove the obsolete config options now.
    
    Change-Id: Ic112a68101c0dcb14da0db06c62ae190474a37d9
    
  - Switch Rally Task To format V2
    
    - Format V1 was deprecated
    - rally-jobs/cinder-fake.yaml is not used
    
    Change-Id: Idf69e0084334d25ccd73730428e36809573e2146
    
  - Merge "[policy in code] Add support for backup resource"
  - Update configuration names in ITRI DISCO volume driver
    
    This commit is to update and deprecate the name of some configuration
    names:
    
    * "san_api_port" is new config option added in san driver
    * "rest_ip" is marked as deprecated and will be replaced with "san_ip"
    * "disco_src_api_port" is marked as deprecated and will be replaced with
      "san_ssh_port"
    
    It also includes the changes in the unit tests.
    
    Change-Id: I4c24cd397f513648e2c2214fc4f87cf5367233ac
    Implements: blueprint disco-driver-update-option-name
    
  - Kaminario K2: Add non discovery iSCSI multipath
    
    Current Kaminario K2 driver only supports iSCSI multipathing using
    discovery (sendtargets), which in some cases may be undesirable, since a
    broken primary path could prevent an attachment.
    
    This code adds the possibility of not using discovery mode and return
    all connection information when `initialize_connection` is called, which
    should provide increased reliability.
    
    Change-Id: I7932b1d952844b49cfdb504ed0ba188b489d7f44
    
  - Merge "Add ability to specify backup driver via class name"
  - Fix backup-import error when the deleted record in the same db
    
    If we revive the deleted backup record, cinder-api will raise a
    DBDuplicateEntry error, this patch will allow user to import the deleted
    record either in the same db or not.
    
    Change-Id: I87a287f5db912e9aeaa401871178c49414098d06
    Closes-Bug: #1696361
    
  - Updated from global requirements
    
    Change-Id: I183ed48e3d66a45864a17bb9785745c64aefa626
    
  - FlashSystems: permit snapshot/clone volumes larger than source
    
    Permit clone volumes and volumes created from snapshots to
    be larger than their source volumes; implemented in response
    to failures in the following CI tests:
      * VolumesSnapshotTestJSON.test_volume_from_snapshot
      * VolumesCloneTest.test_create_from_volume
    
    Change-Id: I21511e5c4db62563c61815c1671e8bb44ad3f427
    Closes-Bug: #1560655
    
  - Deprecate SolidFire Image Caching feature
    
    We've had a general solution to image-caching in
    Cinder for a while now and it works well, so we
    can remove the SolidFire specific implementation
    in favor of using the general solution.
    
    https://docs.openstack.org/cinder/latest/\
    admin/blockstorage-image-volume-cache.html
    
    This patch marks the SolidFire config option
    as deprecated, and we'll remove the feature
    altogether in the next release.
    
    Change-Id: Iefc207955e4718a7d9c3b235b133a4c629977d03
    
  - Merge "Replace the usage of some aliases in tempest"
  - [policy in code] Add support for service, limits
    
    This patch adds policy in code support for capabilities,
    hosts, services, limits and depends on the quota patch [1].
    
    [1]: https://review.openstack.org/#/c/508091/
    
    Change-Id: Ib2bac2d28d950c0d8b734a54e300dd4185d98ca9
    Partial-Implements: blueprint policy-in-code
    
  - [policy in code] Add support for qos and quota resources
    
    This patch adds policy in code support for qos, quota,
    quota class resources and depends on the group&group
    snapshot patch.
    
    [1]: https://review.openstack.org/#/c/507812/
    
    Change-Id: Idf27d5fd09365374330ad0d4c0448f68f3cc03e8
    Partial-Implements: blueprint policy-in-code
    
  - Merge "Kaminario K2: Support duplicated FQDN in network"
  - Vzstorage: improvement of create_cloned_volume
    
    Prior to this patch Vzstorage driver left "tmp-snap-*.qemu_img_info"
    cache files, as _delete_snapshot from remotefs doesn't delete
    *.qemu_img_info files. If we rename create_snapshot in Vzstorage
    to _create_snapshot we 1) solve above problem
    2) don't have to use locking decorator
    
    We also rename _create_cloned_volume so as it complies with its
    specific usage only for ploop volumes
    
    Change-Id: I5215c58966713cac0242c1cdb6cb1df9c3a710b3
    
  - Merge "Add documentation for API 'validate_setup_for_nested_quota_use'"
  - Merge "Add .stestr.conf configuration"
  - [policy in code] Add support for group, g-snapshot resources
    
    This patch adds policy in code support for group&group
    snapshot resources and depends on the backup patch [1].
    
    [1]: https://review.openstack.org/#/c/507015/
    
    Change-Id: If95a8aaa70614902a06420d1afa487827f8a3f03
    Partial-Implements: blueprint policy-in-code
    
  - Add ability to specify backup driver via class name
    
    This patch also deprecates backup driver initialization using module
    name.
    
    Change-Id: Id6bee9e7d0da8ead224a04f86fe79ddfb5b286cf
    Related-Blueprint: generic-backup-implementation
    
  - Add documentation for API 'validate_setup_for_nested_quota_use'
    
    Documentation for API 'validate_setup_for_nested_quota_use' is
    missing. Fix it.
    
    Change-Id: Ica3d468856bad045c2bdd30a0f86924cc0aeb572
    
  - Merge "ScaleIO Driver - adding cache and refactoring tests"
  - [policy in code] Add support for backup resource
    
    This patch adds policy in code support for backup
    resources and depends on the basic patch [1].
    
    [1]: https://review.openstack.org/#/c/506976/
    
    Change-Id: I9a79b5ececc587e80129cc980930e168e805b139
    Partial-Implements: blueprint policy-in-code
    
  - Merge "NEC driver: Fix exception in terminate_connection with no connector"
  - Merge "Add v3 api-ref for deleting extra spec for a volume type"
  - Merge "[policy in code] Add support for snapshot resource"
  - Merge "ibm-storage: enable FC zonning to all ports"
  - Merge "Remove Hitachi volume drivers"
  - VMAX driver - documentation updates around versions
    
    Correct the minimum versions for Solutions Enabler and Unisphere.
    Add QoS to the list of supported operations.
    
    Change-Id: Ief648a8a464d1bd6f463774d48438441ae9502e2
    Closes-Bug: #1722497
    
  - Add Storwize replication group support
    
    This patch adds consistent replication group support for
    Storwize/SVC driver.
    
    Supported operations:
    * Create replication consistency group
    * Add volume to existing replication consistency group
    * Adjust existing replication consistency group
    * Enable replication on group
    * Disable replication on group
    * Fail over replication group back and forth
    
    DocImpact Implements: blueprint replication-cg-svc
    
    Change-Id: Id8d886feca938e99df14c35b17826b24d7c2b584
    
  - VNX: Fix issue when creating without type
    
    When creating a volume without type, a error will be thrown:
    
    AttributeError: 'NoneType' object has no attribute 'qos_specs'
    
    This issue was introduced in qos patch:
    https://review.openstack.org/#/c/441786/
    
    Change-Id: I861d61dd11f982a8a54b57b6a6c895e6ebe399c0
    Closes-bug: #1720063
    
  - Remove deprecated VD base classes which are not used now
    
    Change-Id: I171022c0af01f4216c30630be7487f6f53d5fbca
    
  - Merge "Remove reserving quotas in c-vol's retype method"
  - Kaminario K2: Support duplicated FQDN in network
    
    The Kaminario K2 driver uses the FQDN of the node that is doing the
    attach as an unique identifier to map the volume.
    
    The problem is that the FQDN is not always unique, there are
    environments where the same FQDN can be found in different systems, and
    in those cases if both try to attach volumes the second system will
    fail.
    
    One example of this happening would be on a QA environment where you are
    creating VMs and they all have names like controller-0.localdomain and
    compute-0.localdomain.
    
    This patch adds a configuration option to the K2 driver called
    `unique_fqdn_network` to support these kind of environments.
    
    Closes-Bug: #1720147
    Change-Id: I2099b804a2043078e50a5a9e14c1497861576f61
    
  - NEC driver: Fix exception in terminate_connection with no connector
    
    NEC driver required the connector object not be None.
    This patch allows for the connector to be None by force detach.
    
    Change-Id: Ib83edf85d086305341f94f6810fcdecb21fc7937
    Closes-Bug: #1721461
    
  - Merge "Remove API check is_valid_body"
  - [policy in code] Add support for snapshot resource
    
    This patch adds policy in code support for snapshot
    resources and depends on the basic patch [1].
    
    [1]: https://review.openstack.org/#/c/506976/
    
    Change-Id: I8e1b544f510c1a0af30a5a0b672578226c9fd315
    Partial-Implements: blueprint policy-in-code
    
  - Add v3 api-ref for deleting extra spec for a volume type
    
    This patch adds v3 api-ref for the API: delete a specific extra spec
    for a volume type.
    
    Change-Id: I9b0c1527247aaebe7dc1acc71a376cb41108ee69
    
  - Merge "Delete limited_by_marker from api/common.py"
  - Merge "Do not load extendable routes for the Versions router"
  - Merge "Remove newton-compat upgrade code on service startup"
  - Switch base to the latest in doc link address
    
    Although we had some effort to fix these before, it still left lots
    of outdated link address, this patch is to fix them all.
    
    Change-Id: I2f9ee172306bf5a99575e0cb6f5eac0ea87b0483
    
  - Replace the usage of some aliases in tempest
    
    In tempest, following aliases have been moved in version Pike
    and will be removed in version Queens:ad
    * manager > os_primary [1]
    * admin_manager > os_admin [2]
    * os_adm > os_admin [3]
    * os > os_primary [4]
    * alt_manager > os_alt [5]
    
    [1] https://review.openstack.org/#/c/468036/
    [2] https://review.openstack.org/#/c/467852/
    [3] https://review.openstack.org/#/c/467605/
    [4] https://review.openstack.org/#/c/466991/
    [5] https://review.openstack.org/#/c/457555/
    
    Change-Id: Ie3b93dd2cf457a5cb42a53eadc9f9fd5cec1f118
    
  - Update tenant to project in cli quota doc
    
    Replace tenant with project and keep the descriptions consistent
    
    Change-Id: I0aaf2775d3fe1d54e64be3616a0a528e452cfa50
    
  - ScaleIO Driver - adding cache and refactoring tests
    
    Changing static lists to a simple cache.
    Refactoring some of the unit tests to simplify maintenance.
    
    Related-Bug: #1699573
    
    Change-Id: Idff127801da9e286a6b634594e5577eeb9782571
    
  - Remove API check is_valid_body
    
    This boolean check was kept around for compatibility for the v1
    API. New APIs use (or should use) the assert_valid_body call that
    throws a valid exception for missing body elements.
    
    Now that the v1 API has been removed, this removes is_valid_body
    and makes sure all remaining instances to the assert call.
    
    Change-Id: I93d5610013c17c5344de27d7f3ed5d5b89ba83ee
    
  - Add .stestr.conf configuration
    
    os-testr has moved over to use stestr instead of testr. While this
    is usually compaible with existing settings, there is a warning
    that is emitted when .stestr.conf is not present. It is usually
    able to fall back to parsing the .testr.conf file, but to be more
    correct and to prevent future problems we should update the config.
    
    Change-Id: I11e43cff87cad20b9c880e276e20a04123f830fb
    
  - Merge "Dell EMC PS: Fix extend volume creating unmanaged snapsots"
  - Do not load extendable routes for the Versions router
    
    The Versions router is implicitly spending time loading
    up extension routes on startup which is unnecessary since
    the Versions router only cares about handling requests to
    "/" on the base endpoint.
    
    Change-Id: I7452bb2952459dca8cf0baf39fa76e0e39ad2ffd
    Partial-Bug: #1722326
    
  - Remove newton-compat upgrade code on service startup
    
    This upgrade compat check code was marked for removal
    in Ocata. Since we're now in Queens, and this is burning
    time on every service start, let's remove it.
    
    Change-Id: I8528752630276bd6e2348f27721238115de504cd
    Related-Bug: #1722326
    
  - Remove Hitachi volume drivers
    
    Hitachi has decided to provide their drivers out of tree [1]. The
    drivers were marked as unsupported in-tree in the Pike release and
    are now being removed.
    
    [1] http://lists.openstack.org/pipermail/openstack/2017-March/018812.html
    
    Change-Id: I23867aa98f68298beb5db4558c66c1ffd4e7d6f1
    Closes-bug: #1652864
    Closes-bug: #1671966
    Closes-bug: #1677688
    Closes-bug: #1677923
    Closes-bug: #1645738
    
  - Merge "Remove Tegile volume driver"
  - Merge "Brocade: Add HTTP connection cleanup"
  - Remove Tegile volume driver
    
    This driver was marked as deprecated and unsupported in Pike due to lack
    of CI. This has not change and it will now be removed.
    
    Change-Id: I1920f905fdf83b01840e86646dc948fd3a113536
    
  - Merge "Remove ZTE volume driver"
  - Merge "ibm_storage - fix enable replication after disable"
  - Merge "[policy in code] Add support for message, worker, cluster resources"
  - Merge "Dell EMC PS: Optimize parsing of capacity info from backend"
  - Merge "Storwize: add NPIV support"
  - Merge "Fix v3 api-ref for updating extra specs of volume type"
  - Merge "Add backups v3 views"
  - Merge "Don't collect snapshots again when sync provider info"
  - Merge "[policy in code] Add support for attachment resource"
  - Remove ZTE volume driver
    
    This driver was marked as deprecated and unsupported in Pike due to lack
    of CI. This has not changed and it is now being removed.
    
    Change-Id: I39a450159becb4d32b63e6073c3fcd6f08bd93a3
    
  - Remove X-IO volume driver
    
    This driver was marked deprecated and unsupported in Pike due to lack of
    CI. This has not changed and it is now removed.
    
    Change-Id: I475172f16784ab9cab2194589851ec7ce01d46a7
    
  - Remove Violin volume drivers
    
    These drivers were marked as deprecated and unsupported in Pike due to
    lack of CI. This has not changed and they will now be removed.
    
    Change-Id: I935990d09f1374a8789b2a0dad8e8a334aa39abc
    
  - Merge "Add retries to LVM logical volume activation"
  - Merge "Add ploop to parallels naming conversion"
  - Merge "Update BlockBox"
  - Merge "Fix tempest test revet_client typo"
  - Add retries to LVM logical volume activation
    
    We are running into failures activating snapshots where the syslog shows
    the output "thin: Unable to activate thin device while pool is suspended"
    when attempting to use quickly after creation. This appears to be a race
    where there are still internal things being done after the snapshot is
    created.
    
    This is a bit of a punt, but with local testing the thin pool state either
    does not visibily change or transitions so fast that it is hard to capture
    the state transition in the vgdisplay. Since we know this operations works
    most of the time, it would seem we are just giving up before the pool gets
    back into the right state to do this activation.
    
    Rather than trying to get the thin pool state and parse the output of the
    command, just adding retries to the operation that back off between each
    attempt. Based on what we've seen with successful runs, this should allow
    it to fail while the pool is in this transitional state and attempt again
    later when hopefully things have settled.
    
    Change-Id: I3e7037b3571665251db8dee2cf22cab1297106c9
    Closes-bug: #1642111
    
  - Remove Reduxio volume driver
    
    This driver was marked as deprecated and unsupported in Pike due to
    lack of CI. This has not changed and it is now being removed.
    
    Change-Id: I463a490637e31745bd92bb048bc798a66bd260c7
    
  - Merge "Doc: Configuration: Remove some outdated Ceph info"
  - Merge "docs: Fix typo error in blockstorage-driver-filter-weighing.rst"
  - Merge "Dell EMC PS: Fix over-subscription ratio stats"
  - Remove QNAP volume driver
    
    The QNAP driver was marked as deprecated and unsupported in Pike due
    to not meeting CI requirements. This situation has not changed and
    it will now be removed.
    
    Change-Id: I29a874ebe0ebaeca58b428faa0bab50482baf6f1
    
  - Merge "Remove Infortrend drivers"
  - Merge "Add uuid to services entries"
  - Merge "Address importing directory issue"
  - Merge "Cleanup some todo's for refresh()"
  - Merge "Update provider parameter in sample json files"
  - Merge "Remove deprecated osapi_volume_base_URL"
  - Merge "Remove deprecated heartbeat options"
  - Merge "NetApp ONTAP: Fix reporting of provisioned_capacity_gb"
  - Merge "VMAX driver - remove WLP stats"
  - Merge "Fix Tempest Volume Revert test"
  - Merge "Clean up docs landing page"
  - Merge "Doc: Move generalized_filters to admin"
  - Cleanup some todo's for refresh()
    
    There were some TODO tags in the code to switch to using object refresh()
    calls once that was available. We have that now, so clean up and switch a
    few instances to call refresh instead of fetching a new object.
    
    Change-Id: I7d7c4f7d9f9cc94d9ef4e0d5d430513cb3581f16
    
  - Merge "Remove legacy driver name mappings"
  - Update BlockBox
    
    There have been a number of changes to LOCI since the introduction
    of BlockBox.  In particular LOCI now offers a `universal` Dockerfile
    and employees bindeps and new ARGS features of Docker to customize
    images.
    
    This patch modifies BlockBox to use the new universal LOCI repo and
    also cleans up a bunch of cruft and adds an updated conf entry with
    key-manager.
    
    This patch also removes the dev environment as it's out dated and
    doesn't seem to be gaining much usage.  It's easy enough to set
    this up on your own, so rather than maintain it just remove it.
    
    Change-Id: Id03ff9310fd53c4e6df300f2866b7a17cba82561
    
  - Brocade: Add HTTP connection cleanup
    
    Method for get device mapping opens
    connection to the switch but does not
    close the connection.  Add finally
    block to close the session.
    
    Closes Bug: #1718762
    
    Change-Id: Ic4c7fd66858039db3f9d09a0babd5601b25a95e3
    
  - Remove Infortrend drivers
    
    The Infortrend drivers were marked as deprecated and unsupported in Pike
    due to lack of CI. This situation has not changed and they will now be
    removed.
    
    Change-Id: I0f1d12776cfa553b117c5b3698b2ae0c9c88735e
    
  - VMAX driver - remove WLP stats
    
    Workload Planner(WLP) headroom calculations are not always accurate
    for All Flash arrays. Because WLP is generally always enabled on
    Unisphere, it is best use SRP calculations instead.
    
    Change-Id: Id5e59fce2ea5958bfcd4fbadb609f8f6cad42aa8
    Closes-Bug: #1714503
    
  - Merge "Create custom assertTrue and assertFalse"
  - Merge "Stop overriding LVM overprovisioning ratio and deprecate"
  - Merge "Compact Newton database migrations"
  - Merge "Clear cached autogenerated docs before docs build"
  - Merge "Remove Glance v1 API support"
  - Merge "Remove FalconStor volume drivers"
  - Remove deprecated heartbeat options
    
    Cluster locking heartbeat options were marked deprecated in
    42dafd2705a8cb4346c396376977c705e55d9e7c with the move to using
    the tooz built in hearbeating. These options are now removed.
    
    Note, in the release note for the deprecation we actually stated
    these options were removed, not deprecated, so this patch does
    not include an additional release note pointing this out.
    
    Change-Id: Iae30e9263044a7ef04fbe5b826cfcc7aa41add5a
    
  - Dell EMC PS: Fix extend volume creating unmanaged snapsots
    
    The Dell EMC PS driver's extend volume code is missing the
    no-snap option and creates unmanaged snapshots in the background.
    Added that option to fix it.
    
    Closes Bug: #1720454
    
    Change-Id: I48398331fe086760a88bd5ca4c0f28f90e22bd0b
    
  - Remove deprecated osapi_volume_base_URL
    
    This config option was basically the same as public_endpoint and was
    deprecated in Pike in favor of using that option instead. This now
    removes it completely.
    
    Change-Id: I405a404add187ba62357e541dfa1e8b39703ba18
    
  - Clean up docs landing page
    
    Reorganizes and cleans up the docs landing page so viewers eyes don't
    immediately start bleeding. Also tries to simplify things and put them
    in a more logical and consumable order.
    
    Change-Id: I1c3ee6ad21bd27a5ef7f6691ddd8dde25e9c4c01
    
  - Dell EMC PS: Optimize parsing of capacity info from backend
    
    The backend api returns large amounts of information and
    times out when there are lots of volumes. Accelerated the
    process by terminating the parsing after the capacity info
    is retrieved.
    
    Closes Bug: #1661154
    
    Change-Id: I1f0adaa8e25cd3ec74084b22bbe1573b92713959
    
  - Dell EMC PS: Fix over-subscription ratio stats
    
    Fixed the provisioned_capacity_gb to use the VolumeReportedSpace
    to calculate the over-subscription ratio stats in the Dell EMC
    PS volume driver.
    
    Closes Bug: #1719659
    
    Change-Id: I2caa5f2763ec343b0bc875e707924ff9b6424ce5
    
  - Doc: Move generalized_filters to admin
    
    This is not a man page, so move it to the admin dir
    instead of "man".
    
    Change-Id: I6d128a5bc30b8d9ac1a0b7a200088b39a1777b05
    
  - Doc: Configuration: Remove some outdated Ceph info
    
    A few small cleanups:
      - Remove irrelevant text about linux kernel
      - Remove recommendations about file systems
      - Remove outdated note about config option
    
    Closes-Bug: #1716991
    Change-Id: I0c1593a72473f0db5fb8b5e4d436fee4c9f5c62a
    
  - Add ploop to parallels naming conversion
    
    It worked silently until src_format was started
    to be passed to convert_image in
    I4071927c491870626fe174b75ecaf8ef6da39cf5
    
    Now we should also have ploop-to-parallels mapping
    as in upload_volume.
    Also, place all conversions to a single structure.
    
    Change-Id: I8ad66a625f12cc48e1daec51e9f8abe6ae8932d6
    
  - Generate create_at date in usage in isoformat for backups/snapshots
    
    Change the format of the dates when generating notifications
    for snapshots and backups. This was generating a format problem
    when inserting events into Elasticsearch via Panko, due to an invalid
    format (YYYY-MM-DD HH:mm:ssZ to YYYY-MM-DDTHH:mm:ssZ)
    
    Change-Id: I651699e42c28c05fc8fd71cfeef54d98839c1a29
    
  - Add uuid to services entries
    
    Our services ID column is still just an integer and that's *ok* for the
    most part.  There are things that it would be nice to advertise a
    more meaningful and unique identifier to the users of services though.
    
    This change adds an indexable UUID column to the services, this will
    be useful for things like identifying backends without leaking
    details to end users.
    
    Change-Id: I67e52c6a8634b74bf5975290298d6fbcadc7dd50
    
  - Fix tempest test revet_client typo
    
    TrivialFix
    
    Change-Id: Ib4a0c50f699edb1cc2ea669ac711eb2f537be417
    
  - Fix Tempest Volume Revert test
    
    When we stopped using magic strings for the microversions in Cinder on
    change Ib3a80fee6caaabb49af097aa197f550c65d94985 we broke the Volume
    Revert Tempest test because we started sending requests to do the revert
    with API microversion 3.0 and the minimum version is 3.40.
    
    This patch fixes it.
    
    Closes-bug: 1720855
    Change-Id: Ib85411c7f6f5cc9ad33e41f1aba18021703e4913
    
  - Fix Reset a snapshot's status API Request Example
    
    Reset a snapshot's status API Request Example was syntax error with comma, so
    remove comma to syntax correct.
    
    Change-Id: I8b2c249aaf0f9729bc35b80ecd6cd28bb34835c0
    Close-bug: #1720487
    
  - Replace DbMigrationError with DBMigrationError
    
    DbMigrationError is deprecated and will NOT be thrown in oslo.db
    since oslo.db >=4.27.0, DBMigrationError will be thrown instead.
    Consumers should catch DBMigrationError instead of DbMigrationError
    
    Depends-On: Iab0566cf9f4552e91fa417e64472fa106e8bc86d
    Depends-On: I0ebd69c3d778acb5bec9e136627e345e7fcf2bd3
    
    Change-Id: Ibb2f105c58252adb7dfe4f1a7d6643410ac031b3
    
  - Fix description for volume_type object in API Ref
    
    Volume_type is a object containing all information
    about volume_type but its definition is wrong on
    API-ref side
    - http://developer.openstack.org/api-ref/block-storage/v2/#volume-types-types
    
    This commit correct that to understand the API clearly.
    
    Change-Id: I3384ad2f01917d71b3dfab46ef21d7e5c44cc904
    Closes-bug: 1659443
    
  - Mark Cisco FC ZM driver as unsupported
    
    The Cisco Fibre Channel Zone Manager CI has not run
    successfully during the required period:
    
    Checking name: Cisco CI
      first seen: 2017-02-14 06:07:46 (226 days, 11:04:34 old)
      last seen: 2017-03-03 16:52:40 (209 days, 0:19:40 old)
      last success: 2017-02-23 17:09:46 (217 days, 0:02:34 old)
      Job cisco_zm_cinder 48% success out of 250 comments S=122, F=128
          last success: 2017-02-23 17:09:46 (217 days, 0:02:34 old)
    
    Per Cinder's non-compliance policy, this patch marks the driver
    as unsupported and deprecated.  The driver will be removed in
    the next cycle if the problem is not corrected.
    
    Change-Id: I008cd9089568c5ba084f9c1dacb1ab6e47fc7362
    
  - Fix v3 api-ref for updating extra specs of volume type
    
    In v3 api-ref for updating extra specs of volume type, the request and
    response contents are wrongly described, and also the HTTP method and
    URL are not correct. This patch addes new api-ref for it.
    
    Change-Id: I4263c25a0638a68d0d102c7966ebb77604c019fc
    
  - Merge "Add indexes to SQLAlchemy models"
  - Add backups v3 views
    
    This patch adds v3 views to backups and moves the metadata feature
    (min_version: 3.43) to backups v3 views, to avoid modifying the base
    viewbuilder class of backups. Also adds unit test for showing backup
    metadata.
    
    Change-Id: I884aebf76a67b215bb37ebe4b9a384d14abb315c
    
  - Storwize: add NPIV support
    
    The Storwize/svc release 7.7.0.0 introduced an NPIV feature,
    which when enabled provides for both virtual and physical wwpns.
    The patch enables the storwize cinder driver to make use of the
    virtual and physical wwpns that have been enabled for I/O
    operations.
    
    Change-Id: I673b43f9ebe335ced4981af6c53b320a886438c8
    Closes-Bug: #1715275
    
  - Address importing directory issue
    
    The import warning[1] occurs because the file 'config.py' and directory
    'config/' exist simultaneously. The fact is that file __init__.py[2] is
    actually there and it just resulted from naming conflict. This patch
    gives an approach by renaming 'config.py' to address the issue.
    
    [1]http://logs.openstack.org/76/506976/8/check/gate-tempest-dsvm-full-devstack-plugin-ceph-ubuntu-xenial/a958f56/console.html#_2017-09-26_03_56_54_125829
    [2]https://github.com/openstack/cinder/blob/master/cinder/tests/tempest/__init__.py
    
    Change-Id: Ia3fe38c7b2262eeac81bcec2b9378bf641ec6929
    
  - Merge "Clean up api-ref index page"
  - Merge "Api-ref: change 'tenant' to 'project' in v2 doc"
  - Stop overriding LVM overprovisioning ratio and deprecate
    
    The LVM driver has its own config option for managing overprovisioning
    separate from our common overprovisioning ratio. It default to 1,
    causing it to always override the common default.
    
    This changes the LVM default to None so it does not override the common
    setting and marks this config option as deprecated to be removed in
    Rocky.
    
    Change-Id: Ib90cdb1f60741284ea171d1a84ad74beac43c7d3
    Closes-bug: #1720004
    
  - Clean up api-ref index page
    
    We had an extra section that had a useless index link and a link
    to the search page. To make search easier to find, moved that up
    to the top and got rid of the index link.
    
    Change-Id: I65d7a8930b7bb7db2f994fc615ff621956397e83
    
  - Update provider parameter in sample json files
    
    In the sample json files, some examples of the provider value were
    wrong and showed a key manager class instead of an encryptor name.
    Other samples showed the legacy encryptor classes where the newer
    os-brick encryptor shorthand names should be used instead.
    I3eec91e221692177833909e0378116cea4966807 removes support for the
    legacy provider class names, so it is important that the samples
    reflect the updated shorthand names.
    
    Change-Id: I1c3879a5d12a8c9802deeac1c6e24b57310588d5
    
  - Merge "Fix api-ref for reset group snapshot"
  - NetApp ONTAP: Fix reporting of provisioned_capacity_gb
    
    The ONTAP drivers in Cinder ("7mode" and "cmode") cannot
    reliably and efficiently track provisioned_capacity_gb as expected
    by the Cinder scheduler.
    
    The driver authors originally assumed that provisioned_capacity_gb
    is consumed space on the backend. This results in miscalculation of
    over subscription in the Cinder scheduler.
    
    The fix adopted here is to remove this wrong reporting and rely on
    calculation of the provisioned_capacity_gb in the scheduler.
    
    Change-Id: Ic106dbcae8ceaac265b710756ab1874e445ca826
    Closes-Bug: #1714209
    
  - Fix api-ref for reset group snapshot
    
    reset-group-snalshot api-ref not correct for 'status' attribute.
    That is mentioned as optional for request.
    'status' in API request is mandatory attribute.
    
    Also 'project_id' is mentioned as body element instead of path.
    
    Those are confusing while implementing tests for this API
     - https://review.openstack.org/#/c/495735/
    https://developer.openstack.org/api-ref/block-storage/v3/#reset-group-snapshot-status
    Closes-Bug: #1719930
    
    Change-Id: Id2016f86d0eae60d96df7a12eda1bbec9d1129a8
    
  - Remove legacy driver name mappings
    
    We have a mechanism to allow loading the correct volume driver even
    if the driver was renamed or moved but the deployment did not update
    their config to the new location. This removed driver mappings that
    have been changed over two releases.
    
    Change-Id: I943f54c9225c7969122b9686bf90ab3583cac83a
    
  - Api-ref: change 'tenant' to 'project' in v2 doc
    
    Since 'tenant' is the old term, all things should now refer to 'project'.
    
    Change-Id: I3a255df758583a3c4301041c8ebffb90b8263fef
    
  - Merge "3PAR: Cinder volume revert to snapshot support"
  - [policy in code] Add support for message, worker, cluster resources
    
    This patch adds policy in code support for message, worker
    and cluster resources and depends on the basic patch [1].
    
    [1]: https://review.openstack.org/#/c/506976/
    
    Change-Id: I04c0b79175c69d25ca6fcb50ec604123f3f09933
    Partial-Implements: blueprint policy-in-code
    
  - Merge "[DOC] Update index page for Install tutorial"
  - Merge "nimble: fix for parent volume delete"
  - Merge "Updated from global requirements"
  - 3PAR: Cinder volume revert to snapshot support
    
    This commit implements reverting volume to a snapshot
    when backend_storage is 3PAR
    
    Change-Id: Ib89e68df8b93724e6042fa535139bd86fd232d92
    
  - Compact Newton database migrations
    
    This compacts all database migrations up to Newton into one
    intial schema to remove the need to apply every database
    change along the way.
    
    Change-Id: I7b5833296292df2e6cc7d8d9306115e590fff25a
    
  - Add indexes to SQLAlchemy models
    
    We've added several index to tables, but we have not always updated
    that in the models. This should be defined there to help with
    optimal querying.
    
    Change-Id: Ia0f7587f568af1fc41d3bf1dbffca300f12474ca
    
  - Merge "Api-ref: fix v2/v3 hosts extension api doc"
  - Updated from global requirements
    
    Change-Id: I3a1bd8a1789e1b27ecc63c553fe83fa965d9d38b
    
  - [policy in code] Add support for attachment resource
    
    This is the basic patch which consits of the framework
    code for default policy in code feature as well as
    support in attachment resource.
    
    Change-Id: Ie3ff068e61ea8e0e8fff78deb732e183e036a10c
    Partial-Implements: blueprint policy-in-code
    
  - Api-ref: fix v2/v3 hosts extension api doc
    
    Supplement error response codes and fix parameters problem.
    
    Change-Id: Ia24c6980f437ab6838d64c345bc9c10a100762e1
    Closes-Bug: #1715286
    
  - Merge "Check for outstanding attachments during reserve"
  - Merge "[DOC] Remove duplicate build of module index"
  - nimble: fix for parent volume delete
    
    currently we make the volume in error state if it has dependent
    clones. Try to delete the volume and if it has dependent clones
    then catch the exception and online the volume and keep it available
    
    Change-Id: I0ba8f43f14f5f4bf318f00b916b787ecc9481505
    Closes-Bug: 1718814
    
  - Merge "HPE 3PAR: fix delete operation of replicated volume"
  - Check for outstanding attachments during reserve
    
    There are a number of places on the Nova side where we need to do things
    with volume connections like remove an attachment and immediately
    reserve a new one. This introduces a potential race where bad things
    can happen. To deal with that, we actually want to to create a new
    attachment to do a reserve, BEFORE we delete the current attachment.
    
    The problem is that the new Attachment code currently will toggle the
    volume status and attach status such that you will then not be able to
    remove the attachment in the future, and it also makes things such that
    the true state of the volume is not reflected properly.
    
    This patch adds a check on reserve for additional attachments and if
    there are attachments for a volume that have the volume as in-use we
    don't clear that status during the new reserve call.
    
    Change-Id: I8062897bd3d4fe20de9a5660eac6fec856cc3c1e
    Closes-Bug: #1717564
    
  - Remove SCREEN_LOGDIR from devstack install setting
    
    Screen support has been completely removed from devstack.
    So we should remove this setting.
    
    Change-Id: I65da9c0ead5b437338af55c6b95bf88a8295b08f
    
  - Merge "Add default configuration files to data_files"
  - Merge "LVM: Activate thin snapshot before clone activation"
  - Merge "nimble: update config doc for unicode unsupported"
  - Merge "Use constants for microversion values"
  - nimble: update config doc for unicode unsupported
    
    nimble storage driver doesnt support unicode
    characters in volume name and description, update
    the configuration document accordingly
    
    Change-Id: Ia2e746d961b17c0bf983cf194eaf3be071c1b4a1
    Closes-Bug: 1719030
    
  - Use constants for microversion values
    
    We very often end up with merge conflicts for any patches that increment
    microversions due to conflicting numbers. We can't really solve that,
    but we can avoid the need to update version numbers throughout the code
    by defining a constant value in one place and using that variable instead.
    
    Change-Id: Ib3a80fee6caaabb49af097aa197f550c65d94985
    
  - Add default configuration files to data_files
    
    In order to make it simpler to use the default
    configuration files when deploying services
    from source, the files are added to pbr's
    data_files section so that the files are
    included in the built wheels and therefore
    deployed with the code. Packaging and deployment
    tools can then more easily use the default files
    if they wish to.
    
    This pattern is already established with similar
    files for neutron and the glance metadefs as has
    been mentioned in the related bug report.
    
    Change-Id: Idbc616e9ca23b1b7187f39a1e157f56862851f6c
    Closes-Bug: #1718356
    
  - HPE 3PAR: fix delete operation of replicated volume
    
    When QoS is set to the replicated volume, at Storage
    level the same volume becomes part of vvset
    
    This patch delete vvset if one volume per vvset
    else it remove volume from vvset.
    Then delete the volume
    
    Change-Id: Iebac77f569adbf763f0a5668cfdc5ea546846d67
    Closes-Bug: #1717875
    
  - Merge "Revert status to previous state on extend failure"
  - Merge "RBD: get provisioned capacity using same connection"
  - Revert status to previous state on extend failure
    
    When Cinder fails to schedule extend volume action, the
    status will be set to 'available' no matter what the
    previous status is.
    
    Change-Id: I830c11cda252fe25e1c069a425bdebe8c98f7a8d
    Closes-Bug: 1718374
    
  - Clear cached autogenerated docs before docs build
    
    Leftover data in the autogenerated docs can result in build
    failure. Remove these files before every build to be safe.
    
    Change-Id: Iec3ff7334b7af80cb34019590544fab0b1c95240
    Closes-bug: #1716478
    
  - Switch to use key_manager.backend
    
    Castellan commit 8980bf7da55dd084ad84c84534fe937f0d43b9c0 deprecated the
    api_class option in favor of the new backend option. This causes doc build
    failures in Cinder due to us treating warnings as errors.
    
    This changes over to use backend (the library will still recognize api_class
    as an option) and removed some of the key manager code deprecated in Newton.
    
    Depends-on: I112f7a4654a65c3291526b408838d7b1c175b069
    Closes-bug: #1718468
    Change-Id: I8d3638a69f4efcc52053269c51c01667fb810172
    
  - LVM: Activate thin snapshot before clone activation
    
    LVM may be configured to not automatically activate
    thin-provisioned LVs. Ensure they are activated before
    activating a clone, otherwise activating the clone may fail.
    
    Change-Id: Iaedeb3cdc706daa34db8d50c48cf738f6edb9bcf
    Related-Bug: #1642111
    
  - Merge "Fix a migration issue of Huawei driver"
  - [DOC] Update index page for Install tutorial
    
    The index page for our install tutorial should point
    back to the top level OpenStack installation tutorial
    to give the user information on how to set up the base
    OpenStack environment before starting installation.
    
    This patch adds the link and notes that the setup in
    there is a prerequisite to executing the Cinder Install
    Tutorial.
    
    Change-Id: I42418b30b3978bac24a856c22342ce5db3e42282
    
  - Merge "cinder incremental backup with ceph fails if last one deleted"
  - Merge "Add another hack from NOVA_GROUP to generate_cinder_opts.py"
  - Merge "api-ref: Clarify os-host GET behavior"
  - Merge "api-ref: Normalize response codes"
  - docs: Fix typo error in blockstorage-driver-filter-weighing.rst
    
    In the file doc/source/admin/blockstorage-driver-filter-weighing.rst,
    there is a typo error in the last example cinder.conf which will lead
    to wrong configuration. This patch is to fix the doc typo error.
    
    Change-Id: I632f91a419ab1439c91ed757bfce14005bc3f1a6
    Related-Bug: #1715818
    
  - Fix a migration issue of Huawei driver
    
    While migrating volume crossing backends by the host-based way,
    after data copying is done, Huawei driver's update_migrated_volume
    method doesn't return the provider_location property, which
    results old and new volumes' provider_locations aren't swapped as
    expected, afterwards, while deleting the old volume, new volume's
    provider_location will be used and the if-volume-exist-check fails
    because it verifies the new volume's LUN ID actually on the old
    backend, which certainly doesn't exist.
    
    This patch fixes this issue.
    
    Change-Id: Iee27c0368522c90525a4b8ad757f9fb89dc293a0
    
  - Add another hack from NOVA_GROUP to generate_cinder_opts.py
    
    generate_cinder_opts.py doesn't really handle indirect variables
    in group names, so add manual handlig of NOVA_GROUP.
    
    Change-Id: I30a4666a058ebbf108fd42028fb0c39e5cb8bcae
    Closes-Bug: #1717008
    
  - Remove FalconStor volume drivers
    
    These drivers were marked as deprecated and unsupported in the Pike
    release due to lack of CI. This situation has not changed, so per our
    CI policy they are now being removed.
    
    Change-Id: I7440c5feba238acb1c7f0435f107bc958aaee448
    
  - RBD: get provisioned capacity using same connection
    
    Creating new connection on getting rbd image is significant overhead.
    Collecting provisioned capacity spends most of its time on new
    connection establishment.
    
    This patch reuses previously created connection.
    
    Change-Id: I2c54383a865727d0035a20dcf34d860bde3db4f9
    Related-Bug: #1649956
    
  - [DOC] Remove duplicate build of module index
    
    It was noticed that we had the module index built on both
    the main landing page as well as on the contributor/api/index.html
    page.  This patch removes the module index from the main landing
    page.
    
    Change-Id: If10286046de36da3368c8c274e6c8fd5de353fa0
    
  - Create custom assertTrue and assertFalse
    
    Python's unittest framework assertTrue and assertFalse methods don't
    check that the provided value is False or True, like the documentation
    says:
    
      Note that this is equivalent to bool(expr) is True and not to expr is
      True (use assertIs(expr, True) for the latter).
    
    According to the documentation we should try to avoid using it as much
    as possible:
    
      This method should also be avoided when more specific methods are
      available (e.g.  assertEqual(a, b) instead of assertTrue(a == b)),
      because they provide a better error message in case of failure.
    
    But in our current code we keep abusing its use in many ways, among
    which we can easily find the following:
    
    - Thinking it only matches False/True
    
    - assertTrue(expected, actual) --> This will always be true as long as
    bool(expected) is True, because actual is interpreted as the message to
    return on failure.
    
    - Incorrectly testing values, like checking for a tuple of the form
    (True, {...}) instead of testing for True in the first position.
    
    This patch fixes incorrect some of the incorrect uses of the methods and
    overwrites default methods so that they behave the way many people think
    they do:
    
    - assertTrue(x) == assertIs(True,x)
    - assertFalse(x) == assertIs(False,x)
    
    This will hopefully help us prevent incorrect usage of the methods.
    
    Change-Id: I1e8c82702932e6b6d940bd83d0a2d4494576a81b
    
  - Remove Glance v1 API support
    
    The Glance v1 API is about to be removed. Cinder support for using the
    current v2 API was added in Pike, but we allowed selection of which
    version to use through the glance_api_version config option. That
    option was also deprecated in Pike.
    
    This removes the config option to allow selection and switches things
    over to only use Glance API v2.
    
    Change-Id: Ice379db9ae83420bacf9e96e242c7515930eae86
    
  - ibm_storage - fix enable replication after disable
    
    running enable replication on a group that had its replication
    disabled raises an exception.
    we need to clean the replication object on the remote.
    
    Change-Id: Id68ecc95220a1abcfc01239f84dcb6ac1f9f858f
    Closes-bug: 1706355
    
  - api-ref: Normalize response codes
    
    We had a mix of formatting for our API response codes. This
    makes it so all have a leading space, no trailing comma, and
    no empty Error response labels.
    
    This also addresses a formatting issue with due to the spacing
    between the Normal and Error lines that was causing the two to
    run together in the formatted HTML, making it harder to read.
    
    Change-Id: Ic411ee9f671c48ce60bda21984dafe55135685ba
    
  - api-ref: Clarify os-host GET behavior
    
    Getting all hosts returns every Cinder service host, regardless
    of which service is running on the host. But getting a specific
    host will fail if you try it for a host not running cinder-volume.
    
    This looks to be the behavior from the beginning, but there was
    nothing denoting this, causing errors and confusion for code that
    thought it could get a host from the list, then get detailed info
    about that host. The details return volume and snapshot counts,
    so it really only makes sense for cinder-volume, so the code ends
    up returning a 404 for anything else.
    
    This API design seems a little disjointed, but since this is how
    it appears to have always been, just make sure the api docs have
    the right details for potential API consumers to know what to
    expect.
    
    Change-Id: If53279cfcbbde1297bb2e55e17d17b473e7d0d6e
    Closes-bug: #1691144
    
  - Don't collect snapshots again when sync provider info
    
    Cinder collects redundant snapshot copies during sync
    snapshot provider info. Remove it.
    
    Change-Id: Id40746d0bd6dffd67d8d7055c58e054139aaeffe
    
  - ibm-storage: enable FC zonning to all ports
    
    During 'initialize_connection' we rely on the storage ability to know
    which hosts can access it. This is in some cases not accurate. So we
    need to enable hosts to connect to all the storage FC ports.
    
    Change-Id: I41697632d48f7cbcbe008867671f8196b5543c94
    Closes-Bug: #1702291
    
  - cinder incremental backup with ceph fails if last one deleted
    
    If the last incremental backup is deleted then the backup snapshot
    is deleted but the source volume snapshot remains. Due to mismatch
    between the source volume snapshot and backup snapshot, there is an
    error when "rbd export-diff" and "rbd import-diff" is done. Hence,
    full backup happens.
    
    To fix this issue, all the previous source volume snapshots are
    preserved. When the last incremental backup is deleted, then its
    backup snapshot is deleted. But because all the source volume snaps
    exist, thus it can now update --from-snap for "rbd export-diff" to
    be the most recent source volume snapshot for which there exists a
    backup snapshot as well. This is how the incremental backup operation
    will go successful.
    
    For a user who upgrades to the new code, if the last backup snapshot
    and source volume snapshot are in sync, i.e. both of them exist, then
    the next create backup operation will continue as an incremental one.
    However, if there is no source volume snapshot for the last existing
    incremental backup (before the code was upgraded), then a full backup
    happens. After this full backup, all the next backups are incremental
    while all their corresponding source volume snapshots are also preserved.
    In this way, after a user upgrades, if he deletes the last incremental
    backup, the next create backup operation will be successful and be
    incremental.
    
    Since all the backup snapshots exist for all the backups, if the user
    wants to restore a backup, which was created before the code was upgraded,
    the user will not lose any data since the same base backup is used.
    
    Change-Id: Ia9c29bb720152d42bec273202fa49ca4b6a41ce2
    Closes-Bug: #1703011
    
  - Remove the unnecessary pv_list assign during LVM object init
    
    The pv_list of LVM object actually wanted to be a list of dict of
    physical volumes' info, but in the routine of creating a new vg,
    we assign a list of physical volumes' name to it, which is unnecessary,
    and also confuse people.
    
    Change-Id: I3e19c574aa76594898307682c4898d5459c2af76
    
  - Fix scheduler_host_manager limitation
    
    We support customization of scheduler's host manager, driver, and
    filters, but when we made the scheduler Pool aware we greatly limited
    this possibility because now instead of passing BackendState (previously
    called HostState) to the filters we are passing PoolState, which cannot
    be easily customized.
    
    Prior to this if you wanted to have a custom BackendState class you
    would just have to extend HostManager class and define the class
    attribute backend_state_cls before using it in config's
    scheduler_host_manager.
    
    Now it will not be enough with that because PoolState class is hardcoded
    in the BackendState's methods, so you'll have to actually copy all the
    code from that class just so you can replace the PoolState class
    instantiations.
    
    This patch fixes this by creating an instance attribute on
    initialization method, this way extending classes will just have to call
    parent's initialization and then replace the value of the pool_state_cls
    attribute.
    
    Due to a circular dependency between BackendState and PoolState (which
    inherits from BackendState) we cannot just add it as a class attribute,
    so we do it as an instance attribute instead.
    
    If we want to add it as a class attribute we would have to add after the
    PoolState class definition the following:
    
     BackendState.pool_state_cls = PoolState
    
    Conceptually that's closer to what we want (a class attribute) but the
    implementation is worse because you end up assigning the class attribute
    270 lines away from where it should have been defined.
    
    TrivialFix
    
    Change-Id: I2c63806c4e9b1305742c7f07f47b95ba243c1666
    
  - Delete limited_by_marker from api/common.py
    
    The function limited_by_marker seems unused, untested and hasn't been
    edited in a significant manner since the fork out of Nova. This patch
    removes it.
    
    Change-Id: I79e974f5b53f3d2984792b8160e8ef5a978a918b
    
  - Remove reserving quotas in c-vol's retype method
    
    Code removed by this commit was there to keep backward compatibility
    between Liberty and Mitaka. As we're in Pike and we're only constrained
    to keep compatibility with X-1 release, it's safe to get rid of it.
    Right now we can assume that quota reservation will always be done in
    c-api and passed down to c-vol.
    
    Change-Id: I67b45662a52a55e88b920c2d0cbe9c20247a8d83
This commit is contained in:
Zuul 2019-01-04 19:03:36 +00:00 committed by Gerrit Code Review
parent 930678a32f
commit bd325ad333
1 changed files with 1 additions and 1 deletions

2
cinder

@ -1 +1 @@
Subproject commit 131a3ef8e40d797d0e1e99ab40e5972169c39bc2
Subproject commit 22b48d86397300e93e38d2d6a8d2093db6d84793