[Pure Storage] Driver API version upgrade

With the upcoming deprecation of REST 1.x used by this driver to
comminucate with the FlashArray, this patch is to convert the
driver to use REST 2.x calls, which means changing the required
Python SDK from ``purestorge`` (REST 1.x) to ``py-pure-client``
(REST 2.x). The minimum version of ``py-pure-client`` is
defined to be 1.47.0.

This change does not affect any of the functionality of the driver
but does affect the minimum required FlashArray operating system,
increasing this to Purity//FA 6.1.0.

This change will also allow for the addition of new features
that were not supported by the REST 1.x APIs.

Documentation changes are made to reflect the change in required
SDK.

All unit tests are updated to reflect the changes in the driver
and the use of new SDK calls.

Change-Id: I3deae1cc6bbe5ef5820224f72bb02565677e1ade
This commit is contained in:
Simon Dodsley 2023-12-07 11:36:39 -05:00
parent b36142602e
commit 839bdf6dcd
6 changed files with 2766 additions and 1994 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -11,7 +11,7 @@ Volume Driver class, Fibre Channel with the PureFCDriver and
NVMe-ROCE or NVMe-TCP with the PureNVMEDriver.
iSCSI, Fibre Channel and NVMe-RoCE drivers are compatible with FlashArrays
that support the REST API version 1.16 and higher (Purity 5.2.0 and newer).
that support the REST API version 2.4 and higher (Purity 6.1.0 and newer).
The NVMe-TCP driver is compatible with FlashArrays
that are running Purity 6.4.2 and higher.
Some features may require newer versions of Purity.
@ -84,11 +84,11 @@ Pure Storage FlashArray as back-end storage.
#. Install Pure Storage PyPI module.
A requirement for the Pure Storage driver is the installation of the
Pure Storage Python SDK version 1.4.0 or later from PyPI.
Pure Storage Python SDK version 1.47.0 or later from PyPI.
.. code-block:: console
$ pip install purestorage
$ pip install py-pure-client
#. Retrieve an API token from Purity.
The OpenStack Block Storage service configuration requires an API token
@ -241,10 +241,6 @@ certificates of trusted CAs:
driver_ssl_cert_path = Certificate path
.. note::
This requires the use of Pure Storage Python SDK > 1.4.0.
Replication configuration
~~~~~~~~~~~~~~~~~~~~~~~~~

View File

@ -10,8 +10,8 @@ python-3parclient>=4.2.10 # Apache-2.0
krest>=1.3.0 # Apache-2.0
# Pure Storage
purestorage>=1.17.0 # BSD
distro # Apache-2.0
py-pure-client>=1.47.0 # BSD
# Dell EMC VMAX, IBM DS8K
pyOpenSSL>=1.0.0 # Apache-2.0

View File

@ -0,0 +1,12 @@
---
features:
- |
Pure Storage FlashArray drivers upgraded to remove REST 1.x support and
changed to REST 2.4 as the minimum supported version.
- |
Pure Storage FlashArray drivers changed minimum supported Purity//FA
version to 6.1.0.
upgrade:
- |
[Pure Storage] Changed Python SDK driver requirement from ``purestorage``
to ``py-pure-client`` to support change to Purity//FA REST 2.x API calls.

View File

@ -85,7 +85,7 @@ all =
python-3parclient>=4.2.10 # Apache-2.0
krest>=1.3.0 # Apache-2.0
infinisdk>=103.0.1 # BSD-3
purestorage>=1.17.0 # BSD
py-pure-client>=1.47.0 # BSD
rsd-lib>=1.1.0 # Apache-2.0
storpool>=4.0.0 # Apache-2.0
storpool.spopenstack>=2.2.1 # Apache-2.0
@ -111,7 +111,7 @@ ds8k =
infinidat =
infinisdk>=103.0.1 # BSD-3
pure =
purestorage>=1.17.0 # BSD
py-pure-client>=1.47.0 # BSD
rsd =
rsd-lib>=1.1.0 # Apache-2.0
storpool =