Merge "[NetApp] Fix share replica failing for 'transfer in progress' error" into stable/rocky

This commit is contained in:
Zuul 2020-04-30 20:36:20 +00:00 committed by Gerrit Code Review
commit 34d4955e72
2 changed files with 14 additions and 2 deletions

View File

@ -1583,9 +1583,12 @@ class NetAppCmodeFileStorageLibrary(object):
return constants.REPLICA_STATE_OUT_OF_SYNC
snapmirror = snapmirrors[0]
# NOTE(dviroel): Don't try to resume or resync a SnapMirror that has
# one of the in progress transfer states, because the storage will
# answer with an error.
in_progress_status = ['preparing', 'transferring', 'finalizing']
if (snapmirror.get('mirror-state') != 'snapmirrored' and
snapmirror.get('relationship-status') == 'transferring'):
snapmirror.get('relationship-status') in in_progress_status):
return constants.REPLICA_STATE_OUT_OF_SYNC
if snapmirror.get('mirror-state') != 'snapmirrored':

View File

@ -0,0 +1,9 @@
---
fixes:
- |
Fixed an issue in NetApp driver share replica periodic check that
erroneously set a replica state to 'error'. In this routine, a SnapMirror
resync operation was being triggered while the replica data transfering is
still in progress, receiving an error from the storage side. The driver now
skips resync operation for all in progress SnapMirror relationship status.