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