Ussuri Series (10.0.0 - 10.1.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 database migrations with SQLAlchemy 1.3.20.


Bug Fixes

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

  • Fixes AttributeError: 'Node' object has no attribute 'uuid' when trying to introspect an active node that is not currently in the cache.

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

  • Fixes the node identification logic to enable a user to list the redfish_address label for driver_info field values for identification of a machine using the [DEFAULT]ipmi_address_fields configuration option. Previously the host would just not be matched as the full URL would be evaluated instead of what the URL may resolve to.

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

  • 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.

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


New Features

  • Added the capability to define a scope for the inspection process. Previously, all introspection rules were applied when inspecting any node. There was no mechanism to apply only a selected set of rules. This change introduces a scope field to introspection rules. If a scope is set on an introspection rule, it will only apply to nodes that have a matching inspection_scope property. If not set, it will apply to all nodes.

  • Added physnet_cidr_map processing plugin, the plugin uses the IP address of interfaces returned during inspection and set the port physical_network via lookup from a CIDR to physical network mapping in config option [port_physnet]/cidr_map.

Upgrade Notes

  • The python-ironicclient package has been removed as a dependency in favor of openstacksdk. Third party modules and plugins will require an update if they previously invoked ironicclient.

Other Notes

  • The devstack plugin for ironic-inspector has been changed to utilize pre-built ironic-python-agent images based on Centos8 instead of legacy CoreOS based images.

  • Added base class (BasePhysnetHook) for plugins that assign a physical network to ports.


Upgrade Notes

  • Python 2.7 support has been dropped. Last release of ironic-inspector to support Python 2.7 is OpenStack Train. The minimum version of Python now supported by ironic-inspector is Python 3.6.

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.