CHANGES
=======

1.4.0
-----

* Fix py35 unit tests
* Grammatical fixes for cache expiry feature
* Change position in assert arguments
* Updated from global requirements
* Add test for ironic driver-list command
* Add env var for version cache timeout
* Add invalid attribute names to exception
* Simplify use of config_drive arg in osc
* Add maintenance mode commands
* Add provision state commands
* Fix error returned by ironic --json node-validate
* Negative tests for testing actions with Chassis
* Updated from global requirements
* Add test for 'node-show --field' command
* Updated from global requirements
* Tests for CLI help message
* Move methods to utils.py
* Updated from global requirements
* Implementation of baremetal power state commands
* Implementation of baremetal port create
* Updated from global requirements
* Add test for chassis-node-list
* Fix quotation mark in docstring
* Add test for 'port-show --field' command
* Add sanity tests for testing actions with Port
* Updated from global requirements
* Catch RetriableConnectionFailures from KAuth and retry
* Updated from global requirements
* Bring OSC plugin inline with approved spec
* Updated from global requirements
* Use name randomizer from tempest
* Updated from global requirements
* Replace deprecated tempest-lib with tempest
* Update the home-page with developer documentation
* Trivial: ignore openstack/common in flake8 exclude list
* Updated from global requirements
* Fix typo in docstring of assertTableHeaders method
* Fix for tox 'testenv:cover' command
* Updated from global requirements
* Updated from global requirements
* Fix typos in docstrings and comments
* Add test for 'chassis-show --field' command
* Client addition for Active Node Creation verb adopt
* Fix pep8 stderr warning regarding __all__ defined as list
* Code style fix according to flake8
* Set endpoint_override while doing session.request
* Trivial: Fix incorrect comments in test_baremetal.py
* Remove httplib2
* Update reno for stable/mitaka
* Updated from global requirements

1.2.0
-----

* Remove leftover use of args.os_endpoint
* Improve output of --json option
* Updated from global requirements
* Add CLI support for RAID configuration
* Updated from global requirements
* Use keystoneauth instead of keystoneclient
* Don't ignore failures when delete nodes
* Use requests lib in HTTPClient
* Add a JSON option to the client
* Do not pass endpoint to constructor in OSC
* Fix Resource.__eq__ mismatch semantics of object equal
* Log SHA1 hash of X-Auth-Token value
* Stop ignoring _ as builtin in pep8
* Remove unused `anyjson`
* Updated from global requirements
* Add sanity tests for testing actions with Chassis
* Add 'node-set-provision-state <node> clean'
* continue to delete next node if failed with previous one
* Updated from global requirements
* Fix unit test 'Argument parse failed' error
* Updated from global requirements
* Replace HTTP 'magic numbers' with constants
* Add CLI to list nodes using the same driver
* Allow functional tests to work with Keystone v3

1.1.0
-----

* Allow to initialize keystone v3 client
* Updated from global requirements
* Support all API versions up to 1.latest
* Put py34 first in the env order of tox 
* Updated from global requirements
* Updated from global requirements
* Fix params order in assertEqual
* Updated from global requirements
* Remove openstack-common.conf
* Move ironicclient/common tests to their respective directory
* Do not log secrets
* Fix test cases of listing with provisioning state
* Replace assertTrue with explicit assertIsInstance
* Add first reno-based release note
* Updated from global requirements
* Updated from global requirements
* Updated from global requirements
* Add reno for release notes management
* Add Sanity tests for testing actions with Driver
* Replace assertEqual(None, *) with assertIsNone in tests
* Removes MANIFEST.in as it is not needed explicitely by PBR
* Switch tox unit test command to use ostestr
* Drop py33 support
* Add --uuid to port-create
* Add --uuid to chassis-create
* Deprecated tox -downloadcache option removed
* Scale back on how many warnings we issue
* Refactoring and removing duplicate code of "base.Manager" heirs without changing the API
* Correct node-port-list help info
* Fix exceptions.from_response() parameter
* Updated from global requirements
* Tests for testing node-set-power-state command
* Add --wrap option for "ironic driver-properties"
* Fix misprints in docstring
* Updated from global requirements
* Revert "Refactoring and removing duplicate code of "base.Manager" heirs"
* Refactoring and removing duplicate code of "base.Manager" heirs
* Updated from global requirements
* Add sanity tests for testing actions with Node
* Remove httpretty workaround
* Use a dict to translate node power states to json data
* Use requests-mock instead of httpretty
* Updated from global requirements
* Add missing translation markers
* update node shell help info
* replace LOG.warn with LOG.warning
* Updated from global requirements

1.0.0
-----

* A minor change for driver_shell test
* Add documentation on how to run tests
* Add driver-get-vendor-passthru-methods cmd
* Add a new cmd method node-get-vendor-passthru-methods
* Add more unit tests for clituils
* Drop explicit Python 2.6 support
* Make print_list accept a list of dict
* Sync with oslo-incubator
* Last sync from oslo-incubator
* Use keystoneclient.exception directly
* Add simple table structure Ironic CLI tests
* Introduce tempest-lib to functional tests

0.10.0
------

* Updated from global requirements
* Make sort keys the same for list commands
* Updated from global requirements
* Remove lxml requirement
* Mock keystone call to avoid test failure
* Add more filters for chassis node-list

0.9.0
-----

* Use doc8 style checker
* Fix the bug of incorrect spelling
* Replace six.iteritems() with .items()
* Allow 'abort' verb for node-set-provision-state
* Set a default endpoint value of None
* Updated from global requirements
* Added unit test cases for command-line shell
* Introduce openstackclient plugin
* Updated from global requirements
* Remove unneeded param['detail'] setting

0.8.1
-----

* Fixes file cache TypeError
* Fix functional tests job
* Replace ConfigParser with six.moves.configparser

0.8.0
-----

* Updated from global requirements
* Updated from global requirements
* Updated from global requirements
* Added unit tests for command-line shell
* Also retry on connection refused
* Updated from global requirements
* Updated from global requirements
* Add provision_updated_at field to nodes
* Filtering nodes by provision state
* Replacing dict.iteritems() with dict.items()
* Updated from global requirements
* Fix version negotiation
* Updated from global requirements
* Allow specifying a set of fields of the Port and Chasis resources
* Revert: requirement files in alphabetical order
* Fix unittests due mock 1.1.0 release
* Allow specifying a set of fields of the Node resource
* Expose node's clean_step and bump default version
* Fix slow tests in RetriesTestCase
* Updated from global requirements
* Updated from global requirements
* Also retry on HTTP 503 (service unavailable)
* Cache negotiated api microversion for server
* Updated from global requirements
* Cleanup session creation
* Updated from global requirements
* Register global Keystone args first
* Install the ironicclient into the 'venv' virtualenv
* Updated from global requirements
* Refactor resource_fields.py

0.7.0
-----

* Disable meaningless sort keys in list command
* httpretty can fail in Python 3.4 with wrong LC_ALL
* Add node-show-states command
* Updated from global requirements
* Revert fix that issues Unauthorized exception
* Sync oslo.incubator
* Consistent and more valid strings for Booleans
* Drop use of 'oslo' namespace package
* Disable invalid sort key in list command
* Updated from global requirements
* Add in support for a tox pypy target
* Ensure *-show input uuid is not empty
* Remove unneeded 'utf-8' coding lines

0.6.0
-----

* Update README to work with release tools
* Encode exception on cli for UnicodeDecodeError
* Implement and enable retries on Conflict
* Uncap library requirements for liberty

0.5.1
-----

* Client should fall back to the lower versions if necessary
* Upgrade hacking to latest release
* Fix node_uuid option is required for port-create

0.5.0
-----

* Force LANGUAGE=en_US in test runs
* Add unittests for resource_fields
* Updated from global requirements
* Add support for generating a config drive
* Clean openstack-common module list
* Send version header by default
* Use oslo.i18n lib
* Add support for logical names
* Metavar name should be hyphenated
* Avoid httpretty 0.8.8 as it can break unittests
* Add support for inspection to node-set-provision-state
* Fix the final PEP8 errors
* Adds basic ironicclient functional testing
* Fix two error strings in the CLI
* Fix typo on patch 155624
* Enable ironicclient with --ironic-api-version 1.x
* Fix PEP8 E121,E122,E123,E124,E125,E129 errors
* Updated from global requirements
* For flake8 check, make the 'E12' ignore be more granular
* Updated from global requirements
* Consistent names of args and metavars, and help strings
* Remove unused OS_TEST_TIMEOUT variable
* Capture stdout or stderr in tests
* Updated from global requirements
* Fix Python Ironic Client Documentation

0.4.1
-----

* Rename --configdrive to --config-drive
* Fix argument for configdrive usage
* Fix help string for port-list

0.4.0
-----

* port-list support get-port-from-mac
* Update requirements.txt
* cli support --os-endpoint
* ironicclient node-set-maintenance to accept true/false
* Updated from global requirements
* Check if --config-drive is only used with provision state "active"
* Add --config-drive to node-set-provision-state
* Add driver_internal_info to node-show output

0.3.3
-----

* ironicclient handle faultstring when using SessionClient
* Support setting non-string fields
* Workflow documentation is now in infra-manual
* Removed http proxy environment variable so that httpretty can work
* Fix to properly issue an Unauthorized exception

0.3.2
-----

* Add option to specify node uuid in node-create subcommand
* Add IRONIC_URL to README
* Fix log_curl_request API version duplication
* Update README
* Fix node-set-provision-state cmd's help strings
* Updated from global requirements
* Add maintenance_reason to node-show output
* Add 'API' to description of ironic command
* Fix the usage comment of node-set-power-state cmd
* Updated from global requirements
* Fix sphinx warnings
* VendorPassthru commands to support different HTTP methods
* Sane parameters for node and driver vendor_passthru()
* Updated from global requirements
* Sync apiclient from Oslo
* Add node-set-maintenance command
* Fix python-ironicclient crash
* Adds tty password entry for ironicclient

0.3.1
-----

* Correct node CREATION_ATTRIBUTE "uuid"
* Updated from global requirements
* Add keystone v3 CLI support
* Stop using intersphinx
* Bump hacking version
* Add "ironic node-set-power-state" cmd unit test
* Small fixes for utils/{common_filters,common_params_for_list}
* Add unit tests for "ironic node-show" shell cmd
* Remove unused command in tox.ini
* Add unit tests for "ironic node-create" shell cmd
* Add unit test for "ironic node-update" shell cmd
* Updated from global requirements

0.3.0
-----

* Replace calls to Mock.assert_not_called
* Add defaults to the CLI help strings
* Updates to CLI doc
* Add 'rebuild' option to node-set-provision-state
* Update README with a bit more info
* ironic client to use os_region_name if provided
* Add unit test for "ironic port-update" shell cmd
* Add unit tests for "ironic node-delete" shell cmd
* handles keyboard interrupt
* fixes help string for driver-list
* Add 'bash-completion' to 'ironic help' response
* List resources with detail
* Add sort_key and sort_dir parameters to *-list
* Fix column headings regression due to switch to cliutils
* Work toward Python 3.4 support and testing
* Updated from global requirements
* Fix misspelled class name AmbigiousAuthSystem
* Optimize get_by_instance_uuid
* Show port by MAC address

0.2.1
-----

* Add /nodes/detail support
* Trim trailing slash and version from endpoint
* Updated from global requirements

0.2.0
-----

* Export 'client' and 'exc' modules
* Add {set,get}_boot_device and get_supported_boot_devices
* Add driver-properties command
* Add ironic cli support for vendor-passthru
* Add pagination support to {node, port, chassis}-list
* Expose auth_ref in ironicclient client object
* Add bash completion support for ironic cli
* Remove aliases `arg` and `env` from utils
* Use suitable assert
* Add CONTRIBUTING.rst
* Make a few minor updates to node shell help strings
* Updated from global requirements
* Add set_provision_state command
* Add UTF-8 coding lines to all Python files
* replace dict.iteritems() with six.iteritems(dict)
* node-show to show the instance_info field
* removed py3kcompat module
* Updated from global requirements
* Reuse module `cliutils` from common code

0.1.4
-----

* Updated from global requirements
* Sync latest code and reuse exceptions from oslo
* node-get-console incorporate the changes in API
* Adds documentation for ironicclient API
* Remove py3kcompat module
* Add documentation for ironic CLI
* Updated from global requirements
* Documentation for contributors
* Fix docstring for client.get_client()
* Updated from global requirements
* node-list to show the maintenance field
* Add main developer page

0.1.3
-----

* Sync cliutils from oslo
* Avoid traceback with insufficient auth credentials
* Add support for 'driver-show' command
* Updated from global requirements
* Add set-console-mode, get-console commands
* Sort requirement files in alphabetical order
* Filtering nodes by maintenance mode
* Remove shebang lines from code

0.1.2
-----

* Fix the test parameter order
* Return 'maintenance' from node-show command
* Fix params order in assertEqual
* Remove vim header
* Node power state is not printed after set
* Return node_uuid from a port-show cmd
* Fix Iterface misspelling from node-validate cmd
* Remove tox locale overrides
* Add node.states() to the client library
* Fix node-create help requiring chassis uuid
* Updated from global requirements
* Remove unused method 'string_to_bool' from utils

0.1.1
-----

* Reuse Resource from oslo
* Sync apiclient and strutils from Oslo
* Run unittest with python 3.3
* Drop python2.5 suport in ironicclient.common.http
* Improve node-validate command output
* Add set_provision_state to the client libs
* ironic client should display chassis_uuid value
* Update openstack-common.conf list, sync with oslo (0d8f18b)

0.1.0
-----

* Rename nodes/<uuid>/state to nodes/<uuid>/states
* Remove unused oslo-incubator modules
* Updated from global requirements
* driver-list command to show the list of conductors

0.0.1
-----

* Enable rebooting in the client lib and cli
* Move from inheritance HTTPClient in Ironic client
* Move six dependency to requirements.txt
* Let CLI print exception traceback from 'debuginfo'
* Add missing i18n support
* Add node-validate to cli
* Replace chassis_id with chassis_uuid on Nodes
* Enable created_at/updated_at for port-show/chassis-show
* Include 'chassis_id' on node-show
* Enable created_at/updated_at for port-show/chassis-show
* Remove in-place try/except blocks from shell commands
* Replace node_id to node_uuid on Ports
* Support building wheels (PEP-427)
* Shows 'last_error' property for a node
* Comply with new hacking release
* Change id->uuid in ironic cli help messages
* Updated from global requirements
* Modifies CLI to show nodes by instance uuid
* Remove Python 2.4 all() implementation
* Deal with unicode strings
* Custom output file on the print_*() functions
* Add driver-list
* Fix cmd usage msg for ironic port-create
* Reorder imports
* Rename variables called 'fixtures'
* Comply with new hacking requirements
* Transform print statement to print function
* Add node-set-power-state to cli
* Fixes Auth Token being sent as lambda function
* Updated from global requirements
* Sort the dict iterms
* Replace basestring with six.string_types
* Use six.iteritems() for dict
* Import urlutils module from oslo
* Import httplib from six.moves
* Transform print statement to print function
* Import StringIO from six
* Removes mox from ironicclient
* Add chassis-node-list
* Add node-port-list
* Updated from global requirements
* Allows multiple deletions
* Add short command line option
* Improve help strings
* Remove duplicated do_node_show
* Add missing chassis_id arg to node-create
* Improve error feedback
* Updated from global requirements
* Implement *-update commands to resrouces
* Change service_type to baremetal
* Split v1/shell.py into different files
* Implement Node commands
* Add port-create and port-delete
* Stop HTTPClient from calling self.auth_token()
* Add chassis-create and chassis-delete
* Add port-show and port-list
* Implement chassis-list + more tests
* Add tests for chassis
* Add basic tests
* Manager._list should always return a list
* Implement chassis-show
* Basic project structure
* remove client suffix from command line client
* Add initial files
* Added .gitreview
