Ironic Python Agent Builder Release Notes


Bug Fixes

  • Add support for TinyIPA predictible device names in script by changing of NETDEVICES variable. It will support any device from /proc/net/dev starting with e or p letter.


New Features

  • Adds nvme-cli package required for ironic-python-agent to be able to fetch information from NVMe controllers and perform NVMe-native cleaning operations.

  • Supports installing ironic-lib from source in the DIB build. Set

    export IRONIC_LIB_FROM_SOURCE=true

    to use.

Bug Fixes

  • Removes unnecessary requirement on sdparm (removed in python-hardware 0.20.0).

  • Removes support for PYOPTIMIZE_TINYIPA, which now casues the TinyIPA image to be approximately 5 MB larger. This was due to an incompatability with the oslo.privsep library dependency on pycparser which cannot load into precompiled python programs where the original source embedded documentation is not present.


New Features

  • Excess hardware firmware on Debian based agent ramdisks is now automatically removed.

  • The new element ironic-ramdisk-base can be used to build ramdisks without IPA itself or any of its dependencies.

  • The ironic-python-agent-builder CLI now supports --lzma flag to compress images with the LZMA algorithm.

  • Firmware for netronome, amdgpu, qcom, ti-communication, ti-keystone, ueagle-atm, rsi, mrvl, brcm, mediatek, ath10k, rtlwifi are now removed by default. Set IPA_REMOVE_FIRMWARE to override.

Upgrade Notes

  • Non-free firmware is now installed by default on Debian DIB builds. Change the available repositories to disable:


Bug Fixes

  • Free firmware is now installed by default on Debian DIB builds.

  • No longer tries to install biosdevname on non Red Hat systems (dropped from Ubuntu after Bionic, never present in Debian).

  • The DIB-based ramdisk is now always built with SELinux set to permissive. Enabling SELinux may result in broken ramdisks and does not make much sense for IPA anyway.


New Features

  • Adds a new element extra-hardware for configuring extra hardware collection in the ramdisk.


New Features

  • Supports building images for Ussuri+ on CentOS 7 using Python 3. This is not recommended but is necessary for some older hardware.

Bug Fixes

  • Installs linux-firmware on the DIB images since it’s now uninstalled by the base elements on Red Hat operating systems.


New Features

  • Adds packages required for ironic-python-agent to synchronize the system clock, namely ntpdate. The other dependency of the agent requires is hwclock, however that package is provided by util-linux.

Upgrade Notes

  • The efibootmgr package was added to tinyipa and dib images.

  • The efivar package was added to tinyipa and dib images.

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

Deprecation Notes

  • Building images for CentOS 7 and other distribution releases that default to Python 2 is deprecated.

Other Notes

  • Since ironic-python-agent has removed support for Python 2, CentOS 8 images are now built and published on instead of CentOS 7 ones. The CentOS 7 images should not be used for Ussuri and later releases.