We are pumped to announce the release of: python-ironicclient 1.2.0: OpenStack Bare Metal Provisioning API Client Library This release is part of the mitaka release series. With source available at: http://git.openstack.org/cgit/openstack/python-ironicclient With package available at: https://pypi.python.org/pypi/python-ironicclient Please report issues through launchpad: http://bugs.launchpad.net/python-ironicclient For more details, please see below. 1.2.0 ^^^^^ New Features ************ * Added a possibility to pass os_auth_token instead of os_username and os_password to authenticate in keystone both in CLI and in get_client function. * Add support for filtering nodes using the same driver in list command. * Adds support for manual cleaning API; available with ironic-api- version 1.15 or higher. The ironic CLI is "ironic node-set- provision-state --clean-steps <clean-steps> <node> <provision- state>" where <provision-state> is 'clean' and <clean-steps> is the clean steps in JSON format. May be the path to a file containing the clean steps; OR '-', with the clean steps being read from standard input; OR a string. The value should be a list of clean-step dictionaries; each dictionary should have keys 'interface' and 'step', and optional key 'args'. * Adds support for RAID configuration: * Ability to set target_raid_config for a node using node-set- target-raid-config. * Displays target_raid_config and raid_config in node-show. * Displays logical disk properties for a driver using driver-raid- logical-disk-properties. API version 1.15 should be used with these features, as RAID configuration was added in 1.12 and manual cleaning (used to trigger RAID configuration) was added in 1.15. * Switch HTTP client to requests lib. It allows client to work with API behind the proxy, configure proxies by setting the environment variables HTTP_PROXY and HTTPS_PROXY. Bug Fixes ********* * when deleting multiple nodes, continue with deletes even if one fails. * Fixes an issue where deleting nodes ignore failures and just prints the results which nodes are deleted and which are failed, always returning exit code of 0. This now will return a non-zero exit code if at least one node-delete fails. Other Notes *********** * Log the SHA1 hash of X-Auth-Token value prefixed by '{SHA}'. Changes in python-ironicclient 1.1.0..1.2.0 ------------------------------------------- acd4825 Remove leftover use of args.os_endpoint 6e767b0 Updated from global requirements 56663b3 Add CLI support for RAID configuration 2386152 Updated from global requirements 7226ad4 Use keystoneauth instead of keystoneclient 6a59a30 Don't ignore failures when delete nodes b6b1981 Use requests lib in HTTPClient fda1854 Add a JSON option to the client 2702f9b Do not pass endpoint to constructor in OSC 932ac60 Fix Resource.__eq__ mismatch semantics of object equal 9c36413 Log SHA1 hash of X-Auth-Token value 297978f Stop ignoring _ as builtin in pep8 4568e45 Remove unused `anyjson` 540631c Updated from global requirements d9c5967 Add sanity tests for testing actions with Chassis e6f6d9e Add 'node-set-provision-state <node> clean' 36d2e13 continue to delete next node if failed with previous one bcd4d6a Updated from global requirements db175f9 Fix unit test 'Argument parse failed' error 908f575 Updated from global requirements 868082a Replace HTTP 'magic numbers' with constants 4d14ace Add CLI to list nodes using the same driver. 1e69e44 Allow functional tests to work with Keystone v3 Diffstat (except docs and test files) ------------------------------------- ironicclient/client.py | 214 +++++---- ironicclient/common/apiclient/base.py | 5 +- ironicclient/common/apiclient/exceptions.py | 60 +-- ironicclient/common/cliutils.py | 14 +- ironicclient/common/http.py | 188 ++++---- ironicclient/osc/plugin.py | 1 - ironicclient/shell.py | 252 +++-------- ironicclient/v1/chassis_shell.py | 16 +- ironicclient/v1/driver.py | 19 + ironicclient/v1/driver_shell.py | 29 +- ironicclient/v1/node.py | 42 +- ironicclient/v1/node_shell.py | 159 ++++++- ironicclient/v1/port_shell.py | 13 +- ironicclient/v1/resource_fields.py | 6 + .../SHA1-hash-auth-token-f8dce46f854c002c.yaml | 4 + .../continue-del-next-node-8827e67e1c41a0a5.yaml | 3 + .../keystone-token-auth-661a0c0d53c1b4de.yaml | 5 + .../list-nodes-by-driver-b1e1e1018077089b.yaml | 3 + .../notes/manual-clean-09f6b49df7d2513f.yaml | 10 + ...t-ignore-delete-failtures-0783d33a606ed6f1.yaml | 5 + .../notes/raid_CLI_support-7e816ccd0fb31d2b.yaml | 17 + .../notes/switch-requests-8304d4465a8976b1.yaml | 5 + requirements.txt | 10 +- test-requirements.txt | 2 +- tools/run_functional.sh | 2 + tox.ini | 1 - 42 files changed, 1836 insertions(+), 906 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 923e066..6a31a51 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5 +4,0 @@ pbr>=1.6 # Apache-2.0 -anyjson>=0.3.3 # BSD @@ -8 +7 @@ dogpile.cache>=0.5.4 # BSD -cliff>=1.15.0 # Apache-2.0 +cliff!=1.16.0,!=1.17.0,>=1.15.0 # Apache-2.0 @@ -9,0 +9 @@ httplib2>=0.7.5 # MIT +keystoneauth1>=2.1.0 # Apache-2.0 @@ -11 +11 @@ oslo.i18n>=2.1.0 # Apache-2.0 -oslo.utils>=3.4.0 # Apache-2.0 +oslo.utils>=3.5.0 # Apache-2.0 @@ -13,2 +13,2 @@ PrettyTable<0.8,>=0.7 # BSD -python-keystoneclient!=1.8.0,!=2.1.0,>=1.6.0 # Apache-2.0 -python-openstackclient>=2.0.0 # Apache-2.0 +python-openstackclient>=2.1.0 # Apache-2.0 +requests!=2.9.0,>=2.8.1 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index 4cdc05a..235c520 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -18 +18 @@ testtools>=1.4.0 # MIT -tempest-lib>=0.13.0 # Apache-2.0 +tempest-lib>=0.14.0 # Apache-2.0