ironic-python-agent 9.0.0 (zed)
We are happy to announce the release of: ironic-python-agent 9.0.0: Ironic Python Agent Ramdisk This release is part of the zed release series. The source is available from: https://opendev.org/openstack/ironic-python-agent Download the package from: https://tarballs.openstack.org/ironic-python-agent/ Please report issues through: https://storyboard.openstack.org/#!/project/openstack/ironic- python-agent For more details, please see below. 9.0.0 ^^^^^ New Features ************ * Users can specify a list of devices to be skipped during the cleaning process or be chosen as the root device in property field "skip_block_devices". Known Issues ************ * Logic to guard VMFS filesystems from being destroyed *may* not recognize VMFS extents. Operators with examples of partitioning for extent usage are encouraged to contact the Ironic community. Upgrade Notes ************* * No longer supports network boot of instances ("boot_option=netboot"). This feature is dropped from Ironic in the Zed cycle. Bug Fixes ********* * Fixes an issue where arguments were not passed to clean steps when a manual cleaning operation was being executed. The arguments are now passed in appropriately. * Fixes GenericHardwareManager to find network information for bonded interfaces if they exist. * Fixes failures with handling of Multipath IO devices where Active/Passive storage arrays are in use. Previously, "standby" paths could result in IO errors causing cleaning to terminate. The agent now explicitly attempts to handle and account for multipaths based upon the MPIO data available. This requires the "multipath" and "multipathd" utility to be present in the ramdisk. These are supplied by the "device-mapper-multipath" or "multipath-tools" packages, and are not requried for the agent's use. * Fixes non-ideal behavior when performing cleaning where Active/Active MPIO devices would ultimately be cleaned once per IO path, instead of once per backend device. * Fixes discovering WWN/serial numbers for devicemapper devices. * Previously when the "ironic-python-agent" would undergo erasure of block devices during cleaning, it would automatically attempt to erase the contents of any "Shared Device" clustered filesystems which may be in use by distinct multiple machines over a storage fabric. In particular IBM GPFS, Red Hat Global File System 2, and VmWare Virtual Machine File System (VMFS), are now identified and cleaning is halted. This is important because should an active cluster be using the this disk, cleaning could potentially cause the cluster to go down forcing restoration from backups. Ideally, infrastructure operators should check their environment's storage configuration and un-map any clustered filesystems from being visible to Ironic nodes, unless explicitly needed and expected. Please see the Ironic-Python-Agent troubleshooting documentation for more information. Other Notes *********** * Block devices properties reported by udev are now collected with the ramdisk logs. * The ramdisk logs now contain an "lsblk" output with all pairs in the new "lsblk-full" file. * The agent will now attempt to collect any multipath path information and upload it to the agent ramdisk, if the tooling is present. Changes in ironic-python-agent 8.6.0..9.0.0 ------------------------------------------- 0212337 Enable skipping disks for cleaning e196fdf Remove unused lines of code b5fac66 Use lsblk json output for safety_check_block_device beb7484 Guard shared device/cluster filesystems 6a1334a Drop support for instance netboot eb07839 Fix passing kwargs in clean steps d8a6bf5 Drop python2 from bindep.txt b68fa6b Warn when smartctl not found 1356157 Remove importlib-metadata from requirements 7e4fe3b Gather details about bond interfaces if present a986758 Collect udev properties in the ramdisk logs 64ffd2e Remove oslo.serialization dependency 69e2254 Fix discovering WWN/serial for devicemapper devices 09ea41c Use json for lsblk output 39d40d5 Drop support for Python 3.6 and 3.7 b8d01d3 Add ipa-tox-examples job to gate 16a3860 Update oslo.log requirement to 4.6.1 be5d146 CI: Removing ironic job queue 014d377 Multipath Hardware path handling 21b075c Add a metalsmith job with legacy boot 2294db5 Revert "The Python 3.6 and Python 3.7Support has been dropped since yaga" 5916e7a Remove support for distributions with Python 3.6 f1d45a6 Drop lower-constraints.txt and its testing c4d2851 The Python 3.6 and Python 3.7Support has been dropped since yaga 424e649 Collect a full lsblk output in the ramdisk logs Diffstat (except docs and test files) ------------------------------------- bindep.txt | 4 +- ironic_python_agent/config.py | 11 + ironic_python_agent/errors.py | 19 + ironic_python_agent/extensions/clean.py | 4 +- ironic_python_agent/extensions/standby.py | 3 - ironic_python_agent/hardware.py | 440 +++++++-- ironic_python_agent/inspector.py | 8 +- ironic_python_agent/ironic_api_client.py | 13 +- ironic_python_agent/partition_utils.py | 7 +- ironic_python_agent/utils.py | 62 +- ironic_python_agent/version.py | 7 +- lower-constraints.txt | 28 - .../notes/bug-2010123-d4c38d8f6606d0e0.yaml | 6 + .../notes/collect-udev-f6ada5163cf4a26c.yaml | 5 + .../enable-skipping-disks-0c4c8b72231715a1.yaml | 6 + releasenotes/notes/findbonds-733c7c91a5665b05.yaml | 5 + releasenotes/notes/lsblk-all-956c1df808a169bf.yaml | 5 + .../notes/multipath-handling-00a5b412d2cf2e4e.yaml | 18 + .../notes/multipath-serial-615fc925984abbf7.yaml | 4 + .../notes/no-netboot-d034bb1d1d9166c5.yaml | 5 + ...f-shared-disk-filesystems-4c17c7666d2fe3bc.yaml | 20 + requirements.txt | 4 +- setup.cfg | 4 +- tox.ini | 6 - zuul.d/ironic-python-agent-jobs.yaml | 17 +- zuul.d/project.yaml | 9 +- 38 files changed, 2005 insertions(+), 380 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index d7068f0..18eea69 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5 +4,0 @@ pbr!=2.1.0,>=2.0.0 # Apache-2.0 -importlib_metadata>=1.7.0;python_version<'3.8' # Apache-2.0 @@ -10,2 +9 @@ oslo.concurrency>=3.26.0 # Apache-2.0 -oslo.log>=3.36.0 # Apache-2.0 -oslo.serialization!=2.19.1,>=2.18.0 # Apache-2.0 +oslo.log>=4.6.1 # Apache-2.0
participants (1)
-
no-reply@openstack.org