We are thrilled to announce the release of: ironic-python-agent 10.0.0 This release is part of the epoxy 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://bugs.launchpad.net/ironic-python-agent/+bugs For more details, please see below. 10.0.0 ^^^^^^ New Features ************ * When synchronizing the disk caches at the end of a deployment, the agent now also instructs the kernel to drop the virtual memory caches and tells each block devices to sync its internal cache. * Adds a new API command "system.lockdown". When invoked, it stops the API, the heartbeater and tries to disable all local network interfaces. More actions may be added in the future to make the agent and the ramdisk unusable after this command. * "logical_sectors" and "physical_sectors" sizes are now captured for each hardware info "disks" entry, and also logged for "lsblk" calls. This will be increasingly useful as storage devices with 4096 byte sector sizes become more common. Upgrade Notes ************* * Support for Python 3.8 has been removed. Now the minimum python version supported is 3.9 . Deprecation Notes ***************** * Ironic Python Agent has had limited capabilities to emit metrics, but was unable to support prometheus exporting of those metrics, as was possible for the conductor. Support for sending these metrics will be removed during or after the 2026.1 OpenStack release cycle. Changes in ironic-python-agent 9.14.0..10.0.0 --------------------------------------------- aa98250 Add a command to lock down the agent 5aa0c1a A hardware manager call for a full sync before shutdown 75abdb4 Vendor metrics library from Ironic-Lib & deprecate 9de74b6 Correct invalid docstrings; s/Found/Error/ 8e0fa1b Migrate more trivial code from ironic-lib 70aa08d Remove use of ironic_lib i18n module c3e7f3b Cleanup usage of imported-from-ironic-lib disk_utils b0ef2c0 Remove Python 3.8 support 1a93910 Capture and log sector sizes a81fd06 CI: Remove metalsmith legacy jobs d8d32d9 Warn when the provided checksum algorithm does not match the detected 4553b5c Migrate to oslo.utils-based format_inspector 57476cd add pyproject.toml to support pip 23.1 2e4936c tox: Drop envdir 42ea1db Drop dependency on netifaces 2bf694e Get rid of pkg_resources e4d07fd Update master for stable/2024.2 d7b2dcf Trivial: fix variable in formatting def085d agent: make _find_routable_addr work with IPv4- and IPv6-only setups Diffstat (except docs and test files) ------------------------------------- ironic_python_agent/agent.py | 35 +- ironic_python_agent/api/app.py | 2 +- ironic_python_agent/config.py | 11 +- ironic_python_agent/disk_partitioner.py | 6 +- ironic_python_agent/disk_utils.py | 130 +-- ironic_python_agent/extensions/standby.py | 65 +- ironic_python_agent/extensions/system.py | 29 + ironic_python_agent/format_inspector.py | 1044 -------------------- ironic_python_agent/hardware.py | 51 +- .../hardware_managers/nvidia/nvidia_fw_update.py | 49 +- ironic_python_agent/inject_files.py | 6 +- ironic_python_agent/ironic_api_client.py | 2 +- ironic_python_agent/metrics_lib/metrics.py | 306 ++++++ .../metrics_lib/metrics_collector.py | 119 +++ .../metrics_lib/metrics_exception.py | 34 + ironic_python_agent/metrics_lib/metrics_statsd.py | 104 ++ ironic_python_agent/metrics_lib/metrics_utils.py | 102 ++ ironic_python_agent/netutils.py | 28 +- ironic_python_agent/partition_utils.py | 9 +- ironic_python_agent/qemu_img.py | 7 +- .../unit/metrics_lib/test_metrics_collector.py | 68 ++ ironic_python_agent/utils.py | 69 +- pyproject.toml | 3 + ...recate-and-vendor-metrics-1df0ca4c865613f8.yaml | 6 + releasenotes/notes/full-sync-d2ec6b248a73f04a.yaml | 6 + releasenotes/notes/lockdown-dc656fd26f13321f.yaml | 7 + .../notes/remove-py38-15fc164a4a08b764.yaml | 5 + .../notes/sector_size-b2c0a07086012c17.yaml | 7 + releasenotes/source/2024.2.rst | 6 + releasenotes/source/index.rst | 1 + requirements.txt | 5 +- setup.cfg | 5 +- setup.py | 2 +- tox.ini | 3 - zuul.d/ironic-python-agent-jobs.yaml | 13 - zuul.d/project.yaml | 5 - 51 files changed, 2227 insertions(+), 2205 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index e7481c3..e8d1b82 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1 @@ -pbr>=2.0.0 # Apache-2.0 +pbr>=6.0.0 # Apache-2.0 @@ -3 +2,0 @@ eventlet>=0.18.2 # MIT -netifaces>=0.10.4 # MIT @@ -8 +7 @@ oslo.service>=1.24.0 # Apache-2.0 -oslo.utils>=3.34.0 # Apache-2.0 +oslo.utils>=7.3.0 # Apache-2.0