[release-announce] python-ironicclient 4.0.0 (ussuri)

no-reply at openstack.org no-reply at openstack.org
Mon Feb 10 15:15:10 UTC 2020


We high-spiritedly announce the release of:

python-ironicclient 4.0.0: OpenStack Bare Metal Provisioning API
Client Library

This release is part of the ussuri release series.

The source is available from:

    https://opendev.org/openstack/python-ironicclient

Download the package from:

    https://pypi.org/project/python-ironicclient

Please report issues through:

    https://storyboard.openstack.org/#!/project/openstack/python-
ironicclient

For more details, please see below.

4.0.0
^^^^^


New Features
************

* Adds support to create an allocation with an "owner", as well as
  display it. Introduced in API 1.60.

* Adds the ability to set and unset the "retired" and
  "retired_reason" with API 1.61. Setting the "retired" field on a
  node excludes it from scheduling, but still allows the node to be
  cleaned (unlike maintenance, for instance). The fields can be set
  irrespective of the node's state and are meant to be used to prepare
  nodes for removal from ironic.


Upgrade Notes
*************

* Python 2.7 support has been dropped. Last release of python-
  ironicclient to support Python 2.7 is OpenStack Train. The minimum
  version of Python now supported by python-ironicclient is Python
  3.6.

* An implicit dependency on "oslo.config" is now explicit.


Bug Fixes
*********

* Fails with a clear TypeError when a session is not provided to
  "client.Client" or "v1.client.Client". Before we used to throw:

     _construct_http_client() takes at least 1 argument

* Removes the requirement on passing either "endpoint_override" or
  "os_ironic_api_version" to "get_client". This is only required for
  efficient caching of API versions and shouldn't be a hard
  requirement.

* Fixes an issue where some failure modes of communication with the
  Ironic API could result in an exception that circumvents the
  client's retry mechanisms. In particular this includes HTTP 503
  service unavailable which is seen when Ironic operates behind a load
  balancer, and no backend is available to handle the request.

* "openstack baremetal node list --owner" was returning an error
  instead of a list of nodes for the specified owner. It has been
  fixed.

  See story 2006563 for details.

* Fixes a confusing error message when a session is not provided for
  "ironicclient.v1.client.Client".

* With the removal of the "HTTPClient" class in the release 3.0.0,
  it is now mandatory to pass a session into
  "ironicclient.v1.client.Client". The helper call
  "ironicclient.client.get_client" can also be used to construct a
  session implicitly.

* Fixes "TypeError" when the bare metal endpoint cannot be detected
  from a session. A proper "EndpointNotFound" exception is raised now.

* Fixes using "endpoint_override" with the "SessionClient".

Changes in python-ironicclient 3.0.0..4.0.0
-------------------------------------------

e8914a7 Provide a clear error message when using client.Client without a session
81eebfc Add support for retired{_reason} fields.
c27c848 Remove VerifiedHTTPSConnection class
a643707 Add allocation owner
369a203 Enforce running tox with correct python version based on env
a572ae2 Stop using six library
0e9bf33 Fix AttributeError in negotiate_version
f515665 Drop python 2.7 support and testing
5cb4367 Switch jobs to python3
e88b39e Switch to Ussuri job
6f150a5 Fix source link.
fd79e9c Add versions to release notes series
89088e2 Fix usage of --owner filter during node list
66a9c87 Make it clear that a Session is required for v1.client.Client
7f003e1 Fix TypeError when using endpoint_override with SessionClient
7c27668 Make the dependency on oslo.config explicit
c3e4908 Remove the requirement on either endpoint_override or os_ironic_api_version
5a9964b Update master for stable/train


Diffstat (except docs and test files)
-------------------------------------

.gitignore                                         |  2 +-
ironicclient/client.py                             | 23 ++++-
ironicclient/common/apiclient/base.py              | 12 ++-
ironicclient/common/apiclient/exceptions.py        |  7 +-
ironicclient/common/base.py                        | 19 ++---
ironicclient/common/http.py                        | 97 +++++-----------------
ironicclient/common/utils.py                       |  3 +-
ironicclient/osc/v1/baremetal_allocation.py        | 12 ++-
ironicclient/osc/v1/baremetal_node.py              | 35 +++++++-
.../osc/v1/test_baremetal_deploy_template_basic.py |  5 +-
.../osc/v1/test_baremetal_node_create_negative.py  |  5 +-
.../osc/v1/test_baremetal_node_fields.py           | 24 +++---
.../osc/v1/test_baremetal_node_negative.py         | 35 ++++----
ironicclient/v1/allocation.py                      |  9 +-
ironicclient/v1/client.py                          | 41 +++++----
ironicclient/v1/create_resources.py                |  8 +-
ironicclient/v1/node.py                            | 20 +++--
ironicclient/v1/resource_fields.py                 |  5 ++
lower-constraints.txt                              |  1 -
playbooks/functional/run.yaml                      |  9 +-
.../add-allocation-owner-0c6daad4ebfea5e6.yaml     |  5 ++
.../notes/add_retired_field-6ec9f97c7c2f86ec.yaml  | 10 +++
.../notes/client-session-09e6ced1fbc6a9b0.yaml     |  7 ++
.../notes/drop-py-2-7-b0b950c0c2b6a667.yaml        |  6 ++
.../endpoint-plus-version-4248f4f229dbc7dd.yaml    |  6 ++
...fix-negotiate-version-503-c3cb8d1d4901541a.yaml |  8 ++
.../notes/fix-owner-feature-2f3f0163ff307727.yaml  |  9 ++
.../notes/missing-session-cc11e62dc966b4e0.yaml    | 10 +++
.../notes/oslo.config-f67bf37ea35dd7fe.yaml        |  4 +
releasenotes/notes/typerror-132801fe4541fdb4.yaml  |  7 ++
releasenotes/source/index.rst                      |  1 +
releasenotes/source/train.rst                      |  6 ++
requirements.txt                                   |  2 +-
setup.cfg                                          |  2 -
tox.ini                                            | 20 +----
zuul.d/ironicclient-jobs.yaml                      | 17 ----
zuul.d/project.yaml                                |  7 +-
54 files changed, 578 insertions(+), 307 deletions(-)


Requirements updates
--------------------

diff --git a/requirements.txt b/requirements.txt
index 5e76b37..412c047 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -9,0 +10 @@ osc-lib>=1.10.0 # Apache-2.0
+oslo.config>=5.2.0 # Apache-2.0
@@ -15 +15,0 @@ requests>=2.14.2 # Apache-2.0
-six>=1.10.0 # MIT






More information about the Release-announce mailing list