CHANGES
=======

1.11.1
------

* Bump the LAST_KNOWN_API_VERSION to 29 in OSC
* Update UPPER_CONSTRAINTS_FILE for stable/ocata
* Update .gitreview for stable/ocata

1.11.0
------

* Support --os-baremetal-api-version latest
* Allow creating portgroups via create commands
* Fix help message for the node-vif-attach command
* Add --wait to OSC provisioning commands
* Add --no-maintenance to OSC 'baremetal node list'
* Follow up nits in the patch "ironic node-inject-nmi"
* Updated from global requirements
* Fix node-inject-nmi to pass an empty body
* Typo fix: prefered => preferred
* Add a new OSC command for Inject NMI

1.10.0
------

* Support soft reboot and soft power off with timeout for OSC
* Add soft reboot/poweroff power states
* Change os_tenant_name to os_project_name in tests configuration script
* Updated from global requirements
* Replace yaml.load() with yaml.safe_load()
* Add a new command "ironic node-inject-nmi"
* Extend VIF attach commands

1.9.0
-----

* Add interface attach/detach support
* Update tox envs list
* Fix multiple ports deletion
* Raise on NodeManager get when invalid identifier provided
* [trivial] Fix underline length under title in doc
* [trivial] Fix of apostrophe in tox.ini
* Simplify heading capitalization
* Add mode and properties to portgroup OSC plugin
* Add mode and properties to portgroup
* Log warning if no property for (Un)Set commands
* Pass argument as params in test_port_update
* Add portgroup support to osc plugin
* Simplify heading capitalization in shell's HelpFormatter
* Describe possible exception in docstring
* Fix API object representation in unittests
* Add python API and CLI for port groups
* Use oslo_serialization.base64 to follow OpenStack Python3
* Updated from global requirements
* Fix exception message creation in get_client()
* Describe possible exception in docstring
* Add more tests to node_shell
* Updated from global requirements
* Use identity api version 3 for OSC plugin tests
* Strip endpoint version in OSC plugin
* Update release note for fix to required args
* Show team and repo badges on README
* Add warning message for baremetal node set/unset commands
* Allow import more than one func from i18n
* List required arguments in '--help' message in Ironic Client
* Replace six.iteritems() with .items()
* Use uuidutils instead of uuid.uuid4()
* Add tests for maintenance mode commands
* Add tests for provision state commands
* Add test for ironic port-list command
* OSC add capability to remove node/chassis_uuid
* Update to hacking 0.12.0 and use new checks
* Updated from global requirements

1.8.0
-----

* Fix python3 compatibility when HTTP Error are returned
* Add basic tests for OSC plugin baremetal node commands
* Updated from global requirements
* Avoid string interpolation in logging calls
* Updated from global requirements
* Use function import_versioned_module from oslo.utils
* Updated from global requirements
* Fixed json response func tests
* Fix display of chassis UUID field if empty
* Extend OSC "node list" cmd to fetch nodes without instance UUID
* [trivial] Remove unused variables assignment
* Updated from global requirements
* Add plug-in summary for osc doc
* Updated from global requirements
* Set OSC default baremetal api version as in ironicclient
* Fix import of ironicclient and reformat docstring
* Update .gitignore to ignore .idea of PyCharm
* Enable release notes translation
* Add docs for create command
* Refactor provision state so all actions can use inherited take_action
* If no resource, don't call Resource.to_dict()
* Updated from global requirements
* Add prefix "$" for command examples
* TrivialFix Remove white space between print and ()
* Use ConfigParser instead of SafeConfigParser in Python 3
* Hide 'nodes' field from chassis OSC subcommands output
* Hide 'ports' field from node OSC subcommands output
* 'ironic create' handles file args
* Adds --chassis-uuid to osc 'baremetal node set'
* standardize release note page names and ordering
* Document updating nested node attributes with CLI
* OSC plugin support microversions 1.21 & 1.22
* Update reno for stable/newton
* Include jsonschema only once in requirements
* use utils.key_value_pairs_to_dict()
* Move duplicated info to new v1/utils.py

1.7.0
-----

* Correct a couple small grammar things in release notes
* Clean up release notes for 1.7
* Change 'P' to 'Queens' and add deprecation date
* Add openstack baremetal driver commands
* Don't write python bytecode while testing
* Add node validate OSC command
* Add --chassis to 'openstack baremetal node list'
* Sync tools/tox_install.sh
* Updated from global requirements
* Using assertIsNone() is preferred over assertEqual()
* Add --node to 'openstack baremetal port list'
* Adds node boot device & passthru OSC commands
* Set/unset node's target RAID config via OSC command
* Add baremetal port list command to OSC plugin
* Updated from global requirements
* Add baremetal port delete command to OSC plugin
* Add openstack baremetal chassis commands
* Adds 'openstack baremetal node console' commands
* Use osc-lib instead of openstackclient
* Use osc_lib instead of cliff
* Update hacking test-requirement
* Add docs target to tox.ini
* Add --wait flag for provision actions and wait_for_provision_state function
* Use constraints for all the things
* Trivial: Fix doc string for class DeleteBaremetalNode
* Add key_value_pairs_to_dict() method
* Updated from global requirements
* Add 'openstack baremetal node adopt' command
* Update help shown for node-delete
* Add baremetal port set command to OSC plugin
* Fail with more meaningful error while creating client
* Deprecate -l option for port creation in OSC plugin
* Trivial: remove redundant parentheses
* Remove unused variables assignments in OSC plugin unit tests
* Fix i18n problems in shell.py
* Add create command to ironic client
* Updated from global requirements
* Fix uuid to UUID in expected error messages
* Trivial: Remove useless spaces
* Verify JSON response of driver commands
* Make shell main() specify return value in exit code
* Add baremetal port unset command to OSC plugin

1.6.0
-----

* Add support for node.resource_class
* Fix coverage target
* Add CLI tests to check JSON response body
* Add baremetal port show command to OSC plugin
* Add internal_info field to port
* Remove unused LONG_FIELDS
* Remove discover from test-requirements
* Trivial: Fix wrong comment in power state test

1.5.0
-----

* Updates supporting ironic-neutron integration
* Add release note link for client release notes
* Add Python 3.5 classifier and venv
* Fix Quick-start example syntax
* Negative tests for testing chassis-create command
* Updated from global requirements

1.4.0
-----

* Fix py35 unit tests
* Grammatical fixes for cache expiry feature
* Change position in assert arguments
* Add test for ironic node-list command
* 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
