Train Series (9.0.0 - 9.2.x) Release Notes


Bug Fixes

  • Fixes an issue where a failed inspection due to a transient failure can prevent retry attempts to inspect to be perceived as a failure. If a prior inspection fails and is in error state, when a new introspection is requested, the state is now appropriately set to starting.


Bug Fixes

  • Fixes the issue that IPv6 link local addresses are ignored during interface validation which fails introspection.

  • Fixes database migrations with SQLAlchemy 1.3.20.

  • No longer tries to set local_gb to -1 if the matched root device has size of zero.


Bug Fixes

  • Fixes accessing API endpoints with trailing slashes. Now they’re treated the same way as without slashes, although the latter remain canonical URLs.


Bug Fixes

  • No longer aborts the whole process if one periodic task fails.

  • No longer uses introspection delay for nodes with manage_boot==False (i.e. boot is managed by ironic). It is useless and may actually break introspection if a node boots before it gets whitelisted in the PXE filter.

  • The introspection start API is now synchronous when manage_boot==False. This means that any failures will be propagated to ironic, preventing it from powering a node on and booting it without the PXE filter updated.


Bug Fixes

  • Fixes an issue during manual inspection of active nodes where the node uuid was not passed back to the inspector when it tried to identify a matching port.

  • No longer tries to power off nodes after introspection if manage_boot is False.

  • Introspection now respects the force_persistent_boot_device parameter in a node’s driver_info.

  • Fixes an issue happening during manual inspection of active nodes where the code attempts to delete or update ports, while the only modification allowed for active nodes is updating the MAC address if the node is in maintenance.



The Train release of Ironic Inspector features support for running separate API and conductor services.

New Features

  • Allows splitting the ironic-inspector service into ironic-inspector-api and ironic-inspector-conductor which coordinate via tooz and its underlying backend. A new configuration option [DEFAULT]standalone is introduced to enable this feature. The configuration defaults to True, and ironic-inspector runs as a single service, which is compatible with the old behavior. When set to False, ironic-inspector-api-wsgi is used to start the API service, and ironic-inspector-conductor is used to start the conductor service. For ironic-inspector running in non-standalone mode, the user needs to set the new configuration option [coordination]backend_url, which specifies the backend used for coordination.

Upgrade Notes

  • Updates the default Ironic API version to 1.56, which is the most recent version in the Stein series Bare Metal release (12.1.0).

Bug Fixes

  • Fixes introspection of active nodes that are not in the lookup cache, see story 2006233.


New Features

  • Adds the capability for introspection data to be posted to the API when a baremetal node is in active or rescue states. This feature may be useful for data center operators who wish to update introspection data periodically.

    To enable this feature, set [processing]permit_active_introspection to True. When this is set, the value of [processing]power_off is overridden for nodes in active or rescue states.

  • Adds support to enroll node with IPv6 BMC address. Introduces a configuration option [discovery]enabled_bmc_address_version to specify the order of preferred IP version of the BMC address.

Upgrade Notes

  • The deprecated options from the ironic section os_region, auth_strategy, ironic_url, os_service_type and os_endpoint_type have been removed. Please use keystoneauth options instead.

  • The deprecation configuration options os_service_type, os_region and os_endpoint_type from the [swift] section have been removed.

Deprecation Notes

  • The configuration option [swift]max_retries is deprecated. It has been doing nothing for a few releases already.

Bug Fixes

  • No longer fails introspection if memory or CPU information is not provided in the inventory. These are no longer required for scheduling, introspection should not require them either.


New Features

  • A new option enable_mdns allows to enable publishing the baremetal introspection API endpoint via mDNS as specified in the API SIG guideline.

  • Adds support to reapply with provided unprocessed introspection data. The introspection data is supplied in the body of POST request to /v1/introspection/<node_id>/data/unprocessed. The introspection data will also be saved to storage backend.

Upgrade Notes

  • The deprecated SSL configuration options [DEFAULT]ssl_cert_path and [DEFAULT]ssl_key_path were removed, please use configuration options from [ssl] section.

  • The deprecated configuration option [processing]store_data_location was removed.

Security Issues

  • Fixes insufficient input filtering when looking up a node by information from the introspection data. It could potentially allow SQL injections via the /v1/continue API endpoint. See story 2005678 for details.

Bug Fixes

  • Fixes an issue when extra_hardware plugin failed to save extra hardware information to Swift, the collected information is not processed and consumed.

  • Fixes an issue while mapping port InfiniBand MAC address to EthernetOverInfiniBand MAC. Prior to this fix, it will fail to map and raise an exception.