VNX: update sg in cache
When `destroy_empty_storage_group` is enabled, the sg will be deleted after the last lun is detached from it. The issue is that the sg cache isn't updated, which caused the failure of subsequent attaching volumes to the same host because the sg in the cache will be used directly which doesn't exist any more. The fix is updating the sg with poll after deleting it. This doesn't delete the sg from cache explicitly but makes sure the sg in cache with latest status `not-exist`. Subsequent attaching will create the sg if it is `not-exist`. Closes-bug: #1817385 Change-Id: Ibb39879a77c97c6a5d885461e93116810d16b265
This commit is contained in:
parent
8cb3223e9f
commit
eefd8302b3
@ -2067,6 +2067,8 @@ test_terminate_connection_cleanup_remove_sg:
|
||||
delete:
|
||||
disconnect_host:
|
||||
get_alu_hlu_map: {}
|
||||
update:
|
||||
with_poll: _context
|
||||
|
||||
test_terminate_connection_cleanup_sg_absent:
|
||||
sg:
|
||||
@ -2080,6 +2082,8 @@ test_terminate_connection_cleanup_deregister:
|
||||
delete:
|
||||
disconnect_host:
|
||||
get_alu_hlu_map: {}
|
||||
update:
|
||||
with_poll: _context
|
||||
vnx:
|
||||
_methods:
|
||||
delete_hba:
|
||||
|
@ -1091,6 +1091,11 @@ class CommonAdapter(replication.ReplicationAdapter):
|
||||
LOG.info("Storage Group %s is empty.", sg.name)
|
||||
sg.disconnect_host(sg.name)
|
||||
sg.delete()
|
||||
|
||||
# Update sg with poll makes the one in client.sg_cache is with
|
||||
# latest status which is un-exist. This makes sure the sg is
|
||||
# created during next attaching.
|
||||
self.update_storage_group_if_required(sg)
|
||||
if host is not None and self.itor_auto_dereg:
|
||||
# `host` is None when force-detach
|
||||
self._deregister_initiator(host)
|
||||
|
@ -81,9 +81,12 @@ class VNXDriver(driver.ManageableVD,
|
||||
12.1.0 - Adjust max_luns_per_storage_group and
|
||||
check_max_pool_luns_threshold
|
||||
12.1.1 - Fix perf issue when create/delete volume
|
||||
13.0.0 - Fix bug https://bugs.launchpad.net/cinder/+bug/1817385 to
|
||||
make sure sg can be created again after it was destroyed
|
||||
under `destroy_empty_stroage_group` setting to `True`
|
||||
"""
|
||||
|
||||
VERSION = '12.01.01'
|
||||
VERSION = '13.00.00'
|
||||
VENDOR = 'Dell EMC'
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "EMC_VNX_CI"
|
||||
|
@ -0,0 +1,7 @@
|
||||
---
|
||||
fixes:
|
||||
- |
|
||||
Dell EMC VNX Driver: Fixes `bug 1817385
|
||||
<https://bugs.launchpad.net/cinder/+bug/1817385>`__ to make sure the sg can
|
||||
be created again after it was destroyed under `destroy_empty_storage_group`
|
||||
setting to `True`.
|
Loading…
Reference in New Issue
Block a user