2023.1 Series Release Notes¶
5.0.1¶
Bug Fixes¶
OpenStackSDK log messages are no longer sent to stdout and no longer break parsing the output.
The logging configuration now respects the
--verbose
flag.
Some warnings are no longer duplicated.
4.11.0¶
New Features¶
Adds support for API version
1.78
and “node history” functionality allowing users to query a list of events, and retrieve a single history event from a baremetal node.
Adds
get_history_list
andget_history_event
methods to the python client library. These methods allow operators to query recorded node event information from an ironic API, where supported and enabled.
4.9.0¶
New Features¶
Adds support for fields selector in driver cli. See story 1674775.
openstack baremetal driver list --fields <field> [<field> ...]
openstack baremetal driver show <driver_name> --fields <field> [<field> ...]
Bug Fixes¶
Embedded configuration drive generation support has been updated to support
mkisofs
andxorrisofs
in adition to the previously supportedgenisoimage
utility. This is as distributions such as Debian and OpenSUSE do not shipgenisoimage
.
4.8.0¶
New Features¶
Adds new params to the
baremetal node bios setting list
command to include support for the BIOS registry. The--long
option will retrieve and display the additonal BIOS registry fields, the--fields
option will retrieve and display selected fields. Thebaremetal node bios setting show
includes these fields by default with no changes.
Adds support to display node fields
boot_mode
andsecure_boot
which are introduced in API 1.75.
Adds support for changing node states
boot_mode
andsecure_boot
in sync with functionality introduced in API 1.76.
4.7.0¶
Bug Fixes¶
The
--debug
option now works correctly with the built-inbaremetal
command line tool.
Fixes using
network_data
with the--fields
parameter.
4.6.0¶
New Features¶
Adds support for providing optional deploy steps when deploying or rebuilding; available with ironic-api-version 1.69 or higher. Baremetal CLI is
baremetal node <provision-state> <node> --deploy-steps <deploy-steps>
where<provision-state>
is ‘deploy’ or ‘rebuild’ and<deploy-steps>
are deploy steps in JSON format. May be path to a file containing deploy steps; OR ‘-’, with the deploy steps being read from standard input; OR a string. The value should be a list of deploy-step dictionaries; each dictionary should have keys ‘interface’, ‘step’ and ‘priority’, and optional key ‘args’. When overlapping, these steps override deploy template and driver steps. For more information see Deploy Steps in Node Deployment documentation.
YAML files are now supported for the
--network-data
,--deploy-steps
,--clean-steps
and--target-raid-config
arguments, as well as for the--steps
argument of deploy template commands.
4.5.0¶
New Features¶
Following a similar change to ironic, it is now possible to set the node’s
automated_clean
to False using the new--no-automated-clean
argument tobaremetal node set
.
4.3.0¶
New Features¶
Methods of all Manager objects now support passing global_request_id argument, which is passed to ironic API in the header of an HTTP request. Also it is now possible to instantiate IronicClient object passing global_request_id and additional_headers, which will be passed to all requests this client object will be doing. global_request_id passed to the method of the Manager object will override the global_request_id specified through IronicClient constructor.
Updates the node vif attach API action to accept an optional
port_uuid
parameter. If specified, then Ironic will attempt to attach to the specified port.
4.2.0¶
New Features¶
Adds support for adding static network configuration to ports and portgroups by adding
network-data
attribute to port/portgroup commands.
Upgrade Notes¶
The Python API used to accepts byte arrays and other non-serializable in JSON data types in a few places where strings are required. This is no longer supported, an attempt to do it will result in an exception.
4.1.0¶
Prelude¶
This release includes a new standalone CLI tool baremetal
that is
mostly identical to the existing OSC plugin, but
Does not require commands to be prefixed with
openstack
.Does not require
python-openstackclient
to be installed.Defaults to no authentication.
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.
Adds support to display and update the
lessee
field of nodes, which is introduced in API 1.64.
Adds a new
baremetal
CLI tool, mostly targeted at standalone users.
Upgrade Notes¶
The dependency on
oslo.i18n
is now optional. If you would like messages from ironicclient to be translated, you need to install it explicitly.
When no session is provided in the
get_client
call, a session is now created using OpenStackSDK. Only arguments that are supported by it are supported now.
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
andretired_reason
with API 1.61. Setting theretired
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
orv1.client.Client
. Before we used to throw:_construct_http_client() takes at least 1 argument
Removes the requirement on passing either
endpoint_override
oros_ironic_api_version
toget_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 intoironicclient.v1.client.Client
. The helper callironicclient.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 properEndpointNotFound
exception is raised now.
Fixes using
endpoint_override
with theSessionClient
.
3.0.0¶
Upgrade Notes¶
Removes deprecated argument
endpoint
from the v1.client.Client constructor. Please use the standard keystoneauth argument nameendpoint_override
instead.
Removes deprecated
common.http.HTTPClient
class. Thecommon.http.SessionClient
class should be used instead.
Removing deprecated keystone arguments in favor of standardized argument naming.
The long deprecated
ironic
command has been removed. Theopenstack baremetal
command must now be used. Please update any scripts that you may be using with ironic.
Bug Fixes¶
Fixes an issue where automatic pagination was broken when ironic is deployed at a subpath (e.g. http://localhost/ironic).
2.8.0¶
New Features¶
Adds the
--node
argument tobaremetal allocation create
to support allocation backfilling.
Adds support for the allocation update API introduced in API version 1.57. Adds new commands:
openstack baremetal allocation set
openstack baremetal allocation unset
Bug Fixes¶
Prevent trying to access endpoints with
/v1/v1
when using endpoint overrides containing/v1
.
2.7.0¶
New Features¶
The consumer of ironicclient may be deriving their
get_client
kwargs from config inherited from ksa, where theinterface
option has been deprecated in favor ofvalid_interfaces
. To accomodate this, we now acceptvalid_interfaces
as a kwarg, giving it precedence overinterface
. However, we still acceptinterface
, as the consumer may be deriving kwargs from a non-conf source (such as an already-created ksa Adapter wherevalid_interfaces
has already been translated tointerfaces
).
Adds the ability to list and show conductors known by the Bare Metal service, as well as showing the
conductor
field on the node, introduced in API 1.49.
Adds the
Event
resource and theclient.events.create
Python SDK method to support publishing events to the Bare Metal service using the /v1/events API endpoint (introduced in API version 1.54).Note
Events are not intended for end-user usage. (Internal use only.)
Adds support for Smart NIC ports by adding the
--is-smartnic
argument to the following CLI commands:openstack baremetal port create
openstack baremetal port set
openstack baremetal port unset
This was introduced in API version 1.53.
Adds
description
field support, which is introduced in ironic API 1.51. This field is used to store informational text about the node. User can also do queries for nodes where theirdescription
field contains specified substring.
Adds support to display and update the
owner
field of nodes, which is introduced in API 1.50.
Adds Python API and CLI for the allocation API introduced in API version 1.52. Adds new commands:
openstack baremetal allocation create
openstack baremetal allocation delete
openstack baremetal allocation get
openstack baremetal allocation list
Supports passing a JSON object to
--config-drive
to build the config drive on the server side (requires API version 1.56) to the following commands:openstack baremetal node deploy <node> --config-drive '{...}'
openstack baremetal node rebuild <node> --config-drive '{...}'
Adds Python API and CLI for the deploy templates API introduced in API version 1.55. The following new commands are available:
openstack baremetal deploy template create
openstack baremetal deploy template delete
openstack baremetal deploy template list
openstack baremetal deploy template set
openstack baremetal deploy template show
Bug Fixes¶
The
interface
argument was being ignored so that the HTTP client was always using the public endpoint for Ironic. This fixes it so that theinterface
argument is taken into consideration. See story 2005118.
2.6.0¶
New Features¶
Adds the ability to set the
automated_clean
field (available starting with API version 1.47) on the baremetal node, to enable the automated cleaning feature at the node level.
Adds the ability to set and unset the
protected
andprotected_reason
fields introduced in API 1.48. Settingprotected
allows protecting a deployed node from undeploying, rebuilding and deleting.
2.5.0¶
New Features¶
Adds support for the
--conductor-group
argument to the following CLI commands:openstack baremetal node create
openstack baremetal node set
openstack baremetal node unset
openstack baremetal node list
This feature requires bare metal API 1.46.
Adds support for a node’s
deploy_step
(read-only) field. The deploy step indicates which step is being performed during the deployment/provisioning of a node. It is available starting with Bare Metal API version 1.44. For more details, see story 1753128.
Adds new family of arguments to the
openstack baremetal node set
command:--reset-XXX-interface
, whereXXX
is a name of a hardware interface. This argument resets the node’sXXX_interface
field to its calculated default (based on the node’s hardware type and the configuration).
Adds the new argument
--reset-interfaces
to theopenstack baremetal node set
command. It can be used together with--driver
to reset all interfaces to their defaults.
2.4.0¶
New Features¶
The client now supports
none
authorization method, which should be used if the Identity service is not present in the deployment that the client talks to. To use it:openstack baremetal CLI – supported starting with
osc-lib
version1.10.0
, by providing--os-auth-type none
and--os-endpoint
argument toopenstack
commandironic CLI – just specify the
--ironic-url
or--os-endpoint
argument in theironic
command (or set the corresponding environment variable)python API – specify the
endpoint_override
argument to theclient.get_client()
method (in addition to the requiredapi_version
)
Supports the node’s
fault
field, introduced in the Bare Metal API version 1.42, including displaying or querying nodes by this field.
Adds two new commands.
openstack baremetal node bios setting list <node_ident>
openstack baremetal node bios setting show <node_ident> <setting_name>
The first command returns a list of BIOS settings for a given node, the second command returns a specified BIOS setting from the given node.
Also adds support of bios_interface for the commands below.
openstack baremetal node create
openstack baremetal node show
openstack baremetal node set
openstack baremetal node unset
openstack baremetal driver list
openstack baremetal driver show
Adds support for
NodeManager.set_provision_state
,NodeManager.update
,NodeManager.get
, andNodeManager.list
to accept anos_ironic_api_version
keyword argument to override the API version for that specific call to the REST API.When overridden, the API version is not preserved, and if an unsupported version is requested from the remote API, an
UnsupportedVersion
exception is raised.
Deprecation Notes¶
common.http.HTTPClient
class is deprecated and will be removed in the Stein release. If you initialize the ironic client viav1.client.Client
class directly, please pass the keystoneauth session to the Client constructor, so thatcommon.http.SessionClient
is used instead.
As part of standardizing argument naming to the one used by keystoneauth, the following arguments to
client.get_client
method are deprecated and will be removed in Stein release:os_auth_token
: usetoken
insteados_username
: useusername
insteados_password
: usepassword
insteados_auth_url
: useauth_url
insteados_project_id
: useproject_id
insteados_project_name
: useproject_name
insteados_tenant_id
: usetenant_id
insteados_tenant_name
: usetenant_name
insteados_region_name
: useregion_name
insteados_user_domain_id
: useuser_domain_id
insteados_user_domain_name
: useuser_domain_name
insteados_project_domain_id
: useproject_domain_id
insteados_project_domain_name
: useproject_domain_name
insteados_service_type
: useservice_type
insteados_endpoint_type
: useinterface
insteadironic_url
: useendpoint
insteados_cacert
,ca_file
: usecafile
insteados_cert
,cert_file
: usecertfile
insteados_key
,key_file
: usekeyfile
instead
The
endpoint
argument to thev1.client.Client
constructor is deprecated and will be removed in Stein release. Instead, please use the standard keystoneauth argument nameendpoint_override
.
Bug Fixes¶
Waiting for a provision state to be reached (via CLI
--wait
argument or thewait_for_provision_state
function) no longer aborts when the node’slast_error
field gets populated. It can cause a normal deployment to abort if a heartbeat from the ramdisk fails because of locking - see story 2002094.
2.3.0¶
New Features¶
Adds support for rescue_interface for the commands below. They are available starting with ironic API microversion 1.38.
openstack baremetal node create
openstack baremetal node show
openstack baremetal node set
openstack baremetal node unset
openstack baremetal driver list
openstack baremetal driver show
Adds the below commands to OSC to support rescue mode for ironic available starting with API version 1.38:
openstack baremetal node rescue
openstack baremetal node unrescue
2.2.0¶
New Features¶
Allows a python API user to pass
latest
to the client creation request for theos_ironic_api_version
parameter. The version utilized for REST API requests will, as a result, be the highest available version understood by both the ironicclient library and the server.
Adds base client properties to provide insight to a python API user of what the current REST API version that will be utilized, and if API version negotiation has occured. These new properties are
client.current_api_version
andclient.is_api_version_negotiated
respectively.
Adds additional base client method to allow a python API user to trigger version negotiation and return the negotiated version. This new method is
client.negotiate_api_version()
.
The
os_ironic_api_version
parameter now accepts a list of REST API micro-versions to attempt to negotiate with the remote server. The highest available microversion in the list will be negotiated for the remaining lifetime of the client session.
Adds support for reading and modifying traits for a node, including adding traits to the detailed output of a node. This is available starting with Bare Metal API version 1.37.
The new commands are:
openstack baremetal node trait list <node>
openstack baremetal node add trait <node> <trait> [...]
openstack baremetal node remove trait <node> [<trait> [...]] [--all]
It also adds the following methods to the Python SDK:
NodeManager.get_traits
NodeManager.add_trait
NodeManager.set_traits
NodeManager.remove_trait
NodeManager.remove_all_traits
Bug Fixes¶
Fixes bug 1745099, which prevented a port group’s mode from being set to an integer value via the
openstack baremetal port group set
command.
Other Notes¶
The maximum supported version supported for negotiation is now defined in the
common/http.py
file. Any new feature added to the API client library must increment this version.
The maximum known version supported by the
OpenStackClient
plugin is now defined by the maximum supported version for API negotiation as defined in thecommon/http.py
file.
2.1.0¶
Bug Fixes¶
Replaces
openstack baremetal node power <on|off>
with the two commands:openstack baremetal node power on
andopenstack baremetal node power off
.
There is no change to the command the user enters (the actual command line is the same). However, help (e.g. via
openstack -h baremetal
) will list the two power commands (instead of the original one).
2.0.0¶
Prelude¶
The 2.0 release has three major changes:
The default API version for the
openstack baremetal
andironic
commands changed from1.9
tolatest
.latest
is the maximum version understood by both the client and the server. This change makes the CLI automatically pull in new features and changes (including potentially breaking), from servers.The
python-ironicclient
package no longer includes thepython-openstackclient
(OSC) package as a requirement.python-openstackclient
is needed if using theopenstack baremetal
CLI.The
ironic
command line interface (ironic
commands) is deprecated and will be removed in the OpenStack S* release. Please use theopenstack baremetal
CLI instead.
New Features¶
Adds missing
wanboot
value to the list of supported boot devices.
The
ironic
command now supports the specification of API version1
. The actual version used will be the maximum 1.x version understood by both the client and the server. Thus, it is currently identical to thelatest
value.
The bare metal OSC client (
openstack baremetal
commands) now supports the specification of API version1
. The actual version used will be the maximum 1.x version understood by both the client and the server. Thus, it is currently identical to thelatest
value.
Adds the ability to specify a configuration drive when rebuilding a node, via the
--config-drive
option to theopenstack baremetal node rebuild
command. This is available starting with Bare Metal API version 1.35.
Upgrade Notes¶
The default API version for the
ironic
command changed from1.9
tolatest
.latest
is the maximum version understood by both the client and the server. This change makes the CLI automatically pull in new features and changes (including potentially breaking), when talking to new servers.Scripts that used the previous default API version, or that rely on some specific API behavior, should set the
IRONIC_API_VERSION
environment variable or use the--ironic-api-version
CLI argument.Note
This change does not affect the Python API.
The default API version for the bare metal OSC client (
openstack baremetal
commands) changed from1.9
tolatest
.latest
is the maximum version understood by both the client and the server. This change makes the CLI automatically pull in new features and changes (including potentially breaking), when talking to new servers.Scripts that used the previous default API version, or that rely on some specific API behavior, should set the
OS_BAREMETAL_API_VERSION
environment variable or use the--os-baremetal-api-version
CLI argument.Note
This change does not affect the Python API.
python-ironicclient
package no longer has thepython-openstackclient
package (OSC) as a requirement.Users installing only the
python-ironicclient
package will not automatically get access toopenstack baremetal ...
OSC commands. To have them available, thepython-openstackclient
package must be installed separately, or, when installingpython-ironicclient
viapip
, the newcli
extra can be used to also install OSC:pip install python-ironicclient[cli]
These previously deprecated commands were removed and are no longer available:
openstack baremetal delete
openstack baremetal list
openstack baremetal show
openstack baremetal set
openstack baremetal unset
Instead, use these corresponding equivalent commands:
openstack baremetal node delete
openstack baremetal node list
openstack baremetal node show
openstack baremetal node set
openstack baremetal node unset
Support for creating a single node via
openstack baremetal create
had been previously deprecated; it is now no longer available. Instead, use the equivalent commandopenstack baremetal node create
. The only valid usage ofopenstack baremetal create
is to create various resources (chassis, nodes, port groups, and ports) from resource files.
Deprecation Notes¶
The
ironic
command line interface (ironic
commands) is deprecated and will be removed in the OpenStack S* release. Please use theopenstack baremetal
command line interface instead.
Bug Fixes¶
openstack baremetal
commands no longer fail when specifyinglatest
as the API version (via--os-baremetal-api-version
orexport OS_BAREMETAL_API_VERSION=latest
). For more details, see bug 1712935.
Fixes a bug where the client could not access the ironic API service when the client was instantiated with a keystone token and an ironic API endpoint that included a virtual host (such as “http://hostname/baremetal”). For more details, see bug 1721599.
Users of the
ironic
command no longer have to specify an explicit API version to use the latest features. The default API version changed from1.9
tolatest
, which is the maximum version understood by both the client and the server.
Users of the
openstack baremetal
commands no longer have to specify an explicit API version to use the latest features. The default API version changed from1.9
tolatest
, which is the maximum version understood by both the client and the server.
When using
--os-baremetal-api-version=latest
(foropenstack baremetal
CLI) or--ironic-api-version=latest
(forironic
CLI), the resulting API version is now the maximum API version supported by both the client and the server. Previously, the maximum API version supported by the client was used, which preventedlatest
from working with older servers.
No longer emits the incorrect warning “Please specify what to set” (or “unset”) when only the
--target-raid-config
is specified in theopenstack baremetal node set
(orunset
) command.
1.16.0¶
New Features¶
Adds support for the
port.physical_network
field, which was introduced in API version 1.34.
Deprecation Notes¶
Currently, the default API version for the
ironic
tool is fixed to be 1.9. In the Queens release, it will be changed to the latest version understood by both the client and the server. In this release a warning is logged, if no explicit version is provided.
1.15.0¶
New Features¶
Adds these
openstack baremetal
andironic
CLI commands for volume connector resources.openstack baremetal volume connector create
openstack baremetal volume connector list
openstack baremetal volume connector show
openstack baremetal volume connector set
openstack baremetal volume connector unset
openstack baremetal volume connector delete
ironic volume-connector-create
ironic volume-connector-list
ironic volume-connector-show
ironic volume-connector-update
ironic volume-connector-delete
They are available starting with ironic API microversion 1.32.
Adds these
openstack baremetal
andironic
CLI commands for volume target resources.openstack baremetal volume target create
openstack baremetal volume target list
openstack baremetal volume target show
openstack baremetal volume target set
openstack baremetal volume target unset
openstack baremetal volume target delete
ironic volume-target-create
ironic volume-target-list
ironic volume-target-show
ironic volume-target-update
ironic volume-target-delete
They are available starting with ironic API microversion 1.32.
Adds support for storage_interface for the commands below. They are available starting with ironic API microversion 1.33.
openstack baremetal node create
openstack baremetal node show
openstack baremetal node set
openstack baremetal node unset
openstack baremetal driver list
openstack baremetal driver show
ironic node-create
ironic node-show
ironic node-update
ironic driver-list
ironic driver-show
Deprecation Notes¶
Currently, the default API version for the OSC plugin is fixed to be 1.9. In the Queens release, it will be changed to the latest version understood by both the client and the server. In this release a warning is logged, if no explicit version is provided.
Bug Fixes¶
--wrap
CLI argument forironic driver-properties
andironic driver-raid-logical-disk-properties
commands now takes only non-negative integers as input. An error is shown if a negative value is passed.
1.14.0¶
Prelude¶
With this release, we have achieved feature parity between the ironic
and openstack baremetal
(OpenStack Client plugin) CLI.
New Features¶
Adds the
openstack baremetal driver property list <driver>
command. For the specified driver, this returns a list of its properties, along with descriptions for each property. (The values of these properties are specified in a node’s driver_info.)
Adds the
openstack baremetal driver raid property list <driver>
command. For a specified driver, this returns a list of the RAID logical disk properties that can be specified, along with a description for each property. (The values of these properties are specified in a node’starget_raid_config
field.)
For the OSC command
openstack baremetal node list
, adds the--driver <driver>
option to limit the list to nodes with the specified driver.
Adds the
--uuid
option for theopenstack baremetal port create
command so that the new port’s UUID can be specified.
For
openstack baremetal port set
, adds these options:--local-link-connection <key=value>
: Key/value metadata describing local link connection information. Valid keys areswitch_info
,switch_id
, andport_id
. The keysswitch_id
andport_id
are required (repeat option to specify multiple keys).--pxe-enabled
: Indicates that this port should be used when PXE booting this node (default)--pxe-disabled
: Indicates that this port should not be used when PXE booting this node
1.13.0¶
New Features¶
To support dynamic drivers (available starting with ironic API microversion 1.30):
ironic driver-list has two new optional arguments,
--type <type>
for the type of driver (‘classic’ or ‘dynamic’) to list, and--detail
to show detailed information about the drivers.ironic driver-show returns a lot more information, including the type of driver and the default and enabled interfaces.
openstack baremetal driver list has two new optional arguments,
--type <type>
for the type of driver (‘classic’ or ‘dynamic’) to list, and--long
to show detailed information about the drivers.openstack baremetal driver show returns a lot more information, including the type of driver and the default and enabled interfaces.
Adds new arguments to the OSC baremetal-node-set to allow setting boot, console, deploy, inspect, management, power, raid, and vendor hardware interfaces. They are available starting with ironic API microversion 1.30.
Bug Fixes¶
Allows all provision states for OSC node list command with –provision-state argument
1.12.0¶
New Features¶
Add new arguments to the CLI node-create to allow selecting boot, console, deploy, inspect, management, power, raid, and vendor hardware interfaces, when hardware types are used. They are available starting with ironic API microversion 1.31.
Upgrade Notes¶
Hides ‘states’ field in ‘node create’ and ‘node show’ OSC subcommands output because this field is not meant to be present in the output.
Bug Fixes¶
Fixes an issue where certain error messages from the ironic API were suppressed.
1.11.0¶
New Features¶
Supports creation of port groups via
ironic create
andopenstack baremetal create
commands.
Add a new command “ironic node-inject-nmi” to support the injection of Non-Masking Interrupts (NMI).
For OSC commands, the –os-baremetal-api-version optional argument (or OS_BAREMETAL_API_VERSION environment variable) can have the value ‘latest’. If set to ‘latest’, the latest API version known by client will be used in requests to the Bare Metal service.
Add a new OSC command for the injection of Non-Masking Interrupts (NMI), “openstack baremetal node inject nmi”.
For OSC, adds ability to get list of nodes that are not in maintenance mode via the –no-maintenance optional argument to the
openstack baremetal node list
command.
Adds an option
--unassociated
to theopenstack baremetal node list
command. It provides the ability to get a list of the nodes that are not associated with instances.
Adds an option
--wait [<time-out>]
to all of the OSC provisioning commands, except for abort which is not supported. When specified, provisioning commands will wait for the node to reach the desired state before returning. An optional argument, time-out, can be specified which will end the waiting after the specified amount of time (in seconds). The default value for this timeout is 0, which means it will wait indefinitely.
Bug Fixes¶
Fixes an issue with OpenStackClient plugin not being able to work with versioned ironic endpoints.
1.10.0¶
New Features¶
Adds ability to set custom VIF information fields via the –vif-info <key=value> option in the ironic node-vif-attach and openstack baremetal node vif attach commands.
Enhances OSC to support soft reboot and soft power off with power control timeout option.
Add optional arguments ‘–soft’ and ‘–power-timeout’ to the command “node-set-power-state”.
1.9.0¶
New Features¶
Add possibility to remove chassis_uuid for node by adding ‘–chassis-uuid’ argument to ‘openstack baremetal node unset’ command.
Mode and properties fields were added to the portgroup object, along with respective arguments for the ironic CLI and the OpenStackClient plugin, they are available starting with ironic API microversion 1.26.
Extends the Ironic CLI with new commands:
ironic portgroup-create
ironic portgroup-show
ironic portgroup-list
ironic portgroup-delete
ironic portgroup-update
ironic portgroup-port-list
Also extends ironic port-create with –portgroup. Portgroup support was added in Ironic API version 1.24.
Adds support for attaching and detaching VIFs. This is available starting with ironic API microversion 1.28.
The new commands are:
ironic node-vif-list <node>
ironic node-vif-attach <node> <vif-id>
ironic node-vif-detach <node> <vif-id>
openstack baremetal node vif list <node>
openstack baremetal node vif attach <node> <vif-id>
openstack baremetal node vif detach <node> <vif-id>
The chassis of a node can be set via the new –chassis-uuid optional argument for
openstack baremetal node set
.
Extend the OpenStackClient plugin with new commands:
openstack baremetal port group create
openstack baremetal port group show
openstack baremetal port group list
openstack baremetal port group delete
openstack baremetal port group set
openstack baremetal port group unset
Extends the ‘openstack baremetal port’ commands (where applicable) to allow specifying the port group (if any) that a port is a member of, via the new –port-group argument.
Bug Fixes¶
Where applicable, help for commands will output the required arguments in a separate section from the optional arguments. For example, the commands
ironic help node-create
andironic help port-create
.
1.8.0¶
Upgrade Notes¶
Hide nodes field in ‘chasiss create’ and ‘chassis show’ OSC subcommand output because this field is not meant for CLI users.
Hide ports field in ‘node create’ and ‘node show’ OSC subcommand output because this field is not meant for CLI users.
Bug Fixes¶
If a node does not have
chassis_uuid
field in the API response, it is added to the output of the node commands as an empty string.
Fixes an issue in a python 3 environment, where TypeError exceptions were being raised (due to the “requests” library returning bytes instead of a string).
Fixes ‘ironic create <file>’ command so that it handles the file argument(s) correctly.
For node resources that had no boot devices, no supported boot devices, or no passthru methods (and driver resources with no properties or no passthru methods), issuing a request to get that information (for example, ‘ironic driver-get-vendor-passthru-methods fake’) would result in the error “‘NoneType’ has no attribute ‘to_dict’”. This is fixed; an empty list is now returned.
Fixes the OpenStackClient plugin so that it uses the same default API version as the Ironic CLI (1.9 instead of 1.6).
Fixes the OpenStackClient plugin so that microversions 1.21 and 1.22 are supported.
1.7.0¶
New Features¶
Adds a new
ironic create
command that creates resources (chassis, nodes, ports) specified in one or more JSON (*.json
) or YAML (*.yaml
) files.
Adds a new
openstack baremetal create
command. Similar to theironic create
command, this command creates resources specified in one or more files. (Note thatopenstack baremetal create
can also be used to create a node via specified node attributes. However, this feature has been deprecated since 1.4.0.)
The
ironic port-show
,ironic port-list --detail
, andironic node-port-list --detail
commands now include theinternal_info
field in the output.
Adds new OpenStackClient commands:
openstack baremetal chassis create
openstack baremetal chassis delete
openstack baremetal chassis list
openstack baremetal chassis set
openstack baremetal chassis show
openstack baremetal chassis unset
openstack baremetal driver list
openstack baremetal driver passthru call
openstack baremetal driver passthru list
openstack baremetal driver show
openstack baremetal node adopt
openstack baremetal node boot device set
openstack baremetal node boot device show
openstack baremetal node console disable
openstack baremetal node console enable
openstack baremetal node console show
openstack baremetal node passthru call
openstack baremetal node passthru list
openstack baremetal node validate
openstack baremetal port delete
openstack baremetal port list
openstack baremetal port set
openstack baremetal port unset
Please see the help for each command for more information.
Adds an option
--chassis <chassis UUID>
to theopenstack baremetal node list
command. It provides the ability to get a list of the nodes of the specified chassis.
Allows setting and unsetting (clearing) the node’s target RAID configuration via the OpenStackClient plugin commands
openstack baremetal node set --target-raid-config
andopenstack baremetal node unset --target-raid-config
respectively.
Adds
--wait
flag to theironic node-set-provision-state
command and the associatednode.wait_for_provision_state
method in the Python API. The flag works with all provision state changes except forabort
.
Deprecation Notes¶
Deprecates
-l
argument ofopenstack baremetal port create
command in favor of--local-link-connection
, as by OpenStackClient guidelines, the options should be full words.
Bug Fixes¶
Fail with EndpointException instead of IndexError while creating v1 client without
endpoint
argument if os_ironic_api_version isn’t specified.
1.6.0¶
New Features¶
Adds support for the new
node.resource_class
field, which was introduced in API version 1.21.
Extend the OpenStackClient plugin with new commands:
openstack baremetal port show
1.5.0¶
New Features¶
Add support of new fields:
node.network_interface
is introduced in API 1.20, specifies the network interface to use for a node.port.local_link_connection
contains the port binding profile.port.pxe_enabled
indicates whether PXE is enabled for the port.
The
port.local_link_connection
andport.pxe_enabled
fields were introduced in API 1.19.
1.4.0¶
New Features¶
Add support for specifying the expiry (in seconds) of the caching of the ironic API version, via the environment variable “IRONICCLIENT_CACHE_EXPIRY”.
Add a –json option to the client to display the JSON response body from the Ironic API without formatting it.
Extend the OpenStackClient plugin with new commands:
openstack baremetal node abort
openstack baremetal node clean
openstack baremetal node create
openstack baremetal node delete - Supports deleting multiple nodes
openstack baremetal node deploy
openstack baremetal node inspect
openstack baremetal node list
openstack baremetal node maintenance set
openstack baremetal node maintenance unset
openstack baremetal node manage
openstack baremetal node power
openstack baremetal node provide
openstack baremetal node reboot
openstack baremetal node rebuild
openstack baremetal node set
openstack baremetal node show
openstack baremetal node undeploy
openstack baremetal node unset
openstack baremetal port create
Support has been added for the node-set-provision-state verb
adopt
which requires API version 1.17. This feature allows an operator move a node fromMANAGABLE
state toACTIVE
state without performing cleaning or a deployment operation.
Deprecation Notes¶
Deprecating the following commands in favor of the new commands:
openstack baremetal create
openstack baremetal delete
openstack baremetal list
openstack baremetal set
openstack baremetal show
openstack baremetal unset
These will be removed in the ‘Queens’ release.
Bug Fixes¶
The client will now retry on keystoneauth retriable connection failures if retries are enabled for a particular request. This ensures that on a temporary network outage to the keystone auth services a request we be retried the requested number of times before raising an exception.
Fixes an issue when SessionClient ignores endpoint_override while doing session requests, which leads to undeterministic results in multi-region deployments.
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}’.
1.1.0¶
New Features¶
Add support to the openstackclient plugin for all Ironic API versions of the form 1.x, up to the latest known minor version. The regular Ironic CLI already supports all known versions.
Other Notes¶
Start using reno to manage release notes.