Stein Series (3.4.0 - 3.6.x) Release Notes¶
Fixes an issue with the IntelCnaHardwareManager which prevented hardware managers with lower priority to be executed and therefore may blocked the initialization and collection of hardware these managers are supposed to take care of.
Fixes retry logic issues with the Agent Lookup which can result in the lookup failing prematurely before being completed, typically resulting in an abrupt end to the agent logging and potentially weird errors like TypeError being reported on the agent process standard error output. For more information see bug 2007968.
Fixes an issue with the ironic-python-agent where we would call to setup the bootloader, which is necessary with software raid, but also attempt to clean up iSCSI. This can cause issues when using the
deploy_interface. Now the agent will only clean up iSCSI connections if iSCSI was explicitly started. For more information, please see story 2007937.
Fixes an issue where the agent was failing to rescan the device deployed upon before checking uefi contents. This would occur with an iSCSI based deployment, as partition management operations are performed by the conductor, and not locally.
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 where metadata erasure cleaning would fail on devices that are read-only at the hardware level. Typically these are virtual devices being offered to the operating system for purposes like OS self-installation.
In the case of full device erasure, this is explicitly raised as a hard failure requiring operator intervention.
numa-topologyinspection collector to be compatible with Pint < 0.5.2.
lshwoutput no longer pollutes the debug logging. Instead, it’s stored as part of the ramdisk logs.
From IPMI specification v2.0, channel number 1-Bh(1-11) can be used for various types of communications channels. The respectively available channels depend on the specific IPMI implementation for a specific server system.
Mounts /run into chroot when installing grub to prevent timeouts.
Fixes an issue with retrieving all available physical memory. For more details see: story 2005308 <https://storyboard.openstack.org/#!/story/2005308>
Starting with this release, the Ironic Python Agent images used in the CI (tinyipa) run with Python 3 by default.
Adds secondary sorting by device name when guessing the root disk. This makes the selection process more predictable and increases the chances that systems which try only one device for booting will actually successfully boot after deployment. As the primary sorting is still done by size, the root device hints still take priority, and the current behaviour is basically not specifying the order beyond size, this change does not break backwards compatibility.
Allows image checksum to be a URL pointing at a file with the image checksum or several checksums.
Ironic community provided CoreOS IPA images are deprecated. These images utilize contents that are injected into CoreOS images which utilize a chroot environment to enable full and unrestricted hardware access.
This decision is not taken lightly, and is due to multiple constraints combined with technical changes over time as CoreOS has evolved.
Per the CoreOS limitations, as of January 2019, CoreOS:
1) Current CoreOS images require 2GB of RAM to operate. As a result of the RAM requirement, it is problematic for continious integration testing to occur with the CoreOS based Ironic-Python-Agent image in OpenStack testing infrastructure.
2) UEFI is not a supported configuration. CoreOS details the required use of BIOS compatibility mode. Intel is anticipated to remove BIOS compatibility by 2020.
3) CoreOS is moving to require container use via passing ignition configuration. Limitations explicitly state there are no strait-forward methods of passing ignition configuration to a CoreOS instance. Mainly the developed intent is for such data to be passed in via a metadata service or configuration drive.
4) With the previously mentioned use of containers and ignition configuration, the OEM loading path previously used with CoreOS is no longer available moving forward as it has been changed to read ignition configuration files.
Fixes a bug with bad whole disk images and config drives, where we would attempt to write a config drive partition to the disk without a valid partition table.
Fixes an issue where the ironic-python-agent is not able to stop when running with python3.x.
Updates the tinyipa build scripts to support building and running Ironic Python Agent with Python 3.
Updates the tinyipa build scripts to TinyCoreLinux 8.x
Change the Python default version used to build and run the Ironic Python Agent in the Tiny Core based image to 3.6.
Erases metadata on disk partitions to prevent the Linux kernel from automatically recreating storage entities (e.g. LVM, RAID) described by the metadata. The Hardware Manager API was correspondingly modified to optionally include partitions when listing block devices. See story 2003673 for details.
Operators with custom hardware managers to support software RAID may wish to ensure that they have removed the software RAID prior to any stock cleaning step for erasing block devices executes. As a result of a bug fix, such devices may now be picked up in the list of possible devices to delete, which may extend cleaning depending on the deployment configuration.
Fixes an issue where devices offered via ATARAID (or even software RAID setup by a hardware manager) were excluded from the list as they are not returned as type disk, even though they should be considered both disks and block devices. See story for more details.
Adds enhanced checksum support to IPA. When
os_hash_valueare passed in via
image_info(from the node’s
instance_info), they will be used for image checksum calculation and verification. The md5 checksum is used if this information is absent.
Supports parallel disk device erasure. This is controlled by ironic’s
Adds support for streaming raw partition images onto target partition without caching them in memory.
Fixes detection of IPMI address in CoreOS-based images, by ensuring that parsing of
ipmitooloutput is compatible with the bundled implementation of
HardwareManager.erase_block_devicemethod is now called concurrently when parallel disk device erasure is used. It must be implemented in a thread-safe way.