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
--verboseflag.
Some warnings are no longer duplicated.
4.11.0¶
New Features¶
Adds support for API version
1.78and “node history” functionality allowing users to query a list of events, and retrieve a single history event from a baremetal node.
Adds
get_history_listandget_history_eventmethods 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
mkisofsandxorrisofsin adition to the previously supportedgenisoimageutility. 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 listcommand to include support for the BIOS registry. The--longoption will retrieve and display the additonal BIOS registry fields, the--fieldsoption will retrieve and display selected fields. Thebaremetal node bios setting showincludes these fields by default with no changes.
Adds support to display node fields
boot_modeandsecure_bootwhich are introduced in API 1.75.
Adds support for changing node states
boot_modeandsecure_bootin sync with functionality introduced in API 1.76.
4.7.0¶
Bug Fixes¶
The
--debugoption now works correctly with the built-inbaremetalcommand line tool.
Fixes using
network_datawith the--fieldsparameter.
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-stepsand--target-raid-configarguments, as well as for the--stepsargument 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_cleanto False using the new--no-automated-cleanargument 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_uuidparameter. 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-dataattribute 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-openstackclientto 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 listcommand.
Adds support to display and update the
lesseefield of nodes, which is introduced in API 1.64.
Adds a new
baremetalCLI tool, mostly targeted at standalone users.
Upgrade Notes¶
The dependency on
oslo.i18nis 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_clientcall, 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
retiredandretired_reasonwith API 1.61. Setting theretiredfield 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.configis now explicit.
Bug Fixes¶
Fails with a clear TypeError when a session is not provided to
client.Clientorv1.client.Client. Before we used to throw:_construct_http_client() takes at least 1 argument
Removes the requirement on passing either
endpoint_overrideoros_ironic_api_versiontoget_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 --ownerwas 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
HTTPClientclass in the release 3.0.0, it is now mandatory to pass a session intoironicclient.v1.client.Client. The helper callironicclient.client.get_clientcan also be used to construct a session implicitly.
Fixes
TypeErrorwhen the bare metal endpoint cannot be detected from a session. A properEndpointNotFoundexception is raised now.
Fixes using
endpoint_overridewith theSessionClient.
3.0.0¶
Upgrade Notes¶
Removes deprecated argument
endpointfrom the v1.client.Client constructor. Please use the standard keystoneauth argument nameendpoint_overrideinstead.
Removes deprecated
common.http.HTTPClientclass. Thecommon.http.SessionClientclass should be used instead.
Removing deprecated keystone arguments in favor of standardized argument naming.
The long deprecated
ironiccommand has been removed. Theopenstack baremetalcommand 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
--nodeargument tobaremetal allocation createto support allocation backfilling.
Adds support for the allocation update API introduced in API version 1.57. Adds new commands:
openstack baremetal allocation setopenstack baremetal allocation unset
Bug Fixes¶
Prevent trying to access endpoints with
/v1/v1when using endpoint overrides containing/v1.
2.7.0¶
New Features¶
The consumer of ironicclient may be deriving their
get_clientkwargs from config inherited from ksa, where theinterfaceoption has been deprecated in favor ofvalid_interfaces. To accomodate this, we now acceptvalid_interfacesas 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_interfaceshas already been translated tointerfaces).
Adds the ability to list and show conductors known by the Bare Metal service, as well as showing the
conductorfield on the node, introduced in API 1.49.
Adds the
Eventresource and theclient.events.createPython 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-smartnicargument to the following CLI commands:openstack baremetal port createopenstack baremetal port setopenstack baremetal port unset
This was introduced in API version 1.53.
Adds
descriptionfield 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 theirdescriptionfield contains specified substring.
Adds support to display and update the
ownerfield 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 createopenstack baremetal allocation deleteopenstack baremetal allocation getopenstack baremetal allocation list
Supports passing a JSON object to
--config-driveto 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 createopenstack baremetal deploy template deleteopenstack baremetal deploy template listopenstack baremetal deploy template setopenstack baremetal deploy template show
Bug Fixes¶
The
interfaceargument was being ignored so that the HTTP client was always using the public endpoint for Ironic. This fixes it so that theinterfaceargument is taken into consideration. See story 2005118.
2.6.0¶
New Features¶
Adds the ability to set the
automated_cleanfield (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
protectedandprotected_reasonfields introduced in API 1.48. Settingprotectedallows protecting a deployed node from undeploying, rebuilding and deleting.
2.5.0¶
New Features¶
Adds support for the
--conductor-groupargument to the following CLI commands:openstack baremetal node createopenstack baremetal node setopenstack baremetal node unsetopenstack 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 setcommand:--reset-XXX-interface, whereXXXis a name of a hardware interface. This argument resets the node’sXXX_interfacefield to its calculated default (based on the node’s hardware type and the configuration).
Adds the new argument
--reset-interfacesto theopenstack baremetal node setcommand. It can be used together with--driverto reset all interfaces to their defaults.
2.4.0¶
New Features¶
The client now supports
noneauthorization 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-libversion1.10.0, by providing--os-auth-type noneand--os-endpointargument toopenstackcommandironic CLI – just specify the
--ironic-urlor--os-endpointargument in theironiccommand (or set the corresponding environment variable)python API – specify the
endpoint_overrideargument to theclient.get_client()method (in addition to the requiredapi_version)
Supports the node’s
faultfield, 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 createopenstack baremetal node showopenstack baremetal node setopenstack baremetal node unsetopenstack baremetal driver listopenstack baremetal driver show
Adds support for
NodeManager.set_provision_state,NodeManager.update,NodeManager.get, andNodeManager.listto accept anos_ironic_api_versionkeyword 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
UnsupportedVersionexception is raised.
Deprecation Notes¶
common.http.HTTPClientclass is deprecated and will be removed in the Stein release. If you initialize the ironic client viav1.client.Clientclass directly, please pass the keystoneauth session to the Client constructor, so thatcommon.http.SessionClientis used instead.
As part of standardizing argument naming to the one used by keystoneauth, the following arguments to
client.get_clientmethod are deprecated and will be removed in Stein release:os_auth_token: usetokeninsteados_username: useusernameinsteados_password: usepasswordinsteados_auth_url: useauth_urlinsteados_project_id: useproject_idinsteados_project_name: useproject_nameinsteados_tenant_id: usetenant_idinsteados_tenant_name: usetenant_nameinsteados_region_name: useregion_nameinsteados_user_domain_id: useuser_domain_idinsteados_user_domain_name: useuser_domain_nameinsteados_project_domain_id: useproject_domain_idinsteados_project_domain_name: useproject_domain_nameinsteados_service_type: useservice_typeinsteados_endpoint_type: useinterfaceinsteadironic_url: useendpointinsteados_cacert,ca_file: usecafileinsteados_cert,cert_file: usecertfileinsteados_key,key_file: usekeyfileinstead
The
endpointargument to thev1.client.Clientconstructor 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
--waitargument or thewait_for_provision_statefunction) no longer aborts when the node’slast_errorfield 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 createopenstack baremetal node showopenstack baremetal node setopenstack baremetal node unsetopenstack baremetal driver listopenstack 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 rescueopenstack baremetal node unrescue
2.2.0¶
New Features¶
Allows a python API user to pass
latestto the client creation request for theos_ironic_api_versionparameter. 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_versionandclient.is_api_version_negotiatedrespectively.
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_versionparameter 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_traitsNodeManager.add_traitNodeManager.set_traitsNodeManager.remove_traitNodeManager.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 setcommand.
Other Notes¶
The maximum supported version supported for negotiation is now defined in the
common/http.pyfile. Any new feature added to the API client library must increment this version.
The maximum known version supported by the
OpenStackClientplugin is now defined by the maximum supported version for API negotiation as defined in thecommon/http.pyfile.
2.1.0¶
Bug Fixes¶
Replaces
openstack baremetal node power <on|off>with the two commands:openstack baremetal node power onandopenstack 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 baremetalandironiccommands changed from1.9tolatest.latestis 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-ironicclientpackage no longer includes thepython-openstackclient(OSC) package as a requirement.python-openstackclientis needed if using theopenstack baremetalCLI.The
ironiccommand line interface (ironiccommands) is deprecated and will be removed in the OpenStack S* release. Please use theopenstack baremetalCLI instead.
New Features¶
Adds missing
wanbootvalue to the list of supported boot devices.
The
ironiccommand 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 thelatestvalue.
The bare metal OSC client (
openstack baremetalcommands) 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 thelatestvalue.
Adds the ability to specify a configuration drive when rebuilding a node, via the
--config-driveoption to theopenstack baremetal node rebuildcommand. This is available starting with Bare Metal API version 1.35.
Upgrade Notes¶
The default API version for the
ironiccommand changed from1.9tolatest.latestis 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_VERSIONenvironment variable or use the--ironic-api-versionCLI argument.Note
This change does not affect the Python API.
The default API version for the bare metal OSC client (
openstack baremetalcommands) changed from1.9tolatest.latestis 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_VERSIONenvironment variable or use the--os-baremetal-api-versionCLI argument.Note
This change does not affect the Python API.
python-ironicclientpackage no longer has thepython-openstackclientpackage (OSC) as a requirement.Users installing only the
python-ironicclientpackage will not automatically get access toopenstack baremetal ...OSC commands. To have them available, thepython-openstackclientpackage must be installed separately, or, when installingpython-ironicclientviapip, the newcliextra 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 deleteopenstack baremetal listopenstack baremetal showopenstack baremetal setopenstack baremetal unset
Instead, use these corresponding equivalent commands:
openstack baremetal node deleteopenstack baremetal node listopenstack baremetal node showopenstack baremetal node setopenstack baremetal node unset
Support for creating a single node via
openstack baremetal createhad been previously deprecated; it is now no longer available. Instead, use the equivalent commandopenstack baremetal node create. The only valid usage ofopenstack baremetal createis to create various resources (chassis, nodes, port groups, and ports) from resource files.
Deprecation Notes¶
The
ironiccommand line interface (ironiccommands) is deprecated and will be removed in the OpenStack S* release. Please use theopenstack baremetalcommand line interface instead.
Bug Fixes¶
openstack baremetalcommands no longer fail when specifyinglatestas the API version (via--os-baremetal-api-versionorexport 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
ironiccommand no longer have to specify an explicit API version to use the latest features. The default API version changed from1.9tolatest, which is the maximum version understood by both the client and the server.
Users of the
openstack baremetalcommands no longer have to specify an explicit API version to use the latest features. The default API version changed from1.9tolatest, which is the maximum version understood by both the client and the server.
When using
--os-baremetal-api-version=latest(foropenstack baremetalCLI) or--ironic-api-version=latest(forironicCLI), 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 preventedlatestfrom working with older servers.
No longer emits the incorrect warning “Please specify what to set” (or “unset”) when only the
--target-raid-configis specified in theopenstack baremetal node set(orunset) command.
1.16.0¶
New Features¶
Adds support for the
port.physical_networkfield, which was introduced in API version 1.34.
Deprecation Notes¶
Currently, the default API version for the
ironictool 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 baremetalandironicCLI commands for volume connector resources.openstack baremetal volume connector createopenstack baremetal volume connector listopenstack baremetal volume connector showopenstack baremetal volume connector setopenstack baremetal volume connector unsetopenstack baremetal volume connector deleteironic volume-connector-createironic volume-connector-listironic volume-connector-showironic volume-connector-updateironic volume-connector-delete
They are available starting with ironic API microversion 1.32.
Adds these
openstack baremetalandironicCLI commands for volume target resources.openstack baremetal volume target createopenstack baremetal volume target listopenstack baremetal volume target showopenstack baremetal volume target setopenstack baremetal volume target unsetopenstack baremetal volume target deleteironic volume-target-createironic volume-target-listironic volume-target-showironic volume-target-updateironic 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 createopenstack baremetal node showopenstack baremetal node setopenstack baremetal node unsetopenstack baremetal driver listopenstack baremetal driver showironic node-createironic node-showironic node-updateironic driver-listironic 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¶
--wrapCLI argument forironic driver-propertiesandironic driver-raid-logical-disk-propertiescommands 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_configfield.)
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
--uuidoption for theopenstack baremetal port createcommand 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_idandport_idare 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--detailto 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--longto 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 createandopenstack baremetal createcommands.
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 listcommand.
Adds an option
--unassociatedto theopenstack baremetal node listcommand. 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-createandironic 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_uuidfield 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 createcommand that creates resources (chassis, nodes, ports) specified in one or more JSON (*.json) or YAML (*.yaml) files.
Adds a new
openstack baremetal createcommand. Similar to theironic createcommand, this command creates resources specified in one or more files. (Note thatopenstack baremetal createcan 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 --detailcommands now include theinternal_infofield in the output.
Adds new OpenStackClient commands:
openstack baremetal chassis createopenstack baremetal chassis deleteopenstack baremetal chassis listopenstack baremetal chassis setopenstack baremetal chassis showopenstack baremetal chassis unsetopenstack baremetal driver listopenstack baremetal driver passthru callopenstack baremetal driver passthru listopenstack baremetal driver showopenstack baremetal node adoptopenstack baremetal node boot device setopenstack baremetal node boot device showopenstack baremetal node console disableopenstack baremetal node console enableopenstack baremetal node console showopenstack baremetal node passthru callopenstack baremetal node passthru listopenstack baremetal node validateopenstack baremetal port deleteopenstack baremetal port listopenstack baremetal port setopenstack baremetal port unset
Please see the help for each command for more information.
Adds an option
--chassis <chassis UUID>to theopenstack baremetal node listcommand. 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-configandopenstack baremetal node unset --target-raid-configrespectively.
Adds
--waitflag to theironic node-set-provision-statecommand and the associatednode.wait_for_provision_statemethod in the Python API. The flag works with all provision state changes except forabort.
Deprecation Notes¶
Deprecates
-largument ofopenstack baremetal port createcommand 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
endpointargument if os_ironic_api_version isn’t specified.
1.6.0¶
New Features¶
Adds support for the new
node.resource_classfield, 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_interfaceis introduced in API 1.20, specifies the network interface to use for a node.port.local_link_connectioncontains the port binding profile.port.pxe_enabledindicates whether PXE is enabled for the port.
The
port.local_link_connectionandport.pxe_enabledfields 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
adoptwhich requires API version 1.17. This feature allows an operator move a node fromMANAGABLEstate toACTIVEstate 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.