diff options
author | Fernando Ferraz <sfernand@netapp.com> | 2020-09-30 12:32:02 -0300 |
---|---|---|
committer | Fernando Ferraz <sfernand@netapp.com> | 2021-03-24 22:46:57 +0000 |
commit | a75f8633b4e8e4256f1309cb2fdc0699f8a3c3e0 (patch) | |
tree | bf1caf516fdbb0770dac2bfcd9c0a7f7d1605087 | |
parent | f70bfbf7110fbf20f1e263ade02229c6837393bc (diff) | |
download | cinder-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.py | 7 | ||||
-rw-r--r-- | releasenotes/notes/sf-fix-error-on-cluster-rebalancing-515bf41104cd181a.yaml | 8 |
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. |