Current Series Release Notes

4.0.0-1

New Features

  • Adds ability to get list of nodes that are not marked for retirement adding the –no-retired optional argument to the openstack baremetal node list command.

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.