[Pure Storage] Fix failure in replication failover

A previous patch incorrectly removed a call using a specific
version of API as part of the replication failover process.

The call being made to the backend fails as one of the
parameters is not supported in later API version.

This patch fixes the call to the backend to use the required
API version.

There are no tempest tests for replication failover, hence
why the original patch passed tests.

Closes-Bug: #2028380
Change-Id: Id4f5f16a04220cc880e17ffd69a8303c93a6e8ba
(cherry picked from commit 084d84152a)
This commit is contained in:
Simon Dodsley 2023-06-08 12:04:56 -04:00 committed by Simon Dodsley
parent 81af154d85
commit 583eae173b
2 changed files with 11 additions and 1 deletions

View File

@ -2660,10 +2660,13 @@ class PureBaseVolumeDriver(san.SanDriver):
def _async_failover_host(self, volumes, secondary_array, pg_snap):
# Try to copy the flasharray as close as we can.
# We have to rely on a call that is only available in REST API 1.3
# therefore we have to create a temporary FlashArray for this.
target_array = self._get_flasharray(
secondary_array._target,
api_token=secondary_array._api_token,
request_kwargs=secondary_array._request_kwargs,
rest_version='1.3',
)
volume_snaps = target_array.get_volume(pg_snap['name'],

View File

@ -0,0 +1,7 @@
---
fixes:
- |
[Pure Storage] 'bug #2028380
<https://bugs.launchpad.net/cinder/+bug/2028380>'_:
Fixed issue with cinder replication failover failing due to
incorrect REST call.