Newton Series (1.3.0 - 1.5.x) Release Notes¶
Limits the memory usage of
qemu-img convertcommand to 1 GiB to avoid it from causing the host machine to fail due not enough ram.
If ipa-api-url is not configured in pxe parameters, skip lookup and heartbeat to avoid ConnectionError when the IPA starts. See https://bugs.launchpad.net/bugs/1643966 for details.
Fix LLDP discovery to not fail completely when odd number of bytes is received in an LLDP package.
Fix raw sockets code to properly propagate exceptions to a caller instead of silencing them and returning None (causing failures later).
Add ‘vendor’ and ‘product’ fields to interfaces data for future use in Ironic Inspector.
Add a new cleaning step called “erase_devices_metadata” to the generic hardware manager which is responsible for destroying the metadata on the disk devices (partition tables, signatures, file-system identifications, etc…).
Use new Ironic agent API (added in API version 1.22) when it’s available.
Extend the root device hints to identify whether a disk is rotational or not.
Upon initialization of the agent, an attempt to identify and initialize any configured hardware iSCSI initiators is performed prior to detecting disks.
Fixed incorrect invocation of “select” which could cause LLDP collection to hang under certain conditions.
When building the TinyIPA ramdisk, it is now possible to enable SSH access to it. Use
SSH_PUBLIC_KEYenvironment variables for that (see TinyIPA’s README for more details).
Added ipa-disk-wait-attempts configuration option to configure the number of times to try and check to see if at least one suitable disk has appeared in inventory before proceeding with any actions.
Added ipa-disk-wait-delay configuration option to configure how many seconds to wait between attempts to check if at least one suitable disk has appeared in inventory.
A new “log” extension has been added and can be used to retrieve the system logs via the IPA API.
Adds new PCI devices collector named “pci_devices” to inspector module. Data is gathered from /sys/bus/pci/devices directory and is stored under “pci_devices” key as a dictionary containing “vendor_id” and “product_id” keys, which then will be used by the inspector to distinguish various PCI devices.
Add support for LLDP data in the returned inventory when option collect_lldp is set to True. Each interface returned in the inventory that receives an LLDP packet will contain the whole LLDP packet represented as a list of TLVs in the field ‘lldp’.
Deprecated reserved fields switch_port_descr and switch_chassis_descr in favor of returning the whole LLDP packet for each interface so that IPA processing of this data remains generic and full processing can be customised server side instead of having to create custom ramdisks. These fields will be removed in Ocata.
The “logs” inspection collector now works with the TinyIPA image.
Add new portal_port argument into iscsi.start_iscsi_target to support iscsi portal port customization.
Introduced “boot” field into the inventory, with “current_boot_mode” and “pxe_interface” fields. Both will be used for inspection.
Return CPU flags with the CPU inventory.
IPA now gets the root device hints directly from the node object representation instead of the kernel command line. This is a required work in order to support a more complex syntax for the hints in the future.
The driver_internal_info internal setting
agent_continue_if_ata_erase_failedallows operators to enable disk cleaning operations to fallback from a failed ata_erase operation to disk shredding operations.
The “has_carrier” flag was added to the network interface information.
Add a configurable (and disabled by default) sleep before IPA does any actions.
Fixes bug where the user specified disk_label is ignored with partition images in agent drivers.
On start up wait up to 30 seconds for the first disk device suitable for deployment to appear. This is to fix both inspection and deployment on hardware that takes long to initialize (e.g. some RAID devices).
IPA will now attempt to unlock a security locked drive with a ‘NULL’ password if it is found to be enabled, however this will only work if the password was previously set to a ‘NULL’ value, such as if a failure during a previous ata_erase sequence.
Potential command failures in the secure erase process are now captured and raised as BlockDeviceEraseError exceptions.
Inspection code now waits up to 1 minute for all NICs to get their IP addresses. Otherwise inspection fails for some users due to race between DIB DHCP code and IPA startup. See https://bugs.launchpad.net/bugs/1564954 for details.
During inspection wait only for a PXE booting NIC to get its IP by default. Introduce a new “inspection_dhcp_all_interfaces” option to enable waiting for all interfaces instead.
Stop checking the “has_carrier” field when waiting for NIC’s to get IP addresses, as it might be set to “False” when the interface is being configured.
Every other Ironic python agent kernel parameter is prefixed with “ipa-”. This patch allows users to use the old “lldp-timeout” parameter or the new “ipa-lldp-timeout” parameter.
Ensures the node look up is attempted with valid interfaces information to avoid exception log messages in the conductor log. IPA tries to retrieve interfaces information every 5 seconds until either at least one of the interfaces is up or 60 seconds is lapsed.