summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFernando Ferraz <sfernand@netapp.com>2020-09-30 12:32:02 -0300
committerFernando Ferraz <sfernand@netapp.com>2021-03-24 22:46:57 +0000
commita75f8633b4e8e4256f1309cb2fdc0699f8a3c3e0 (patch)
treebf1caf516fdbb0770dac2bfcd9c0a7f7d1605087
parentf70bfbf7110fbf20f1e263ade02229c6837393bc (diff)
downloadcinder-a75f8633b4e8e4256f1309cb2fdc0699f8a3c3e0.tar.gz
NetApp SolidFire: Fix error on cluster workload rebalancing15.5.0
When SolidFire is under heavy load or being upgraded, the SolidFire cluster may automatically move connections from primary to secondary nodes, in order to rebalance cluster workload. Although this operation ocurrs very quickly, if an operation is made to a volume at the same time it's being moved, there might be a chance that API calls such as create snapshot could fail with xNotPrimary error. Normally this will succeed on a retry of the operation. This patch fixes this issue by adding the xNotPrimary exception to our list of retryable exceptions in the SolidFire driver. Change-Id: I67dd2bfba37adcb7cda5f1cd08ff641410ec3f6b Closes-Bug: #1891914 (cherry picked from commit 8d0c08b4bb9d32f2c02dcc60f1f482331197e546) (cherry picked from commit 622244a755b75a52d079f92d8526f6eb5b517106) (cherry picked from commit f087536e47a30349553f6e604ea804250d91022a)
-rw-r--r--cinder/volume/drivers/solidfire.py7
-rw-r--r--releasenotes/notes/sf-fix-error-on-cluster-rebalancing-515bf41104cd181a.yaml8
2 files changed, 13 insertions, 2 deletions
diff --git a/cinder/volume/drivers/solidfire.py b/cinder/volume/drivers/solidfire.py
index 6889bb824..d8a1c136c 100644
--- a/cinder/volume/drivers/solidfire.py
+++ b/cinder/volume/drivers/solidfire.py
@@ -244,9 +244,11 @@ class SolidFireDriver(san.SanISCSIDriver):
service is restarted
2.0.18 - Fix bug #1896112 SolidFire Driver creates duplicate volume
when API response is lost
+ 2.0.19 - Fix bug #1891914 fix error on cluster workload rebalancing
+ by adding xNotPrimary to the retryable exception list
"""
- VERSION = '2.0.18'
+ VERSION = '2.0.19'
# ThirdPartySystems wiki page
CI_WIKI_NAME = "NetApp_SolidFire_CI"
@@ -282,7 +284,8 @@ class SolidFireDriver(san.SanISCSIDriver):
'xMaxSnapshotsPerNodeExceeded',
'xMaxClonesPerNodeExceeded',
'xSliceNotRegistered',
- 'xNotReadyForIO']
+ 'xNotReadyForIO',
+ 'xNotPrimary']
def __init__(self, *args, **kwargs):
super(SolidFireDriver, self).__init__(*args, **kwargs)
diff --git a/releasenotes/notes/sf-fix-error-on-cluster-rebalancing-515bf41104cd181a.yaml b/releasenotes/notes/sf-fix-error-on-cluster-rebalancing-515bf41104cd181a.yaml
new file mode 100644
index 000000000..8ccdb8765
--- /dev/null
+++ b/releasenotes/notes/sf-fix-error-on-cluster-rebalancing-515bf41104cd181a.yaml
@@ -0,0 +1,8 @@
+---
+fixes:
+ - |
+ NetApp SolidFire driver `Bug #1891914
+ <https://bugs.launchpad.net/cinder/+bug/1891914>`_:
+ Fix an error that might occur on cluster workload rebalancing or
+ system upgrade, when an operation is made to a volume at the same
+ time its connection is being moved to a secondary node.