Current Series Release Notes


New Features

  • Allows reading the root_device from instance_info, overriding the value in properties.

  • Adds support to allow selection of RAID 5 and RAID 6 protection levels for software RAID support. This may only be the secondary volume, as these volume types of software RAID volumes cannot be used to directly boot an operating system.

Upgrade Notes

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

  • For Software RAID, the IPA will no longer assume that the root file system is in the first partition of the deployed image. Instead, the IPA will use the UUID passed from the conductor to identify the root partition. Before upgrades, the root file system UUID needs hence to be set as part of the node’s ‘driver_internal_info’ or as ‘rootfs_uuid’ image metadata.

Security Issues

  • Enables pre-hashed passwords to be supplied to the rescue extension. See story 2006777 for more information.

Bug Fixes

  • Fixes the workflow for wholedisk images when using uefi boot mode, when possible it will use efibootmgr instead of grub2 to update the nvram.

  • Fixes an issue with the tinyIPA CI testing image by providing a fallback root volume uuid detection method via the findfs utility, which is also already packaged in most distributions with lsblk.

    This fallback was necesary as the lsblk command in TinyCore Linux, upon which TinyIPA is built, does not return data as expected for volume UUID values.

  • Fixes an issue in fallback error handling where native iSCSI controls are unavailable due to the composition of the IPA ramdisk and where direct tgtadm commands also fails.

    Before fallback error handling was added, the teardown was skipped completely in the event of the native iSCSI controls being unavailable. The end user behavior is now as it was previously prior to the fallback error handling being added, but IPA will still continue to attempt to clean up the iSCSI session.

  • Skips NIC numa_node discovery if it’s not assigned to a numa_node as in some rare case, such as a VM with virtual NUMA node, NICs might not be in a NUMA node and this breaks numa-topology discovery.

  • Fixes the numa-topology inspection collector to be compatible with Pint < 0.5.2.

  • Fixes an issue where wholedisk images are requested for deployment and the bootloader is overridden. IPA now explicitly looks for the boot partition, and examines the contents if the disk appears to be MBR bootable. If override/skip bootloader installation does not apply if UEFI or PREP boot partitions are present on the disk.

Other Notes

  • Bumps up ipa-ip-lookup-attempts to 6, adding extra time for networking to be setup before giving up.

  • The output of lsblk and the contents of /proc/mdstat are now collected with the ramdisk logs for debugging.

  • The sample configuration file etc/ironic_python_agent/ironic_python_agent.conf.sample is no longer shipped with the source code. It can be generated locally with:

    tox -egenconfig