Ironic 2021

2021 is over, right? Oh, 3 weeks ago already?? Time flies...

Here is my recollection of the most important events in the ironic world, as well as new features and other changes.

Charming Wallaby

The first release of 2021 brought in its paws these treats:

Generic work

BIOS settings retrieval

now happens automatically when a node transitions to the manageable state. By the time you need to decide which manual clean steps to run to prepare your node, the current settings are already cached and available through the BIOS API.

Custom deploy steps

can now be requested directly via the provisioning API, not only through deploy templates. This addition mostly targets standalone users and is already used in OpenShift for coreos-installer integration.

NVMe secure erasure

is now available in addition to the ATA secure erase. No more shredding your fancy NVMe storage! (But secure erase when formatting must be supported by the device.)

New policy framework

allows accessing Ironic API with system and project scoped tokens, as well as writing API policies that take these into account. See the new RBAC documentation for details.

Lazy-loading of objects

is an internal change that resulted in an up to 60% decrease of database reads!

Driver goodies

CD ejection via Redfish

can now be requested through a new eject_vmedia vendor passthru API. This is a handy addition for those who use the ramdisk deploy to run a third party installer and want to automatically disconnect the virtual CD in the end of the installation.

Automatic secure boot configuration

means that you can request secure boot to be configured after the deployment is done but before the node is booted into the instance. This makes secure boot compatible with iPXE out of box. The downside is that you don't have secure boot active when deploying and cleaning.

Redfish RAID

The redfish hardware type now supports building RAID.

iDRAC hardware type

added support for resetting iDRAC, clearing the job queue, exporting/importing configuration and building RAID.

Minor extras

Injecting files

into the final instances is now possible with the optional inject_files deploy step.

Disabling automated cleaning

can now be done per-node via the API, provided that the new policy baremetal:node:disable_cleaning allows it. We don't recommend disabling cleaning, but it may be necessary in some complex flows.

Cleaning pstore

is now possible via the new erase_pstore clean step. If you don't know what pstore is, you probably don't want to clean it :)

Intrepid Xena

Xena bravely brought us a smaller number of nonetheless very important additions.

Generic work

BIOS settings schema

is now available via the BIOS API. No more guessing, which fields are can set and to which values!

iSCSI deploy removal

finally happened! The recommended replacement is the good old direct deploy, which uses HTTP to deliver the image to the ramdisk.

Attention: you will need to configure an HTTP server now. Previously, those who relied on the pxe boot interface (as opposed to ipxe or virtual media) could avoid that.

Current boot mode and secure boot status

are now available in the API as the node's boot_mode and secure_boot fields. You can also request an immediate change via the new API endpoints:

PUT /v1/nodes/{node}/states/boot_mode
PUT /v1/nodes/{node}/states/secure_boot

To apply the change during deployment, you should still use the boot_mode and secure_boot capabilities.

Node history

is now saved and exposed via the new history API. You can track all important changes to nodes and all failures there.

If you want to save some performance by disabling this feature, you can do it via the new boolean configuration option [conductor]node_history.

Performance improvements

Thanks to the heroic effort by Julia the API performance has improved significantly (on top of the previous improvements in Wallaby).

Driver goodies

Redfish event subscriptions

can now be created/listed/deleted via the new event vendor passthru.

Minor extras

Hardware burn-in

is now available as a series of new clean steps. Make your nodes undergo some serious testing before trusting them with your precious production!

[deploy]ramdisk_image_download_source

is a new configuration option that controls how the image is cached and delivered when using the ramdisk deploy.

Summary

The changes listed above are just a subset of numerous additions and improvements to ironic and its satellite projects, so my apologies to those, whose favorite items I missed! Overall, it was a productive year, despite all the storms we had to withstand in our lives. The year 2022 will see us depleting the last two letters of the alphabet for release names - let's make them count!