Changelog

Changes in Version 3.3.2

  • Add retries for certain exceptions.
    • exceptions.HTTPServiceUnavailable
    • requests.exceptions.ConnectionError
  • Remove the destCPG during copyVolume operations when it’s not an online copy. 3PAR will throw an error if we don’t

  • Added valid key checks in the flask unit test server for the createPhysicalVolume action

Changes in Version 3.3.1

  • Changes the exception isinstance check to look for basestring/str instead of bytes in order to properly store the error description.
  • Fixed error where you could not create a LUN with the ID of 0. (issue #17)
  • Allows suppressing of InsecureRequestWarning messages (Issue #18)
  • Adds the ability to retrieve all snapshots associated with a given volume

Changes in Version 3.3.0

  • Replaced all httplib2 calls with Python Request calls
  • SSL certificate verification can be enabled by passing secure=True
  • SSL certificate verification can be done against a self provided .crt file with secure=’/path/to/ca-certificates.crt’

Changes in Version 3.2.2

  • Python3.4+ compliant
  • Added requirements-py3.txt and test-requirements-py3.txt for Python3.4 to pull and install from
  • Updated tox to run py34 tests
  • Modified basic Python calls to work with both Python2 and Python3.4
  • Added optional ‘ca’ parameter to createfshare and setfshare (for SMB Continuous Availability)
  • Improved handling of nested and optional lists in File Persona get methods
  • Volume Set snapshot capabilities have been added
  • Adds tests for volume set snapshots
  • Fixed error that was happening during client initialization when an error was missing a description. (issue #15)
  • Add support for VLUN queries in getVLUN and getHostVLUNs when a backend with WSAPI 1.4.2 or greater is being used.
  • Added support for calling srstatld with a given interval and history
  • Added unit tests for the Exception class.

Changes in Version 3.2.1

  • Improved debug capabilities during initialization of the client.
  • Reworked findHost to use a random hostname to fix collisions
  • Fix cross-protocol share hang by using non-interactive flag
  • Require 3.2.1 (MU3) for File Persona client
  • Improved file client test coverage
  • Renew SSH session if lost and increase retry attempts to 2 (issue #5)
  • Added missing exceptions to API docs for deleteVolume.
  • Fix JSON parsing using Python3
  • Be safe accessing ‘hostname’ key in getHostVLUNs (issue #14)

Changes in Version 3.2.0

  • Added File Persona Client:
    • getfs
    • createfpg
    • growfpg
    • getfpg
    • setfpg
    • removefpg
    • createvfs
    • getvfs
    • setvfs
    • removevfs
    • createfsip
    • setfsip
    • getfsip
    • removefsip
    • createfsgroup
    • setfsgroup
    • removefsgroup
    • createfsuser
    • setfsuser
    • removefsuser
    • createfstore
    • getfstore
    • setfstore
    • removefstore
    • createfshare
    • setfshare
    • getfshare
    • removefshare
    • createfsnap
    • getfsnap
    • removefsnap
    • startfsnapclean
    • getfsnapclean
    • stopfsnapclean
    • setfsquota
    • getfsquota
    • gettpdinterface
  • Added paramiko SSH simulator initially supporting just a few test cases.

  • Fixed PEP8 violations.

  • Change GitHub account reference from WaltHP to hp-storage.

  • Modify the steps in the Installing from Source section to ensure correct installation of dependencies and ordering.

  • Added support for flash cache policy set on a virtual volume set.

  • Added tox environments to run tests with code coverage and to generate the documentation

  • Consolidated the test/README.rst into the top level README.rst and added clarifications

Changes in Version 3.1.3

  • Added ‘paramiko’ and ‘eventlet’ requirements to setup.py. Running a standard python setup.py install should install these modules now if they are missing.
  • Use static loggers to fix duplicate logging problem.
  • Update unit tests to better support more backend configurations and versions.
  • Made corrections to the API documentation.

Changes in Version 3.1.2

  • Added API
    • findAllVolumeSets
    • getCPGAvailableSpace
    • getOverallSystemCapacity
  • Revised unit tests to use asserts instead of try/catch/except blocks.

  • Removed SSH call from the findVolumeSet method and replaced it with REST.

  • Improved findVolumeSet documentation.

  • Changed SSH connections to now only get created when an SSH command needs to be executed.

  • Added closing of an SSH connection during logout if one is active.

  • Changed SSH connections to no longer use keep-alive packets to stay active.

  • Removed an unneeded print statement output that was occuring when an SSH connection was closed.

Changes in Version 3.1.1

  • Added known_host_file and missing_key_policy parameters to: - HP3ParClient.setSSHOptions - HP3PARSSHClient
  • Fixed an issue with building the ClientException when body of the response was empty.
  • Fixed spelling error in urllib import for Python 3.0 or greater environments.

Changes in Version 3.1.0

  • Added APIs
    • setVolumeMetaData
    • getVolumeMetaData
    • getAllVolumeMetaData
    • removeVolumeMetaData
    • findVolumeMetaData
  • Added two new enumerations for CHAP initiator and target.

  • Converted existing metadata functions to use REST API calls instead of SSH.

  • Updated the minimum required HP 3PAR build version to be 3.1.3.230. This corresponds to 3.1.3 MU1 firmware.

  • Added support for volume metadata REST API calls in the flask server.

  • Numerous API documentation improvements

  • Fixed 2 enumerations
    • PORT_TYPE_RCIP changed to 7
    • PORT_TYPE_ISCSI changed to 8
  • Numerous Enumerations added
    • Port Type
    • Port Protocol
    • Task Type
    • VLUN Type
    • CPG RAID
    • CPG HA
    • CPG Chunklet
    • CPG Disk Type
    • Host Persona
  • Added host set API:
    • findHostSet
    • getHostSets
    • getHostSet
    • createHostSet
    • deleteHostSet
    • modifyHostSet
    • addHostToHostSet
    • removeHostFromHostSet
    • removeHostFromItsHostSet
  • Added showpatch API:
    • getPatch
    • getPatches
  • Unit tests and flask server
    • Fixed missing tearDown() to improve flask server shutdown.
    • Added VLUN and host set check before allowing deleteHost.
    • Fixed some flask error codes and error messages to match array.
    • Removed the ‘test_’ prefix from classes that don’t contain tests.
    • Reduced volume sizes used in tests.
    • Made domain and cpg_ldlayout_ha configurable.
    • Added more tests.
  • Bug fixes
    • Fixed an incorrect exception message for getHostVLUNs.

Changes in Version 3.0.0

  • Requires the 3.1.3 3PAR Firmware or greater.
  • Added new 3.1.3 firmware APIs.
  • Added support for QOS and Virtual Volume sets
  • Added query host by wwns or iqns
  • Added APIs for getTasks, stopOfflinePhysicalCopy, modifyVolume

Changes in Version 2.9.2

  • Removed the ssh pooling to fix an issue with timeouts

Changes in Version 2.9.1

  • Renamed stopPhysicalCopy to stopOnlinePhysicalCopy

Changes in Version 2.9.0

  • Added SSH interface
  • Added stopPhysicalCopy
  • updated doc string to fix some pylint

Changes in Version 1.1.0

  • Added support for hosts and ports

Changes in Version 1.0.1

  • The unit tests now work when running nosetest from the top level dir and from the test dir

Changes in Version 1.0.0

  • First implementation of the REST API Client