[Pure Storage] Fix connection issue on network failure.
Retry the login process if a network issue has caused the connection to the FlashBlade to fail. Use the periodic task to update share stats to catch this. Closes-bug: #2032681 Change-Id: Ic4be90aba729978e24bdd808ba1130d05aed9985
This commit is contained in:
parent
aafc221027
commit
279b8e2861
@ -197,7 +197,19 @@ class FlashBladeShareDriver(driver.ShareDriver):
|
||||
super(FlashBladeShareDriver, self)._update_share_stats(data)
|
||||
|
||||
def _get_available_capacity(self):
|
||||
space = self._sys.arrays.list_arrays_space()
|
||||
try:
|
||||
space = self._sys.arrays.list_arrays_space()
|
||||
except purity_fb.rest.ApiException:
|
||||
message = "Connection failure. Retrying login..."
|
||||
LOG.warning(message)
|
||||
try:
|
||||
self._sys.login(self.api)
|
||||
self._sys._api_client.user_agent = self._user_agent
|
||||
except purity_fb.rest.ApiException as ex:
|
||||
msg = _("Exception when logging into the array: %s\n") % ex
|
||||
LOG.exception(msg)
|
||||
raise exception.ManilaException(message=msg)
|
||||
space = self._sys.arrays.list_arrays_space()
|
||||
array_space = space.items[0]
|
||||
data_reduction = array_space.space.data_reduction
|
||||
physical_capacity_bytes = array_space.capacity
|
||||
|
@ -0,0 +1,6 @@
|
||||
---
|
||||
fixes:
|
||||
- |
|
||||
Pure Storage FlashBlade driver: Retry login for periodic task should
|
||||
network issue cause loss of connection. See `launchpad bug 2032681
|
||||
<https://bugs.launchpad.net/manila/+bug/2032681>`_ for more details.
|
Loading…
Reference in New Issue
Block a user