Current Series Release Notes


New Features

  • Supports attaching configdrives when doing ramdisk deploy with the redfish-virtual-media boot. A configdrive is attached to a free USB slot.

Upgrade Notes

  • The default value of [oslo_policy] policy_file config option has been changed from policy.json to policy.yaml. Operators who are utilizing customized policy files or previously generated static policy files (which are not needed by default), should generate new policy files and modify them to meet their needs in the event of any new policies or rules have been added. Please consult the oslopolicy-convert-json-to-yaml tool to convert a JSON to YAML formatted policy file in backward compatible way.

Deprecation Notes

  • Use of legacy policy format was deprecated by the oslo.policy library during the Victoria development cycle. As a result, this deprecation is being noted in the Wallaby with an anticipated future removal of support by oslo.policy. As such operators will need to convert to YAML policy files. Please see the upgrade notes for details on migration of any custom policy files.

Bug Fixes

  • Boot mode is now correctly handled when using redfish-virtual-media boot with locally booted images.

  • The redfish-virtual-media boot interface now makes fewer calls to the BMC when preparing boot.

  • Failed cleaning no longer results in maintenance mode if no clean step is running, e.g. on PXE timeout or failed clean steps validation.

Other Notes

  • Register all conductor hardware interfaces together. Adds all conductor hardware interfaces in to the database in a single transaction and to allow this update the register_hardware_interfaces API. This allows Restful API consumers to understand if the conductor is fully on-line via the presence of driver entries. Previously this was done one driver at a time.


New Features

  • Allows disabling automated cleaning per node if it is enabled globally. An existing automated_clean field will allow disabling of automated cleaning on the node object. A new baremetal:node:disable_cleaning policy is added which defaults to baremetal:node:update.

  • Retrieves BIOS configuration settings when moving a node to manageable. This allows the settings to be used when choosing which node to deploy. For more details, see story 2008326.

  • When deploying a node with software RAID with an image not from Glance, the new instance_info field image_rootfs_uuid can be used to specify the UUID of the root partition to install the bootloader on.

  • The ramdisk log file name now contains the node name when it is set.

  • Provides a new vendor passthru method for Redfish to eject a virtual_media device. A specific device can be given (either cd, dvd, floppy, or usb), or if no device is provided then all attached devices will be ejected.

  • A new option [agent]api_ca_file allows passing a CA file to the ramdisk when redfish-virtual-media boot is used. Requires ironic-python-agent from the Wallaby cycle.

Known Issues

  • Building ramdisks for DHCP-less deploy using the simple-init element is known not to work for distributions using NetworkManager. The debian-minimal element seems to work.

  • When redfish-virtual-media is used, fast-track mode will not work as expected, nodes will be rebooted between operations.

Upgrade Notes

  • The default value of [api]api_workers is now limited to 4. Set it explicitly if you need a higher value.

  • An automated detection of a IPMI BMC hardware vendor has been added to appropriately handle IPMI BMC variations. Ironic will now query this and save this value if not already set in order to avoid querying for every single operation. Operators upgrading should expect an elongated first power state synchronization if for nodes with the ipmi hardware type.

  • The agent RAID interface now removes any root device hint after the RAID configuration is successfully deleted.

Bug Fixes

  • No longer launches too many API workers on systems with a lot of CPU cores by default.

  • Fixes the logic which determines the partition table type to utilize with partition images account for the boot mode of the machine. If no value is set by the API user, Ironic now correctly defaults to GPT if the node has been set in UEFI mode.

  • It is no longer possible to set a port’s physical_network to an empty string, making the port unusable.

  • Fixes recognition of a busy agent to also handle recognition during deployment steps by more uniformly detecting and identifying when the ironic-python-agent service is busy.

  • Fixes inspection with the idrac-redfish-virtual-media boot interface.

  • Correctly handles the node’s custom network data when the noop network interface is used. Previously it was ignored.

  • Fixes incorrect injected network data location when using virtual media.

  • Fixes redfish BIOS apply_configuration clean and deploy step to fail correctly in case of error when checking if BIOS updates are successfully applied. Before the fix when BIOS updates were unsuccessful, then node cleaning or deploying failed with timeout instead of actual error in clean or deploy step.

  • Fixes idrac-wsman RAID create_configuration clean step, apply_configuration deploy step and delete_configuration clean and deploy step to fail correctly in case of error when checking completed jobs. Before the fix when RAID job failed, then node cleaning or deploying failed with timeout instead of actual error in clean or deploy step.

  • Fixes issues when UEFI boot mode has been requested with persistent boot to DISK where some versions of ipmitool do not properly handle multiple options being set at the same time. While some of this logic was addressed in upstream ipmitool development, new versions are not released and vendors maintain downstream forks of the ipmitool utility. When considering vendor specific selector differences along with the current stance of new versions from the upstream ipmitool community, it only made sense to handle this logic with-in Ironic. In part this was because if already set the selector value would not be updated. Now ironic always transmits the selector value for UEFI.

  • Fixes handling of Supermicro UEFI supporting BMCs with the ipmi hardware type such that an appropriate boot device selector value is sent to the remote BMC to indicate boot from local storage. This is available for both persistent and one-time boot applications. For more information, please consult story 2008241.

  • Fixes handling of the ipmi hardware type where UEFI boot mode and “one-time” boot to PXE has been requested. As Ironic now specifically transmits the raw commands, this setting should be properly appied where previously PXE boot operations may have previously occured in Legacy BIOS mode.

  • Calculating the ipmitool -N and -R arguments from the configuration options [ipmi]command_retry_timeout and [ipmi]min_command_interval now takes into account the 1 second interval increment that ipmitool adds on each retry event.

    Failure-path ipmitool run duration will now be just less than command_retry_timeout instead of much longer.

  • When configured to use JSON RPC, the [DEFAULT]host configuration option can now be set to an IPv6 address. Previously it could only be an IPv4 address or a DNS name.

  • No longer tries to pass BOOTIF=None as a kernel parameter when using virtual media. This could break inspection.

  • Fixes the issue that when the MAC address of a port group is not set and been attached to instance, the landed bond port cannot get IP address due to inconsistent MAC address between the tenant port and the initially allocated one in the config drive.

  • Fixes the issue that root device hint is not removed after the agent RAID interface has successfully deleted RAID configuration. The previous hint is not guranteed to be valid and may cause a deployment failure.

  • Fixes cleaning with the ramdisk deploy interface by reusing the same procedure as for the direct deploy interface.

  • Fixes a bug where a conductor could fail to complete a deployment if there was contention on a shared lock. This would manifest as an instance being stuck in the “deploying” state, though the node had in fact started or even completed its final boot.

  • After changing the boot device via Redfish, checks that the boot mode being reported matches what is configured and, if not, sets it to the configured value. Some BMCs change the boot mode when the device is set via Redfish, see story 2008252 for details.

  • Fixes wiping agent token on rebooting via API.

  • Adds secure boot support to ilo-uefi-https boot interface. Secure boot support already exists for other boot interfaces but missing for this interface.

  • The virtual media ISO image building process now respects the default_boot_mode configuration option.

  • Fixes timeout in fast-track mode with redfish-virtual-media when running one operation after another (e.g. cleaning after inspection).

  • Fixes permission issues when injecting network data into a virtual media.

  • Adds timeout to HTTP image validation and downloading operations, so that the direct deploy does not hang when the remote server is not responsive. The default timeout is 60 seconds and can be changed via the new webserver_connection_timeout option.

Other Notes

  • Adds a detect_vendor management interface method to the ipmi hardware type. This method is being promoted as a higher level interface as the fundimental need to be able to have logic aware of the hardware vendor is necessary with vendor agnostic drivers where slight differences require slightly different behavior.

  • The configdrive argument to some utils in ironic.common.images and ironic.drivers.modules.image_utils has been replaced with a new inject_files argument. The previous approach did not really work in all situations and we don’t expect 3rd party drivers to use it.