Diff of the two buildlogs: -- --- b1/build.log 2024-12-20 00:50:51.897459752 +0000 +++ b2/build.log 2024-12-20 00:53:42.029707231 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Wed Jan 21 18:31:31 -12 2026 -I: pbuilder-time-stamp: 1769063491 +I: Current time: Fri Dec 20 14:50:54 +14 2024 +I: pbuilder-time-stamp: 1734655854 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration @@ -28,51 +28,83 @@ dpkg-source: info: applying Replace_crypt_module.patch I: using fakeroot in build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/1995177/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/4069899/tmp/hooks/D01_modify_environment starting +debug: Running on infom01-amd64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Dec 20 00:51 /bin/sh -> /bin/bash +I: Setting pbuilder2's login shell to /bin/bash +I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other +I: user script /srv/workspace/pbuilder/4069899/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/4069899/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='amd64' - DEBIAN_FRONTEND='noninteractive' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") + BASH_VERSION='5.2.37(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=amd64 + DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' - DISTRIBUTION='unstable' - HOME='/root' - HOST_ARCH='amd64' + DIRSTACK=() + DISTRIBUTION=unstable + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=x86_64 + HOST_ARCH=amd64 IFS=' ' - INVOCATION_ID='e3e7329cbc23434c9bcf4e9339aa16f7' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='1995177' - PS1='# ' - PS2='> ' + INVOCATION_ID=46c175431bec4b209dce533159e9a70d + LANG=C + LANGUAGE=et_EE:et + LC_ALL=C + MACHTYPE=x86_64-pc-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=4069899 PS4='+ ' - PWD='/' - SHELL='/bin/bash' - SHLVL='2' - SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.rVOh52EW/pbuilderrc_B9IO --distribution unstable --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.rVOh52EW/b1 --logfile b1/build.log ironic-python-agent_9.14.0-3.dsc' - SUDO_GID='109' - SUDO_UID='104' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.rVOh52EW/pbuilderrc_7KKz --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.rVOh52EW/b2 --logfile b2/build.log ironic-python-agent_9.14.0-3.dsc' + SUDO_GID=109 + SUDO_UID=104 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' I: uname -a - Linux infom02-amd64 6.11.5+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.11.5-1~bpo12+1 (2024-11-11) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-28-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.119-1 (2024-11-22) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Nov 22 2024 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/1995177/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/4069899/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -428,7 +460,7 @@ Get: 256 http://deb.debian.org/debian unstable/main amd64 python3-tooz all 6.3.0-3 [52.5 kB] Get: 257 http://deb.debian.org/debian unstable/main amd64 python3-werkzeug all 3.1.3-2 [207 kB] Get: 258 http://deb.debian.org/debian unstable/main amd64 qemu-utils amd64 1:9.2.0+ds-2 [1927 kB] -Fetched 92.7 MB in 2s (37.1 MB/s) +Fetched 92.7 MB in 4s (25.3 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package freeipmi-common. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19967 files and directories currently installed.) @@ -1256,8 +1288,8 @@ Setting up tzdata (2024b-4) ... Current default time zone: 'Etc/UTC' -Local time is now: Thu Jan 22 06:33:52 UTC 2026. -Universal Time is now: Thu Jan 22 06:33:52 UTC 2026. +Local time is now: Fri Dec 20 00:51:59 UTC 2024. +Universal Time is now: Fri Dec 20 00:51:59 UTC 2024. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up libpython3.13-minimal:amd64 (3.13.1-2) ... @@ -1513,7 +1545,11 @@ fakeroot is already the newest version (1.36-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package -I: Running cd /build/reproducible-path/ironic-python-agent-9.14.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../ironic-python-agent_9.14.0-3_source.changes +I: user script /srv/workspace/pbuilder/4069899/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/4069899/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/ironic-python-agent-9.14.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../ironic-python-agent_9.14.0-3_source.changes dpkg-buildpackage: info: source package ironic-python-agent dpkg-buildpackage: info: source version 9.14.0-3 dpkg-buildpackage: info: source distribution unstable @@ -1656,21 +1692,26 @@ py3versions: no X-Python3-Version in control file, using supported versions pkgos-dh_auto_install --no-py2 --in-tmp + PKGOS_IN_TMP=no -+ echo WARNING: --no-py2 is deprecated and always on. ++ for i in $@ ++ case "${1}" in ++ echo 'WARNING: --no-py2 is deprecated and always on.' WARNING: --no-py2 is deprecated and always on. + shift ++ for i in $@ ++ case "${1}" in + PKGOS_IN_TMP=yes + shift -+ dpkg-parsechangelog -SSource +++ dpkg-parsechangelog -SSource + SRC_PKG_NAME=ironic-python-agent -+ echo ironic-python-agent -+ sed s/python-// +++ echo ironic-python-agent +++ sed s/python-// + PY_MODULE_NAME=ironic-agent -+ py3versions -vr -+ PYTHON3S=3.13 3.12 -+ [ yes = yes ] +++ py3versions -vr ++ PYTHON3S='3.13 3.12' ++ '[' yes = yes ']' + TARGET_DIR=tmp -+ pwd ++ for pyvers in ${PYTHON3S} +++ pwd + python3.13 setup.py install --install-layout=deb --root /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp /usr/lib/python3/dist-packages/setuptools/__init__.py:94: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !! @@ -1715,104 +1756,104 @@ [pbr] AUTHORS complete (0.0s) running build running build_py -creating build/lib/ironic_python_agent/cmd -copying ironic_python_agent/cmd/inspect.py -> build/lib/ironic_python_agent/cmd -copying ironic_python_agent/cmd/__init__.py -> build/lib/ironic_python_agent/cmd -copying ironic_python_agent/cmd/agent.py -> build/lib/ironic_python_agent/cmd -creating build/lib/ironic_python_agent/tests/unit/hardware_managers -copying ironic_python_agent/tests/unit/hardware_managers/test_mlnx.py -> build/lib/ironic_python_agent/tests/unit/hardware_managers -copying ironic_python_agent/tests/unit/hardware_managers/__init__.py -> build/lib/ironic_python_agent/tests/unit/hardware_managers -copying ironic_python_agent/tests/unit/hardware_managers/test_cna.py -> build/lib/ironic_python_agent/tests/unit/hardware_managers -copying ironic_python_agent/tests/unit/test_tls_utils.py -> build/lib/ironic_python_agent/tests/unit -copying ironic_python_agent/tests/unit/dmi_inspector_data.py -> build/lib/ironic_python_agent/tests/unit -copying ironic_python_agent/tests/unit/base.py -> build/lib/ironic_python_agent/tests/unit -copying ironic_python_agent/tests/unit/test_partition_utils.py -> build/lib/ironic_python_agent/tests/unit -copying ironic_python_agent/tests/unit/test_inspector.py -> build/lib/ironic_python_agent/tests/unit -copying ironic_python_agent/tests/unit/test_disk_utils.py -> build/lib/ironic_python_agent/tests/unit +creating build/lib/ironic_python_agent/tests/unit copying ironic_python_agent/tests/unit/test_errors.py -> build/lib/ironic_python_agent/tests/unit -copying ironic_python_agent/tests/unit/test_format_inspector.py -> build/lib/ironic_python_agent/tests/unit -copying ironic_python_agent/tests/unit/test_qemu_img.py -> build/lib/ironic_python_agent/tests/unit -copying ironic_python_agent/tests/unit/test_agent.py -> build/lib/ironic_python_agent/tests/unit -copying ironic_python_agent/tests/unit/test_inject_files.py -> build/lib/ironic_python_agent/tests/unit -copying ironic_python_agent/tests/unit/test_ironic_api_client.py -> build/lib/ironic_python_agent/tests/unit -copying ironic_python_agent/tests/unit/test_efi_utils.py -> build/lib/ironic_python_agent/tests/unit +copying ironic_python_agent/tests/unit/test_burnin.py -> build/lib/ironic_python_agent/tests/unit copying ironic_python_agent/tests/unit/test_disk_partitioner.py -> build/lib/ironic_python_agent/tests/unit +copying ironic_python_agent/tests/unit/test_inspector.py -> build/lib/ironic_python_agent/tests/unit +copying ironic_python_agent/tests/unit/test_netutils.py -> build/lib/ironic_python_agent/tests/unit +copying ironic_python_agent/tests/unit/test_multi_hardware.py -> build/lib/ironic_python_agent/tests/unit +copying ironic_python_agent/tests/unit/test_agent.py -> build/lib/ironic_python_agent/tests/unit +copying ironic_python_agent/tests/unit/test_partition_utils.py -> build/lib/ironic_python_agent/tests/unit +copying ironic_python_agent/tests/unit/base.py -> build/lib/ironic_python_agent/tests/unit +copying ironic_python_agent/tests/unit/test_qemu_img.py -> build/lib/ironic_python_agent/tests/unit +copying ironic_python_agent/tests/unit/test_utils.py -> build/lib/ironic_python_agent/tests/unit copying ironic_python_agent/tests/unit/test_base.py -> build/lib/ironic_python_agent/tests/unit -copying ironic_python_agent/tests/unit/test_api.py -> build/lib/ironic_python_agent/tests/unit +copying ironic_python_agent/tests/unit/test_raid_utils.py -> build/lib/ironic_python_agent/tests/unit copying ironic_python_agent/tests/unit/test_multi_hardware_clean_steps.py -> build/lib/ironic_python_agent/tests/unit -copying ironic_python_agent/tests/unit/__init__.py -> build/lib/ironic_python_agent/tests/unit +copying ironic_python_agent/tests/unit/test_numa_inspector.py -> build/lib/ironic_python_agent/tests/unit copying ironic_python_agent/tests/unit/test_hardware.py -> build/lib/ironic_python_agent/tests/unit -copying ironic_python_agent/tests/unit/test_burnin.py -> build/lib/ironic_python_agent/tests/unit -copying ironic_python_agent/tests/unit/test_dmi_inspector.py -> build/lib/ironic_python_agent/tests/unit -copying ironic_python_agent/tests/unit/test_raid_utils.py -> build/lib/ironic_python_agent/tests/unit -copying ironic_python_agent/tests/unit/test_multi_hardware.py -> build/lib/ironic_python_agent/tests/unit -copying ironic_python_agent/tests/unit/test_utils.py -> build/lib/ironic_python_agent/tests/unit -copying ironic_python_agent/tests/unit/test_netutils.py -> build/lib/ironic_python_agent/tests/unit +copying ironic_python_agent/tests/unit/test_api.py -> build/lib/ironic_python_agent/tests/unit +copying ironic_python_agent/tests/unit/test_ironic_api_client.py -> build/lib/ironic_python_agent/tests/unit +copying ironic_python_agent/tests/unit/dmi_inspector_data.py -> build/lib/ironic_python_agent/tests/unit +copying ironic_python_agent/tests/unit/test_format_inspector.py -> build/lib/ironic_python_agent/tests/unit +copying ironic_python_agent/tests/unit/test_tls_utils.py -> build/lib/ironic_python_agent/tests/unit +copying ironic_python_agent/tests/unit/test_disk_utils.py -> build/lib/ironic_python_agent/tests/unit +copying ironic_python_agent/tests/unit/__init__.py -> build/lib/ironic_python_agent/tests/unit +copying ironic_python_agent/tests/unit/test_efi_utils.py -> build/lib/ironic_python_agent/tests/unit copying ironic_python_agent/tests/unit/test_encoding.py -> build/lib/ironic_python_agent/tests/unit -copying ironic_python_agent/tests/unit/test_numa_inspector.py -> build/lib/ironic_python_agent/tests/unit -creating build/lib/ironic_python_agent/tests/unit/hardware_managers/nvidia -copying ironic_python_agent/tests/unit/hardware_managers/nvidia/test_nvidia_fw_update.py -> build/lib/ironic_python_agent/tests/unit/hardware_managers/nvidia -copying ironic_python_agent/tests/unit/hardware_managers/nvidia/__init__.py -> build/lib/ironic_python_agent/tests/unit/hardware_managers/nvidia +copying ironic_python_agent/tests/unit/test_dmi_inspector.py -> build/lib/ironic_python_agent/tests/unit +copying ironic_python_agent/tests/unit/test_inject_files.py -> build/lib/ironic_python_agent/tests/unit +creating build/lib/ironic_python_agent/extensions +copying ironic_python_agent/extensions/clean.py -> build/lib/ironic_python_agent/extensions +copying ironic_python_agent/extensions/base.py -> build/lib/ironic_python_agent/extensions +copying ironic_python_agent/extensions/log.py -> build/lib/ironic_python_agent/extensions +copying ironic_python_agent/extensions/poll.py -> build/lib/ironic_python_agent/extensions +copying ironic_python_agent/extensions/deploy.py -> build/lib/ironic_python_agent/extensions +copying ironic_python_agent/extensions/image.py -> build/lib/ironic_python_agent/extensions +copying ironic_python_agent/extensions/standby.py -> build/lib/ironic_python_agent/extensions +copying ironic_python_agent/extensions/service.py -> build/lib/ironic_python_agent/extensions +copying ironic_python_agent/extensions/__init__.py -> build/lib/ironic_python_agent/extensions +copying ironic_python_agent/extensions/rescue.py -> build/lib/ironic_python_agent/extensions +copying ironic_python_agent/extensions/flow.py -> build/lib/ironic_python_agent/extensions +creating build/lib/ironic_python_agent/hardware_managers +copying ironic_python_agent/hardware_managers/mlnx.py -> build/lib/ironic_python_agent/hardware_managers +copying ironic_python_agent/hardware_managers/cna.py -> build/lib/ironic_python_agent/hardware_managers +copying ironic_python_agent/hardware_managers/__init__.py -> build/lib/ironic_python_agent/hardware_managers creating build/lib/ironic_python_agent/api -copying ironic_python_agent/api/__init__.py -> build/lib/ironic_python_agent/api copying ironic_python_agent/api/app.py -> build/lib/ironic_python_agent/api -copying ironic_python_agent/utils.py -> build/lib/ironic_python_agent -copying ironic_python_agent/raid_utils.py -> build/lib/ironic_python_agent -copying ironic_python_agent/inspector.py -> build/lib/ironic_python_agent -copying ironic_python_agent/partition_utils.py -> build/lib/ironic_python_agent +copying ironic_python_agent/api/__init__.py -> build/lib/ironic_python_agent/api +creating build/lib/ironic_python_agent/tests/unit/extensions +copying ironic_python_agent/tests/unit/extensions/test_deploy.py -> build/lib/ironic_python_agent/tests/unit/extensions +copying ironic_python_agent/tests/unit/extensions/test_base.py -> build/lib/ironic_python_agent/tests/unit/extensions +copying ironic_python_agent/tests/unit/extensions/test_flow.py -> build/lib/ironic_python_agent/tests/unit/extensions +copying ironic_python_agent/tests/unit/extensions/test_service.py -> build/lib/ironic_python_agent/tests/unit/extensions +copying ironic_python_agent/tests/unit/extensions/test_rescue.py -> build/lib/ironic_python_agent/tests/unit/extensions +copying ironic_python_agent/tests/unit/extensions/test_clean.py -> build/lib/ironic_python_agent/tests/unit/extensions +copying ironic_python_agent/tests/unit/extensions/test_standby.py -> build/lib/ironic_python_agent/tests/unit/extensions +copying ironic_python_agent/tests/unit/extensions/test_log.py -> build/lib/ironic_python_agent/tests/unit/extensions +copying ironic_python_agent/tests/unit/extensions/test_poll.py -> build/lib/ironic_python_agent/tests/unit/extensions +copying ironic_python_agent/tests/unit/extensions/test_image.py -> build/lib/ironic_python_agent/tests/unit/extensions +copying ironic_python_agent/tests/unit/extensions/__init__.py -> build/lib/ironic_python_agent/tests/unit/extensions +creating build/lib/ironic_python_agent/tests/unit/hardware_managers/nvidia +copying ironic_python_agent/tests/unit/hardware_managers/nvidia/__init__.py -> build/lib/ironic_python_agent/tests/unit/hardware_managers/nvidia +copying ironic_python_agent/tests/unit/hardware_managers/nvidia/test_nvidia_fw_update.py -> build/lib/ironic_python_agent/tests/unit/hardware_managers/nvidia +copying ironic_python_agent/tests/unit/hardware_managers/test_mlnx.py -> build/lib/ironic_python_agent/tests/unit/hardware_managers +copying ironic_python_agent/tests/unit/hardware_managers/__init__.py -> build/lib/ironic_python_agent/tests/unit/hardware_managers +copying ironic_python_agent/tests/unit/hardware_managers/test_cna.py -> build/lib/ironic_python_agent/tests/unit/hardware_managers +copying ironic_python_agent/config.py -> build/lib/ironic_python_agent +copying ironic_python_agent/disk_partitioner.py -> build/lib/ironic_python_agent +copying ironic_python_agent/qemu_img.py -> build/lib/ironic_python_agent copying ironic_python_agent/disk_utils.py -> build/lib/ironic_python_agent +copying ironic_python_agent/netutils.py -> build/lib/ironic_python_agent copying ironic_python_agent/inject_files.py -> build/lib/ironic_python_agent -copying ironic_python_agent/dmi_inspector.py -> build/lib/ironic_python_agent -copying ironic_python_agent/numa_inspector.py -> build/lib/ironic_python_agent -copying ironic_python_agent/tls_utils.py -> build/lib/ironic_python_agent +copying ironic_python_agent/partition_utils.py -> build/lib/ironic_python_agent +copying ironic_python_agent/version.py -> build/lib/ironic_python_agent +copying ironic_python_agent/inspector.py -> build/lib/ironic_python_agent copying ironic_python_agent/burnin.py -> build/lib/ironic_python_agent +copying ironic_python_agent/hardware.py -> build/lib/ironic_python_agent +copying ironic_python_agent/format_inspector.py -> build/lib/ironic_python_agent copying ironic_python_agent/errors.py -> build/lib/ironic_python_agent -copying ironic_python_agent/ironic_api_client.py -> build/lib/ironic_python_agent -copying ironic_python_agent/config.py -> build/lib/ironic_python_agent +copying ironic_python_agent/numa_inspector.py -> build/lib/ironic_python_agent +copying ironic_python_agent/encoding.py -> build/lib/ironic_python_agent +copying ironic_python_agent/raid_utils.py -> build/lib/ironic_python_agent +copying ironic_python_agent/tls_utils.py -> build/lib/ironic_python_agent +copying ironic_python_agent/utils.py -> build/lib/ironic_python_agent copying ironic_python_agent/inspect.py -> build/lib/ironic_python_agent -copying ironic_python_agent/hardware.py -> build/lib/ironic_python_agent +copying ironic_python_agent/efi_utils.py -> build/lib/ironic_python_agent copying ironic_python_agent/__init__.py -> build/lib/ironic_python_agent +copying ironic_python_agent/dmi_inspector.py -> build/lib/ironic_python_agent +copying ironic_python_agent/ironic_api_client.py -> build/lib/ironic_python_agent copying ironic_python_agent/agent.py -> build/lib/ironic_python_agent -copying ironic_python_agent/qemu_img.py -> build/lib/ironic_python_agent -copying ironic_python_agent/version.py -> build/lib/ironic_python_agent -copying ironic_python_agent/encoding.py -> build/lib/ironic_python_agent -copying ironic_python_agent/efi_utils.py -> build/lib/ironic_python_agent -copying ironic_python_agent/disk_partitioner.py -> build/lib/ironic_python_agent -copying ironic_python_agent/netutils.py -> build/lib/ironic_python_agent -copying ironic_python_agent/format_inspector.py -> build/lib/ironic_python_agent +copying ironic_python_agent/tests/__init__.py -> build/lib/ironic_python_agent/tests +creating build/lib/ironic_python_agent/cmd +copying ironic_python_agent/cmd/inspect.py -> build/lib/ironic_python_agent/cmd +copying ironic_python_agent/cmd/__init__.py -> build/lib/ironic_python_agent/cmd +copying ironic_python_agent/cmd/agent.py -> build/lib/ironic_python_agent/cmd creating build/lib/ironic_python_agent/tests/functional copying ironic_python_agent/tests/functional/base.py -> build/lib/ironic_python_agent/tests/functional copying ironic_python_agent/tests/functional/test_commands.py -> build/lib/ironic_python_agent/tests/functional copying ironic_python_agent/tests/functional/__init__.py -> build/lib/ironic_python_agent/tests/functional -creating build/lib/ironic_python_agent/tests/unit/extensions -copying ironic_python_agent/tests/unit/extensions/test_log.py -> build/lib/ironic_python_agent/tests/unit/extensions -copying ironic_python_agent/tests/unit/extensions/test_flow.py -> build/lib/ironic_python_agent/tests/unit/extensions -copying ironic_python_agent/tests/unit/extensions/test_service.py -> build/lib/ironic_python_agent/tests/unit/extensions -copying ironic_python_agent/tests/unit/extensions/test_image.py -> build/lib/ironic_python_agent/tests/unit/extensions -copying ironic_python_agent/tests/unit/extensions/test_rescue.py -> build/lib/ironic_python_agent/tests/unit/extensions -copying ironic_python_agent/tests/unit/extensions/test_deploy.py -> build/lib/ironic_python_agent/tests/unit/extensions -copying ironic_python_agent/tests/unit/extensions/test_base.py -> build/lib/ironic_python_agent/tests/unit/extensions -copying ironic_python_agent/tests/unit/extensions/test_standby.py -> build/lib/ironic_python_agent/tests/unit/extensions -copying ironic_python_agent/tests/unit/extensions/__init__.py -> build/lib/ironic_python_agent/tests/unit/extensions -copying ironic_python_agent/tests/unit/extensions/test_clean.py -> build/lib/ironic_python_agent/tests/unit/extensions -copying ironic_python_agent/tests/unit/extensions/test_poll.py -> build/lib/ironic_python_agent/tests/unit/extensions -creating build/lib/ironic_python_agent/hardware_managers -copying ironic_python_agent/hardware_managers/mlnx.py -> build/lib/ironic_python_agent/hardware_managers -copying ironic_python_agent/hardware_managers/cna.py -> build/lib/ironic_python_agent/hardware_managers -copying ironic_python_agent/hardware_managers/__init__.py -> build/lib/ironic_python_agent/hardware_managers -creating build/lib/ironic_python_agent/extensions -copying ironic_python_agent/extensions/standby.py -> build/lib/ironic_python_agent/extensions -copying ironic_python_agent/extensions/base.py -> build/lib/ironic_python_agent/extensions -copying ironic_python_agent/extensions/flow.py -> build/lib/ironic_python_agent/extensions -copying ironic_python_agent/extensions/poll.py -> build/lib/ironic_python_agent/extensions -copying ironic_python_agent/extensions/rescue.py -> build/lib/ironic_python_agent/extensions -copying ironic_python_agent/extensions/deploy.py -> build/lib/ironic_python_agent/extensions -copying ironic_python_agent/extensions/__init__.py -> build/lib/ironic_python_agent/extensions -copying ironic_python_agent/extensions/log.py -> build/lib/ironic_python_agent/extensions -copying ironic_python_agent/extensions/clean.py -> build/lib/ironic_python_agent/extensions -copying ironic_python_agent/extensions/service.py -> build/lib/ironic_python_agent/extensions -copying ironic_python_agent/extensions/image.py -> build/lib/ironic_python_agent/extensions -copying ironic_python_agent/tests/__init__.py -> build/lib/ironic_python_agent/tests running egg_info creating ironic_python_agent.egg-info writing ironic_python_agent.egg-info/PKG-INFO @@ -1832,206 +1873,207 @@ running install_lib creating /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages creating /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/utils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/raid_utils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/inspector.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/config.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/disk_partitioner.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/qemu_img.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/disk_utils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +creating /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api +copying build/lib/ironic_python_agent/api/app.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api +copying build/lib/ironic_python_agent/api/__init__.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api +copying build/lib/ironic_python_agent/netutils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent creating /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers copying build/lib/ironic_python_agent/hardware_managers/mlnx.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers copying build/lib/ironic_python_agent/hardware_managers/cna.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers copying build/lib/ironic_python_agent/hardware_managers/__init__.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers -copying build/lib/ironic_python_agent/partition_utils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/disk_utils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/inject_files.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/dmi_inspector.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/numa_inspector.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/tls_utils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/burnin.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +creating /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd +copying build/lib/ironic_python_agent/cmd/inspect.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd +copying build/lib/ironic_python_agent/cmd/__init__.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd +copying build/lib/ironic_python_agent/cmd/agent.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd +copying build/lib/ironic_python_agent/partition_utils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent creating /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions -copying build/lib/ironic_python_agent/extensions/standby.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions +copying build/lib/ironic_python_agent/extensions/clean.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/base.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions -copying build/lib/ironic_python_agent/extensions/flow.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions +copying build/lib/ironic_python_agent/extensions/log.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/poll.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions -copying build/lib/ironic_python_agent/extensions/rescue.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/deploy.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions -copying build/lib/ironic_python_agent/extensions/__init__.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions -copying build/lib/ironic_python_agent/extensions/log.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions -copying build/lib/ironic_python_agent/extensions/clean.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions -copying build/lib/ironic_python_agent/extensions/service.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/image.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions -copying build/lib/ironic_python_agent/errors.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/ironic_api_client.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/config.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/inspect.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/hardware.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/__init__.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/agent.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -creating /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd -copying build/lib/ironic_python_agent/cmd/inspect.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd -copying build/lib/ironic_python_agent/cmd/__init__.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd -copying build/lib/ironic_python_agent/cmd/agent.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd -creating /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api -copying build/lib/ironic_python_agent/api/__init__.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api -copying build/lib/ironic_python_agent/api/app.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api -copying build/lib/ironic_python_agent/qemu_img.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/extensions/standby.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions +copying build/lib/ironic_python_agent/extensions/service.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions +copying build/lib/ironic_python_agent/extensions/__init__.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions +copying build/lib/ironic_python_agent/extensions/rescue.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions +copying build/lib/ironic_python_agent/extensions/flow.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/version.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/inspector.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/burnin.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/hardware.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/format_inspector.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/errors.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/numa_inspector.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/encoding.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/efi_utils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/disk_partitioner.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/raid_utils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/tls_utils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/utils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/inspect.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent creating /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests -copying build/lib/ironic_python_agent/tests/__init__.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests -creating /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional -copying build/lib/ironic_python_agent/tests/functional/base.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional -copying build/lib/ironic_python_agent/tests/functional/test_commands.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional -copying build/lib/ironic_python_agent/tests/functional/__init__.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional creating /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_tls_utils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_errors.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_burnin.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_disk_partitioner.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_inspector.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_netutils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_multi_hardware.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_agent.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_partition_utils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/base.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_qemu_img.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_utils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit creating /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers copying build/lib/ironic_python_agent/tests/unit/hardware_managers/test_mlnx.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers creating /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/nvidia -copying build/lib/ironic_python_agent/tests/unit/hardware_managers/nvidia/test_nvidia_fw_update.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/nvidia copying build/lib/ironic_python_agent/tests/unit/hardware_managers/nvidia/__init__.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/nvidia +copying build/lib/ironic_python_agent/tests/unit/hardware_managers/nvidia/test_nvidia_fw_update.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/nvidia copying build/lib/ironic_python_agent/tests/unit/hardware_managers/__init__.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers copying build/lib/ironic_python_agent/tests/unit/hardware_managers/test_cna.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers -copying build/lib/ironic_python_agent/tests/unit/dmi_inspector_data.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/base.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_partition_utils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_inspector.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_disk_utils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_errors.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_format_inspector.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_qemu_img.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_agent.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_inject_files.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_ironic_api_client.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_base.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_raid_utils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit creating /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions -copying build/lib/ironic_python_agent/tests/unit/extensions/test_log.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions +copying build/lib/ironic_python_agent/tests/unit/extensions/test_deploy.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions +copying build/lib/ironic_python_agent/tests/unit/extensions/test_base.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_flow.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_service.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions -copying build/lib/ironic_python_agent/tests/unit/extensions/test_image.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_rescue.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions -copying build/lib/ironic_python_agent/tests/unit/extensions/test_deploy.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions -copying build/lib/ironic_python_agent/tests/unit/extensions/test_base.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions -copying build/lib/ironic_python_agent/tests/unit/extensions/test_standby.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions -copying build/lib/ironic_python_agent/tests/unit/extensions/__init__.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_clean.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions +copying build/lib/ironic_python_agent/tests/unit/extensions/test_standby.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions +copying build/lib/ironic_python_agent/tests/unit/extensions/test_log.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_poll.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions -copying build/lib/ironic_python_agent/tests/unit/test_efi_utils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_disk_partitioner.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_base.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_api.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/extensions/test_image.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions +copying build/lib/ironic_python_agent/tests/unit/extensions/__init__.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/test_multi_hardware_clean_steps.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/__init__.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_numa_inspector.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_hardware.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_burnin.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_dmi_inspector.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_raid_utils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_multi_hardware.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_utils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_netutils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_api.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_ironic_api_client.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/dmi_inspector_data.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_format_inspector.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_tls_utils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_disk_utils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/__init__.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_efi_utils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_encoding.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_numa_inspector.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/netutils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/format_inspector.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/utils.py to utils.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/raid_utils.py to raid_utils.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/inspector.py to inspector.cpython-313.pyc +copying build/lib/ironic_python_agent/tests/unit/test_dmi_inspector.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_inject_files.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +creating /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional +copying build/lib/ironic_python_agent/tests/functional/base.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional +copying build/lib/ironic_python_agent/tests/functional/test_commands.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional +copying build/lib/ironic_python_agent/tests/functional/__init__.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional +copying build/lib/ironic_python_agent/tests/__init__.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests +copying build/lib/ironic_python_agent/efi_utils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/__init__.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/dmi_inspector.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/ironic_api_client.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/agent.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/config.py to config.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/disk_partitioner.py to disk_partitioner.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/qemu_img.py to qemu_img.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/disk_utils.py to disk_utils.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api/app.py to app.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/netutils.py to netutils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers/mlnx.py to mlnx.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers/cna.py to cna.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/partition_utils.py to partition_utils.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/disk_utils.py to disk_utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/inject_files.py to inject_files.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/dmi_inspector.py to dmi_inspector.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/numa_inspector.py to numa_inspector.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tls_utils.py to tls_utils.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/burnin.py to burnin.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/standby.py to standby.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd/inspect.py to inspect.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd/agent.py to agent.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/partition_utils.py to partition_utils.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/clean.py to clean.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/base.py to base.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/flow.py to flow.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/log.py to log.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/poll.py to poll.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/rescue.py to rescue.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/deploy.py to deploy.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/log.py to log.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/clean.py to clean.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/service.py to service.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/image.py to image.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/errors.py to errors.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/ironic_api_client.py to ironic_api_client.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/config.py to config.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/inspect.py to inspect.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware.py to hardware.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/agent.py to agent.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd/inspect.py to inspect.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd/agent.py to agent.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api/app.py to app.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/qemu_img.py to qemu_img.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/standby.py to standby.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/service.py to service.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/rescue.py to rescue.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/flow.py to flow.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/version.py to version.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/inspector.py to inspector.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/burnin.py to burnin.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware.py to hardware.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/format_inspector.py to format_inspector.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/errors.py to errors.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/numa_inspector.py to numa_inspector.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/encoding.py to encoding.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/efi_utils.py to efi_utils.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/disk_partitioner.py to disk_partitioner.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional/base.py to base.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional/test_commands.py to test_commands.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_tls_utils.py to test_tls_utils.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/raid_utils.py to raid_utils.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tls_utils.py to tls_utils.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/utils.py to utils.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/inspect.py to inspect.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_errors.py to test_errors.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_burnin.py to test_burnin.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_disk_partitioner.py to test_disk_partitioner.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_inspector.py to test_inspector.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_netutils.py to test_netutils.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_multi_hardware.py to test_multi_hardware.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_agent.py to test_agent.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_partition_utils.py to test_partition_utils.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/base.py to base.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_qemu_img.py to test_qemu_img.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_utils.py to test_utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/test_mlnx.py to test_mlnx.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/nvidia/test_nvidia_fw_update.py to test_nvidia_fw_update.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/nvidia/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/nvidia/test_nvidia_fw_update.py to test_nvidia_fw_update.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/test_cna.py to test_cna.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/dmi_inspector_data.py to dmi_inspector_data.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/base.py to base.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_partition_utils.py to test_partition_utils.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_inspector.py to test_inspector.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_disk_utils.py to test_disk_utils.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_errors.py to test_errors.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_format_inspector.py to test_format_inspector.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_qemu_img.py to test_qemu_img.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_agent.py to test_agent.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_inject_files.py to test_inject_files.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_ironic_api_client.py to test_ironic_api_client.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_log.py to test_log.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_base.py to test_base.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_raid_utils.py to test_raid_utils.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_deploy.py to test_deploy.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_base.py to test_base.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_flow.py to test_flow.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_service.py to test_service.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_rescue.py to test_rescue.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_clean.py to test_clean.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_standby.py to test_standby.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_log.py to test_log.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_poll.py to test_poll.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_image.py to test_image.cpython-313.pyc /usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_image.py:331: SyntaxWarning: invalid escape sequence '\E' /usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_image.py:393: SyntaxWarning: invalid escape sequence '\E' -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_rescue.py to test_rescue.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_deploy.py to test_deploy.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_base.py to test_base.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_standby.py to test_standby.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_clean.py to test_clean.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_poll.py to test_poll.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_efi_utils.py to test_efi_utils.cpython-313.pyc -/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_efi_utils.py:361: SyntaxWarning: invalid escape sequence '\E' -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_disk_partitioner.py to test_disk_partitioner.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_base.py to test_base.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_api.py to test_api.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_multi_hardware_clean_steps.py to test_multi_hardware_clean_steps.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_numa_inspector.py to test_numa_inspector.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_hardware.py to test_hardware.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_burnin.py to test_burnin.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_dmi_inspector.py to test_dmi_inspector.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_raid_utils.py to test_raid_utils.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_multi_hardware.py to test_multi_hardware.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_utils.py to test_utils.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_netutils.py to test_netutils.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_api.py to test_api.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_ironic_api_client.py to test_ironic_api_client.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/dmi_inspector_data.py to dmi_inspector_data.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_format_inspector.py to test_format_inspector.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_tls_utils.py to test_tls_utils.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_disk_utils.py to test_disk_utils.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_efi_utils.py to test_efi_utils.cpython-313.pyc +/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_efi_utils.py:361: SyntaxWarning: invalid escape sequence '\E' byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_encoding.py to test_encoding.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_numa_inspector.py to test_numa_inspector.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/netutils.py to netutils.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/format_inspector.py to format_inspector.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_dmi_inspector.py to test_dmi_inspector.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_inject_files.py to test_inject_files.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional/base.py to base.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional/test_commands.py to test_commands.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/efi_utils.py to efi_utils.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/dmi_inspector.py to dmi_inspector.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/ironic_api_client.py to ironic_api_client.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/agent.py to agent.cpython-313.pyc running install_egg_info Copying ironic_python_agent.egg-info to /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent-9.14.0.egg-info Skipping SOURCES.txt running install_scripts Installing ironic-collect-introspection-data script to /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/bin Installing ironic-python-agent script to /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/bin -+ pwd ++ for pyvers in ${PYTHON3S} +++ pwd + python3.12 setup.py install --install-layout=deb --root /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp /usr/lib/python3/dist-packages/setuptools/__init__.py:94: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !! @@ -2084,99 +2126,99 @@ writing top-level names to ironic_python_agent.egg-info/top_level.txt [pbr] Reusing existing SOURCES.txt running install_lib -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/utils.py to utils.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/raid_utils.py to raid_utils.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/inspector.py to inspector.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/config.py to config.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/disk_partitioner.py to disk_partitioner.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/qemu_img.py to qemu_img.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/disk_utils.py to disk_utils.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api/app.py to app.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/netutils.py to netutils.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers/mlnx.py to mlnx.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers/cna.py to cna.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/partition_utils.py to partition_utils.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/disk_utils.py to disk_utils.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/inject_files.py to inject_files.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/dmi_inspector.py to dmi_inspector.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/numa_inspector.py to numa_inspector.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tls_utils.py to tls_utils.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/burnin.py to burnin.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/standby.py to standby.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd/inspect.py to inspect.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd/agent.py to agent.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/partition_utils.py to partition_utils.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/clean.py to clean.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/base.py to base.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/flow.py to flow.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/log.py to log.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/poll.py to poll.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/rescue.py to rescue.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/deploy.py to deploy.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/log.py to log.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/clean.py to clean.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/service.py to service.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/image.py to image.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/errors.py to errors.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/ironic_api_client.py to ironic_api_client.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/config.py to config.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/inspect.py to inspect.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware.py to hardware.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/agent.py to agent.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd/inspect.py to inspect.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd/agent.py to agent.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api/app.py to app.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/qemu_img.py to qemu_img.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/standby.py to standby.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/service.py to service.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/rescue.py to rescue.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/flow.py to flow.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/version.py to version.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/inspector.py to inspector.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/burnin.py to burnin.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware.py to hardware.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/format_inspector.py to format_inspector.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/errors.py to errors.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/numa_inspector.py to numa_inspector.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/encoding.py to encoding.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/efi_utils.py to efi_utils.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/disk_partitioner.py to disk_partitioner.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional/base.py to base.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional/test_commands.py to test_commands.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_tls_utils.py to test_tls_utils.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/raid_utils.py to raid_utils.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tls_utils.py to tls_utils.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/utils.py to utils.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/inspect.py to inspect.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_errors.py to test_errors.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_burnin.py to test_burnin.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_disk_partitioner.py to test_disk_partitioner.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_inspector.py to test_inspector.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_netutils.py to test_netutils.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_multi_hardware.py to test_multi_hardware.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_agent.py to test_agent.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_partition_utils.py to test_partition_utils.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/base.py to base.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_qemu_img.py to test_qemu_img.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_utils.py to test_utils.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/test_mlnx.py to test_mlnx.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/nvidia/test_nvidia_fw_update.py to test_nvidia_fw_update.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/nvidia/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/nvidia/test_nvidia_fw_update.py to test_nvidia_fw_update.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/__init__.py to __init__.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/test_cna.py to test_cna.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/dmi_inspector_data.py to dmi_inspector_data.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/base.py to base.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_partition_utils.py to test_partition_utils.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_inspector.py to test_inspector.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_disk_utils.py to test_disk_utils.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_errors.py to test_errors.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_format_inspector.py to test_format_inspector.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_qemu_img.py to test_qemu_img.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_agent.py to test_agent.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_inject_files.py to test_inject_files.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_ironic_api_client.py to test_ironic_api_client.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_log.py to test_log.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_base.py to test_base.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_raid_utils.py to test_raid_utils.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_deploy.py to test_deploy.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_base.py to test_base.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_flow.py to test_flow.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_service.py to test_service.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_rescue.py to test_rescue.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_clean.py to test_clean.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_standby.py to test_standby.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_log.py to test_log.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_poll.py to test_poll.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_image.py to test_image.cpython-312.pyc /usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_image.py:331: SyntaxWarning: invalid escape sequence '\E' /usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_image.py:393: SyntaxWarning: invalid escape sequence '\E' -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_rescue.py to test_rescue.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_deploy.py to test_deploy.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_base.py to test_base.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_standby.py to test_standby.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_clean.py to test_clean.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_poll.py to test_poll.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_efi_utils.py to test_efi_utils.cpython-312.pyc -/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_efi_utils.py:361: SyntaxWarning: invalid escape sequence '\E' -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_disk_partitioner.py to test_disk_partitioner.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_base.py to test_base.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_api.py to test_api.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_multi_hardware_clean_steps.py to test_multi_hardware_clean_steps.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_numa_inspector.py to test_numa_inspector.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_hardware.py to test_hardware.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_burnin.py to test_burnin.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_dmi_inspector.py to test_dmi_inspector.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_raid_utils.py to test_raid_utils.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_multi_hardware.py to test_multi_hardware.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_utils.py to test_utils.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_netutils.py to test_netutils.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_api.py to test_api.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_ironic_api_client.py to test_ironic_api_client.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/dmi_inspector_data.py to dmi_inspector_data.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_format_inspector.py to test_format_inspector.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_tls_utils.py to test_tls_utils.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_disk_utils.py to test_disk_utils.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_efi_utils.py to test_efi_utils.cpython-312.pyc +/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_efi_utils.py:361: SyntaxWarning: invalid escape sequence '\E' byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_encoding.py to test_encoding.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_numa_inspector.py to test_numa_inspector.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/netutils.py to netutils.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/format_inspector.py to format_inspector.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_dmi_inspector.py to test_dmi_inspector.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_inject_files.py to test_inject_files.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional/base.py to base.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional/test_commands.py to test_commands.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/efi_utils.py to efi_utils.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/dmi_inspector.py to dmi_inspector.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/ironic_api_client.py to ironic_api_client.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/agent.py to agent.cpython-312.pyc running install_egg_info removing '/build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent-9.14.0.egg-info' (and everything under it) Copying ironic_python_agent.egg-info to /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent-9.14.0.egg-info @@ -2184,10 +2226,10 @@ running install_scripts Installing ironic-collect-introspection-data script to /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/bin Installing ironic-python-agent script to /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/bin -+ pwd -+ rm -rf /build/reproducible-path/ironic-python-agent-9.14.0/debian/python*/usr/lib/python*/dist-packages/*.pth -+ pwd -+ rm -rf /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python*/dist-packages/*.pth +++ pwd ++ rm -rf '/build/reproducible-path/ironic-python-agent-9.14.0/debian/python*/usr/lib/python*/dist-packages/*.pth' +++ pwd ++ rm -rf '/build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python*/dist-packages/*.pth' pkgos-dh_auto_test --no-py2 'ironic_python_agent\.tests\.unit\.(?!test_inspector\.TestWaitForDhcp\.test_timeout)' + PKGOS_TEST_PARALLEL=yes + PKGOS_TEST_SERIAL=no @@ -2195,32 +2237,39 @@ + PYTHON3S=disabled + TEST_PARALLEL_OPT=--parallel + TEST_SERIAL_OPT= -+ echo WARNING: --no-py2 is deprecated, and always on. ++ for i in $@ ++ case "${1}" in ++ echo 'WARNING: --no-py2 is deprecated, and always on.' WARNING: --no-py2 is deprecated, and always on. + shift -+ py3versions -vr -+ PYTHON3S=3.13 3.12 -+ [ yes = no ] -+ [ no = yes ] -+ [ 3.13 = disabled ] -+ echo 3.13 -+ cut -d. -f1 ++ for i in $@ ++ case "${1}" in +++ py3versions -vr ++ PYTHON3S='3.13 3.12' ++ '[' yes = no ']' ++ '[' no = yes ']' ++ for pyvers in ${PYTHON3S} ++ '[' 3.13 = disabled ']' +++ echo 3.13 +++ cut -d. -f1 + PYMAJOR=3 -+ echo ===> Testing with python (python3) ++ echo '===> Testing with python (python3)' ===> Testing with python (python3) -+ pwd -+ [ -d /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages ] -+ [ -z ] -+ pwd -+ echo Implicitly adding PYTHONPATH=/build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages +++ pwd ++ '[' -d /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages ']' ++ '[' -z '' ']' +++ pwd ++ echo 'Implicitly adding PYTHONPATH=/build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages' Implicitly adding PYTHONPATH=/build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages -+ pwd +++ pwd + export PYTHONPATH=/build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages -+ [ -e .stestr.conf ] -+ [ -x /usr/bin/python3-stestr ] ++ PYTHONPATH=/build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages ++ '[' -e .stestr.conf ']' ++ '[' -x /usr/bin/python3-stestr ']' + STESTR=stestr + rm -rf .stestr -+ PYTHON=python3.13 stestr run --parallel --subunit ironic_python_agent\.tests\.unit\.(?!test_inspector\.TestWaitForDhcp\.test_timeout) ++ PYTHON=python3.13 ++ stestr run --parallel --subunit 'ironic_python_agent\.tests\.unit\.(?!test_inspector\.TestWaitForDhcp\.test_timeout)' + subunit2pyunit /build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/extensions/test_image.py:331: SyntaxWarning: invalid escape sequence '\E' stdout_msg = """ @@ -2228,24 +2277,21 @@ stdout_msg = """ /build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_efi_utils.py:361: SyntaxWarning: invalid escape sequence '\E' dupe_entry = """ - ERROR [ironic_python_agent.extensions.poll] Node lookup data can only be set when the Ironic Python Agent is running in standalone mode. - ERROR [root] Failed Prerequisite check. Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - ERROR [ironic_python_agent.agent] error sending heartbeat to + ERROR [root] Command failed: fake_async_command, error: An error occurred: failed Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/agent.py", line 148, in do_heartbeat - self.api.heartbeat( - ~~~~~~~~~~~~~~~~~~^ - uuid=self.agent.get_node_uuid(), - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<2 lines>... - generated_cert=self.agent.generated_cert, - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ) - ^ + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/extensions/test_base.py", line 38, in fake_async_command + raise ExecutionError() +ironic_python_agent.tests.unit.extensions.test_base.ExecutionError: An error occurred: failed + WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. + ERROR [root] Command failed: sleep, error: An error occurred: An unexpected error occurred. Please try back later. +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/extensions/test_flow.py", line 41, in sleep + time.sleep(sleep_info['time']) + ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ @@ -2254,62 +2300,30 @@ ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call raise effect -Exception: uh oh! - ERROR [root] Duplicate componentFlavor MT_0000000540 -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test__query_device -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test__query_device ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed_with_reset -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed_with_reset ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_get_nic_psid -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_get_nic_psid ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_is_image_changed_true -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_is_image_changed_true ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output_no_data -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output_no_data ... ok -ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_get_hardware_info_success -ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_get_hardware_info_success ... ok -ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_set_node_info_not_standalone -ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_set_node_info_not_standalone ... ok -ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_set_node_info_success -ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_set_node_info_success ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output_with_running_fw -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output_with_running_fw ... ok -ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test__heartbeat_expected -ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test__heartbeat_expected ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_apply_net_firmware_update -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_apply_net_firmware_update ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestCheckPrereq.test_check_prereq -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestCheckPrereq.test_check_prereq ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestCheckPrereq.test_check_prereq_exception -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestCheckPrereq.test_check_prereq_exception ... ok -ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run -ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_md5 -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_md5 ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_sha256 -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_sha256 ERROR [root] Invalid parameters for image {'url': 'http://10.10.10.10/firmware_images/fw2.bin', 'checksum': 'a94e683ea16d9ae44768f0a65942234c', 'checksumType': 'sha512', 'component': 'MT_0000000652', 'version': '24.34.1002'},please provide the following parameters url, checksum, checksumType, componentFlavor, version - ... ERROR [root] Tried to execute fake.fake_sync_command, agent is still executing Command name: name, params: {}, status: RUNNING, result: None. -ok - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0005476474761962891 seconds. Error: Received status code 401 from http://example.org, expected 200. Response body: Unauthorized Response headers: - WARNING [ironic_python_agent.extensions.standby] Unable to connect to http://example.org, retrying. Error: Error downloading image: Download of image fake_id failed: Received status code 500 from http://example.org, expected 200. Response body: Oops Response headers: - WARNING [ironic_python_agent.extensions.standby] Unable to connect to http://example.org, retrying. Error: Error downloading image: Download of image fake_id failed: Received status code 500 from http://example.org, expected 200. Response body: Oops Response headers: - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.001001596450805664 seconds. Error: Received status code 500 from http://example.org, expected 200. Response body: Oops Response headers: - ERROR [ironic_python_agent.burnin] SMART test on /dev/sdj failed with 'string' - ERROR [ironic_python_agent.burnin] fio (disk) failed with error Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - ERROR [root] Invalid content error: Invalid request body: baz +ironic_python_agent.errors.RESTError: An error occurred: An unexpected error occurred. Please try back later. +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_execution_failure +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_execution_failure ... ok +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step ... ok +ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step +ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__add_multi_bootloaders +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__add_multi_bootloaders ... ok + ERROR [root] Command failed: start_flow, error: Command execution failed: fake.sleep was failed Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 268, in execute_command - result = ext.execute(command_part, **kwargs) + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/flow.py", line 44, in start_flow + raise errors.CommandExecutionError( + "%s was failed" % method + ) +ironic_python_agent.errors.CommandExecutionError: Command execution failed: fake.sleep was failed + ERROR [root] Unexpected exception performing deploy step erase_devices. RuntimeError: boom +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/deploy.py", line 77, in execute_deploy_step + result = hardware.dispatch_to_managers(step['step'], node, ports, + **kwargs) + File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ @@ -2318,93 +2332,13 @@ ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call raise effect -ironic_python_agent.errors.InvalidContentError: Invalid request body: baz -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_sha512 -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_sha512 ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images_duplicate_component_flavor_exception -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images_duplicate_component_flavor_exception ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_empty_file -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_empty_file ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_empty_file_md5 -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_empty_file_md5 ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_failed -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_failed ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_failed_md5 -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_failed_md5 ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_validate_images_schema -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_validate_images_schema ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_md5 -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_md5 ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_md5 -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_md5 ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_sha256 -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_sha256 ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_sha512 -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_sha512 ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_unknown_file -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_unknown_file ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_unknown_file_md5 -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_unknown_file_md5 ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_invalid_checksum -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_invalid_checksum ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_fail -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_fail ... ok -ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run_no_tls -ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run_no_tls ... ok -ironic_python_agent.tests.unit.test_agent.TestFromConfig.test_override_urls -ironic_python_agent.tests.unit.test_agent.TestFromConfig.test_override_urls ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status_missing -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status_missing ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_default -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_default ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_default -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_default ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_fio -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_fio ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_smart_test -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_smart_test ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_busy -ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_busy ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command -ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_invalid_content -ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_invalid_content ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_validate_images_schema_invalid_parameter -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_validate_images_schema_invalid_parameter ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestUpdateNvidiaNicFirmwareImage.test_update_nvidia_nic_firmware_image_exception -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestUpdateNvidiaNicFirmwareImage.test_update_nvidia_nic_firmware_image_exception ... ok -ironic_python_agent.tests.unit.test_disk_utils.PopulateImageTestCase.test_populate_qcow2_image -ironic_python_agent.tests.unit.test_disk_utils.PopulateImageTestCase.test_populate_qcow2_image ... ok -ironic_python_agent.tests.unit.test_disk_utils.PopulateImageTestCase.test_populate_raw_image -ironic_python_agent.tests.unit.test_disk_utils.PopulateImageTestCase.test_populate_raw_image ... ok -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorsTargeted.test_vhd_table_over_limit -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorsTargeted.test_vhd_table_over_limit ... ok -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorsTargeted.test_vhd_table_under_limit -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorsTargeted.test_vhd_table_under_limit ... ok -ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found -ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found ... ok -ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found_with_dev -ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found_with_dev ... ok -ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_not_found -ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_not_found ... ok -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_convert_to_sparse -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_convert_to_sparse ... ok -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_gpt_disk_label -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_gpt_disk_label ... ok -ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test_heartbeat -ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test_heartbeat ... ok -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_configdrive_partition -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_configdrive_partition ... ok - ERROR [root] Command execution error: Command execution failed: foo bar baz +RuntimeError: boom + ERROR [root] Command failed: execute_deploy_step, error: Deploy step failed: Unexpected exception performing deploy step erase_devices. RuntimeError: boom Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 268, in execute_command - result = ext.execute(command_part, **kwargs) + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/deploy.py", line 77, in execute_deploy_step + result = hardware.dispatch_to_managers(step['step'], node, ports, + **kwargs) + File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ @@ -2413,470 +2347,16 @@ ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call raise effect -ironic_python_agent.errors.CommandExecutionError: Command execution failed: foo bar baz - WARNING [ironic_python_agent.extensions.standby] Unable to connect to http://example.org, retrying. Error: - WARNING [ironic_python_agent.extensions.standby] Unable to connect to http://example.org, retrying. Error: Error downloading image: Download of image fake_id failed: Received status code 500 from http://example.org, expected 200. Response body: Response headers: - ERROR [root] Failed to query firmware of device : Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - ERROR [ironic_python_agent.disk_utils] Unable to stat device /dev/disk/by-path/ip-1.2.3.4:5678-iscsi-iqn.fake-lun-9 after attempting to verify 2 times. - ERROR [ironic_python_agent.disk_utils] Unable to stat device /dev/disk/by-path/ip-1.2.3.4:5678-iscsi-iqn.fake-lun-9 after attempting to verify 3 times. - ERROR [root] Extension do not found -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 267, in execute_command - ext = self.get_extension(extension_part) - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 238, in get_extension - ext = self.ext_mgr[extension_name].obj - ~~~~~~~~~~~~^^^^^^^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/stevedore/extension.py", line 340, in __getitem__ - return self._extensions_by_name[name] - ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ -KeyError: 'do' - WARNING [ironic_python_agent.efi_utils] Invalid sgdisk line: I am a teaport - WARNING [ironic_python_agent.efi_utils] No UUID information provided in sgdisk output for partition 1 on device /dev/fake - ERROR [root] Failed to query tool configuration of device : Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_ephemeral_partition -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_ephemeral_partition ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_other_exception -ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_other_exception ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__get_device_conf_dict -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__get_device_conf_dict ... ok -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_block_uuid -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_block_uuid ... ok -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_block_uuid_fallback_to_uuid -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_block_uuid_fallback_to_uuid ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_success -ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_success ... ok -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries_success -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries_success ... ok -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_root_partition -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_root_partition ... WARNING [root] Something went wrong when readlink for interface eth2. Error: fake -ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__get_device_conf_dict_exception -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__get_device_conf_dict_exception ... ok -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_no_logical_partitions -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_no_logical_partitions ... ok -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_wrong_partition_table -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_wrong_partition_table ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_invalid_command -ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_invalid_command ... ok -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_attempts -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_attempts ... ok -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_swap_partition -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_swap_partition ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data ... ok -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_raises -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_raises ... ok -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_params_validation -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_params_validation ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_unknown_extension -ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_unknown_extension ... ok -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_works -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_works ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data_no_data -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data_no_data ... ok -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_ppc64le_prep_part -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_ppc64le_prep_part ... ok -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_no_wait -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_no_wait ... ok -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_broken -ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_broken ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool_exception -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool_exception ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_ok -ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_ok ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw ... ok -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_execute_error -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_execute_error ... ok -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_preserve_ephemeral -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_preserve_ephemeral ... ok -ironic_python_agent.tests.unit.test_errors.TestErrors.test_RESTError -ironic_python_agent.tests.unit.test_errors.TestErrors.test_RESTError ... ok -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_with_false_wait -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_with_false_wait ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_1st -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_1st ... ok - ERROR [root] Failed to query firmware of device : Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None -ironic_python_agent.tests.unit.test_errors.TestErrors.test_RESTError_details -ironic_python_agent.tests.unit.test_errors.TestErrors.test_RESTError_details ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw_exception -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw_exception ... ok -ironic_python_agent.tests.unit.test_errors.TestErrors.test_error_classes -ironic_python_agent.tests.unit.test_errors.TestErrors.test_error_classes ... ok -ironic_python_agent.tests.unit.test_errors.TestErrors.test_error_string -ironic_python_agent.tests.unit.test_errors.TestErrors.test_error_string ... ok -ironic_python_agent.tests.unit.test_hardware.TestHardwareManagerLoading.test_get_managers -ironic_python_agent.tests.unit.test_hardware.TestHardwareManagerLoading.test_get_managers ... ok -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_with_true_wait -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_with_true_wait ... ok -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_validation -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_validation ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_set_config -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_set_config ... ok - ERROR [root] Failed to set configuration of device , ['SRIOV_EN=20']: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_set_config_exception -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_set_config_exception ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config ... ok - ERROR [root] Configuraiton ESWITCH_HAIRPIN_TOT_BUFFER_SIZE[8] for device is not supported with current fw -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_fw -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_fw ... ok - ERROR [root] Configuraiton: UNSUPPORTED_PARAM is not supported by mstconfig, please update to the latest mstflint package. - ERROR [root] duplicate settings for device ID 1017 - ERROR [root] There is no deviceID provided for this settings - WARNING [root] Attempted to invoke multipath utilities, but we encountered an error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'lacking kernel support' -Stderr: None - WARNING [root] Attempted to invoke multipath utilities, but we encountered an error: - WARNING [root] Attempted to determine if multipath tools were present. Not detected. Error recorded: - ERROR [root] Command failed: fake_async_command, error: An error occurred: failed -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/extensions/test_base.py", line 38, in fake_async_command - raise ExecutionError() -ironic_python_agent.tests.unit.extensions.test_base.ExecutionError: An error occurred: failed -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_mstflint_package -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_mstflint_package ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_duplicate_device_id -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_duplicate_device_id ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_invalid_firmware_settings_config -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_invalid_firmware_settings_config ... ok -ironic_python_agent.tests.unit.test_hardware.TestHardwareManagerLoading.test_get_managers_detail -ironic_python_agent.tests.unit.test_hardware.TestHardwareManagerLoading.test_get_managers_detail ... ok -ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_already_running -ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_already_running ... ok -ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_lacking_support -ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_lacking_support ... ok -ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_ll_fails -ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_ll_fails ... ok -ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_mpathconf -ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_mpathconf ... ok -ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_no_multipath -ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_no_multipath ... ok -ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_not_found_mpath_config -ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_not_found_mpath_config ... ok -ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_with_config -ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_with_config ... ok -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image ... ok -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_disabled -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_disabled ... ok -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_flags -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_flags ... ok -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_flags_disabled -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_flags_disabled ... ok -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_just_fails -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_just_fails ... ok -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_just_fails_disabled -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_just_fails_disabled ... ok -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries ... ok -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error ... ok -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error_disabled -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error_disabled ... ok -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails ... ok -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails_disabled -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails_disabled ... ok -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_disabled -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_disabled ... ok -ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_doesnt_exist_disabled -ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_doesnt_exist_disabled ... ok -ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_disabled -ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_disabled ... ok -ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_safe -ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_safe ... ok -ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_unsafe -ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_unsafe ... ok -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_no_i40e_driver -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_no_i40e_driver ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_2nd -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_2nd ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_execution_failure -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_execution_failure ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_name -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_name ... ok -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_uefi -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_uefi ... ok -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_with_token -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_with_token ... ok -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_with_token_invalid -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_with_token_invalid ... ok -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_agent_status -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_agent_status ... ok -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_result -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_result ... ok -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_command_results -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_command_results ... ok -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_not_found -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_not_found ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_prepare_nvidia_nic_config -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_prepare_nvidia_nic_config ... ok -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware ... ok -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_error -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_error ... ok - ERROR [ironic_python_agent.disk_utils] Security: Detected image format was qcow3, but only raw, qcow2 are allowed - ERROR [ironic_python_agent.disk_utils] Security: Detected image format was qcow3, but only raw, qcow2 are allowed - ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boop' -Stderr: None -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_timeout -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_timeout ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_defaults -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_defaults ... ok -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_root -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_root ... ok -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_v1_root -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_v1_root ... ok - ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boom' -Stderr: None -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_no_defaults -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_no_defaults ... ok -ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_mismatch -ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_mismatch ... ok -ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_mismatch_but_disabled -ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_mismatch_but_disabled ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__message_format_partition_bios -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__message_format_partition_bios ... ok -ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_type_disallowed -ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_type_disallowed ... ok -ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_happy_qcow2 -ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_happy_qcow2 ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__message_format_partition_uefi -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__message_format_partition_uefi ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_raise_missing_config -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_raise_missing_config ... ok -ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_happy_raw -ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_happy_raw ... ok -ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_safety_check_fail_but_disabled -ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_safety_check_fail_but_disabled ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__sync_clock -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__sync_clock ... ok -ironic_python_agent.tests.unit.test_encoding.TestSerializable.test_baseclass_serialize -ironic_python_agent.tests.unit.test_encoding.TestSerializable.test_baseclass_serialize ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_raise_wrong_config -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_raise_wrong_config ... ok -ironic_python_agent.tests.unit.test_encoding.TestSerializable.test_childclass_serialize -ironic_python_agent.tests.unit.test_encoding.TestSerializable.test_childclass_serialize ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_success -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_success ... ok -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_without_image -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_without_image ... ok -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_in_cna_card -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_in_cna_card ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_fio -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_fio ... ok - ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. -Command: None -Exit code: 16 -Stdout: 'Connection timeout' -Stderr: None -ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_save_api_client -ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_save_api_client ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_partner -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_partner ... ok - ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. -Command: None -Exit code: 16 -Stdout: 'Connection timeout' -Stderr: None -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_role -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_role ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader ... ok - ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. -Command: None -Exit code: 16 -Stdout: 'Connection refused' -Stderr: None -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_cache_and_write_image -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_cache_and_write_image ... ok -ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_update_node_cache -ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_update_node_cache ... ok -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi ... ok -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi_no_iscsi -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi_no_iscsi ... ok -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__load_ipmi_modules -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__load_ipmi_modules ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader_loop -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader_loop ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader_w_logfile -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader_w_logfile ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_unknown_role -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_unknown_role ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer_w_logfile -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer_w_logfile ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_default -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_default ... ok - ERROR [ironic_python_agent.burnin] stress-ng (cpu) failed with error Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_no_stress_ng -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_no_stress_ng ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_success_without_agent -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_success_without_agent ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_validation_failure -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_validation_failure ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_command_map -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_command_map ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_execution_failure -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_execution_failure ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_name -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_name ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_success -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_success ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_validation_failure -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_validation_failure ... ok - ERROR [root] Command failed: fake_async_command, error: An error occurred: failed +RuntimeError: boom + +During handling of the above exception, another exception occurred: + Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/extensions/test_base.py", line 38, in fake_async_command - raise ExecutionError() -ironic_python_agent.tests.unit.extensions.test_base.ExecutionError: An error occurred: failed -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_wait_async_command_execution_failure -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_wait_async_command_execution_failure ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_wait_async_command_success -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_wait_async_command_success ... ok -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestFindESPRAID.test_esp_raid -ironic_python_agent.tests.unit.test_raid_utils.TestFindESPRAID.test_esp_raid ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestFindESPRAID.test_no_esp_raid -ironic_python_agent.tests.unit.test_raid_utils.TestFindESPRAID.test_no_esp_raid ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestGetNextFreeRaidDevice.test_no_device -ironic_python_agent.tests.unit.test_raid_utils.TestGetNextFreeRaidDevice.test_no_device ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestGetNextFreeRaidDevice.test_ok -ironic_python_agent.tests.unit.test_raid_utils.TestGetNextFreeRaidDevice.test_ok ... ok -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_write_error -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_write_error ... ok -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_no_mlnx -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_no_mlnx ... ok -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support ... ok -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support_no_mlnx -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support_no_mlnx ... ok -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_generate_client_id -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_generate_client_id ... ok -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_clean_steps -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_clean_steps ... ok -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info ... ok -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_ib_interface -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_ib_interface ... ok -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mac_address -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mac_address ... ok -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mlnx_interface -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mlnx_interface ... ok -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_infiniband_address_to_mac -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_infiniband_address_to_mac ... ok -ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available -ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available ... ok -ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_dev_becomes_avail_busybox -ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_dev_becomes_avail_busybox ... ok -ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_dev_becomes_avail_psmisc -ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_dev_becomes_avail_psmisc ... ok -ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_device_in_use_busybox -ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_device_in_use_busybox ... ok -ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_device_in_use_psmisc -ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_device_in_use_psmisc ... ok -ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_no_device -ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_no_device ... ok - WARNING [ironic_python_agent.disk_utils] Failed to check the device fake-dev with fuser: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: 'fake' - WARNING [ironic_python_agent.disk_utils] Failed to check the device fake-dev with fuser: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: 'fake' -ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_no_fuser -ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_no_fuser ... ok - WARNING [ironic_python_agent.dmi_inspector] Failed to parse Handle type in dmi output: list index out of range -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_bad_data -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_bad_data ... ok - ERROR [ironic_python_agent.utils] failed to run dmidecode: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_failure -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_failure ... ok -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_ok -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_ok ... ok -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_bios -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_bios ... ok -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_cpu -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_cpu ... ok -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_memory -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_memory ... ok -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data ... ok - WARNING [ironic_python_agent.dmi_inspector] Failed to process memory dmi data: 'Handle' - WARNING [ironic_python_agent.dmi_inspector] Failed to process memory dmi data: 'Number Of Devices' - ERROR [ironic_python_agent.burnin] stress-ng (vm) failed with error Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - WARNING [root] Mismatched hardware managers versions. Agent version: {'specific': '1'}, node version: {'not_specific': '1'} -/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_tls_utils.py:57: CryptographyDeprecationWarning: Properties that return a naïve datetime object have been deprecated. Please switch to not_valid_before_utc. - self.assertLess(cert.not_valid_before, -/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_tls_utils.py:59: CryptographyDeprecationWarning: Properties that return a naïve datetime object have been deprecated. Please switch to not_valid_after_utc. - self.assertGreater(cert.not_valid_after, -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data_error_handle -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data_error_handle ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_non_default -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_non_default ... ok -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data_error_number_of_devices -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data_error_number_of_devices ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_default -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_default ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr -ironic_python_agent.tests.unit.test_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr ... ok + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/deploy.py", line 88, in execute_deploy_step + raise errors.DeploymentError(msg) +ironic_python_agent.errors.DeploymentError: Deploy step failed: Unexpected exception performing deploy step erase_devices. RuntimeError: boom ERROR [root] Unexpected exception performing service step erase_devices. RuntimeError: boom Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/service.py", line 77, in execute_service_step @@ -2892,6 +2372,7 @@ File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call raise effect RuntimeError: boom + WARNING [ironic_python_agent.extensions.image] Falling back to fstab entry addition label of UUID. We could not identify which UUID or PARTUUID identifier label should be used, thus UUID will be used. ERROR [root] Command failed: execute_service_step, error: Service step failed: Unexpected exception performing service step erase_devices. RuntimeError: boom Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/service.py", line 77, in execute_service_step @@ -2916,63 +2397,41 @@ File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/service.py", line 88, in execute_service_step raise errors.ServicingError(msg) ironic_python_agent.errors.ServicingError: Service step failed: Unexpected exception performing service step erase_devices. RuntimeError: boom -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_no_stress_ng -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_no_stress_ng ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr_no_bootloaders -ironic_python_agent.tests.unit.test_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr_no_bootloaders ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_non_default -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_non_default ... ok -ironic_python_agent.tests.unit.test_hardware.TestListHardwareInfo.test_caching -ironic_python_agent.tests.unit.test_hardware.TestListHardwareInfo.test_caching ... ok -ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition -ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition ... ok -ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_not_found -ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_not_found ... ok -ironic_python_agent.tests.unit.test_hardware.TestVersions.test_check_versions -ironic_python_agent.tests.unit.test_hardware.TestVersions.test_check_versions ... ok -ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_only_boot_flag_gpt -ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_only_boot_flag_gpt ... ok -ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test__generate -ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test__generate ... ok -ironic_python_agent.tests.unit.test_hardware.TestVersions.test_get_current_versions -ironic_python_agent.tests.unit.test_hardware.TestVersions.test_get_current_versions ... ok -ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_only_boot_flag_mbr -ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_only_boot_flag_mbr ... ok -ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_empty -ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_empty ... ok -ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_content_and_deleted -ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_content_and_deleted ... ok -ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_fields -ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_fields ... ok -ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test_generate -ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test_generate ... ok -ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_normal -ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_normal ... ok -ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_missing_path -ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_missing_path ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_cache_and_write_image_configdirve -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_cache_and_write_image_configdirve ... ok -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_exception -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_exception ... ok -ironic_python_agent.tests.unit.test_utils.TestUnmountOfConfig.test__unmount_any_config_drives -ironic_python_agent.tests.unit.test_utils.TestUnmountOfConfig.test__unmount_any_config_drives ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_clean_boot_records -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_clean_boot_records ... ok -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_missing -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_missing ... ok -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_wrong_dir_path -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_wrong_dir_path ... ok -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata ... ok -ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_no_directories -ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_no_directories ... ok -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_4096 -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_4096 ... ok -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_ebr -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_ebr ... ok - ERROR [root] Error performing service step erase_devices + ERROR [root] Command failed: sleep, error: foo Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/service.py", line 77, in execute_service_step + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/extensions/test_flow.py", line 41, in sleep + time.sleep(sleep_info['time']) + ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__ + return self._mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1230, in _execute_mock_call + raise result +Exception: foo + ERROR [root] Failed Prerequisite check. Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None + ERROR [root] Command failed: start_flow, error: Command execution failed: fake.sleep was failed +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/flow.py", line 44, in start_flow + raise errors.CommandExecutionError( + "%s was failed" % method + ) +ironic_python_agent.errors.CommandExecutionError: Command execution failed: fake.sleep was failed +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_name +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_name ... ok + ERROR [root] Error performing deploy step erase_devices +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/deploy.py", line 77, in execute_deploy_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers @@ -2985,13 +2444,11 @@ File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call raise effect ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot -ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_numeric_fields -ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_numeric_fields ... ok - ERROR [root] Command failed: execute_service_step, error: Block device caused unknown error: I'm a teapot + ERROR [root] Command failed: execute_deploy_step, error: Block device caused unknown error: I'm a teapot Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/service.py", line 77, in execute_service_step + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/deploy.py", line 77, in execute_deploy_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers @@ -3004,56 +2461,14 @@ File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call raise effect ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot - WARNING [ironic_python_agent.efi_utils] Empty EFI partition detected. - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda1. Skipping -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_sgdisk_fail -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_sgdisk_fail ... ok -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_fail -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_fail ... ok -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_partuuid_success -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_partuuid_success ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_empty_partition_by_uuid -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_empty_partition_by_uuid ... ok -ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_root_without_on -ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_root_without_on ... ok -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_tiny_partition -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_tiny_partition ... ok -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_no_cna_card_detected -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_no_cna_card_detected ... ok -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_wipefs_fail -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_wipefs_fail ... ok - ERROR [root] Malformed service_step, no "step" key: {} -ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_unknown_fields -ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_unknown_fields ... ok - ERROR [root] Command failed: execute_service_step, error: Malformed service_step, no "step" key: {} -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/service.py", line 74, in execute_service_step - raise ValueError(msg) -ValueError: Malformed service_step, no "step" key: {} -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_wipefs_not_support_force -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_wipefs_not_support_force ... ok -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_no_step -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_no_step ... ok - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sdb. Skipping -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success ... ok -ironic_python_agent.tests.unit.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_exc -ironic_python_agent.tests.unit.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_exc ... ok -ironic_python_agent.tests.unit.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_fix_not_required -ironic_python_agent.tests.unit.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_fix_not_required ... ok - ERROR [ironic_python_agent.efi_utils] Could not configure UEFI boot on device /dev/fake: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boom' -Stderr: None +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_success +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_success ... ok + ERROR [root] Error performing service step erase_devices Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/efi_utils.py", line 131, in manage_uefi - utils.execute('mount', efi_partition, efi_partition_mount_point) - ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "", line 3, in execute + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/service.py", line 77, in execute_service_step + result = hardware.dispatch_to_managers(step['step'], node, ports, + **kwargs) + File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ @@ -3062,72 +2477,10 @@ ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call raise effect -oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boom' -Stderr: None -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image ... ok - ERROR [ironic_python_agent.disk_utils] Security: Unable to safety check image -ironic_python_agent.tests.unit.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_fix_required -ironic_python_agent.tests.unit.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_fix_required ... ok -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_tuple_result -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_tuple_result ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure ... ok -ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_fail_format_error -ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_fail_format_error ... ok - ERROR [ironic_python_agent.disk_utils] Security: Image failed safety check - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sdb. Skipping - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md1. Skipping -ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_fail_safety_check -ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_fail_safety_check ... ok - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00017333030700683594 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 0 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.00017333030700683594 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0005593299865722656 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 1 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0005593299865722656 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0007882118225097656 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 2 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0007882118225097656 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0009868144989013672 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 3 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0009868144989013672 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0011773109436035156 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 4 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0011773109436035156 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0013644695281982422 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 5 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0013644695281982422 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0016164779663085938 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 6 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0016164779663085938 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0018396377563476562 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success_raid -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success_raid WARNING [ironic_python_agent.extensions.standby] Image download failed, 7 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0018396377563476562 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - ... ok - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0021059513092041016 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 8 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0021059513092041016 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0023009777069091797 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_pass -ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_pass ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_conf_credential -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_conf_credential ... ok - ERROR [root] Clean version mismatch for command execute_service_step -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_version_mismatch -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_version_mismatch ... ok -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_with_collect_lldp_disabled -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_with_collect_lldp_disabled ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_enabled_set_password_exception -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_enabled_set_password_exception ... ok -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_with_collect_lldp_enabled -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_with_collect_lldp_enabled ... ok -ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_add_partition -ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_add_partition ... ok -ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit -ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit ... ok -ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step -ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step ... ok - ERROR [root] Unexpected exception performing deploy step erase_devices. RuntimeError: boom +ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot + ERROR [root] Unexpected exception performing clean step erase_devices. RuntimeError: boom Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/deploy.py", line 77, in execute_deploy_step + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/clean.py", line 77, in execute_clean_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers @@ -3140,9 +2493,39 @@ File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call raise effect RuntimeError: boom - ERROR [root] Command failed: execute_deploy_step, error: Deploy step failed: Unexpected exception performing deploy step erase_devices. RuntimeError: boom +ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_exception +ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_exception ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestCheckPrereq.test_check_prereq +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestCheckPrereq.test_check_prereq ... ok + ERROR [root] Malformed deploy_step, no "step" key: {} + ERROR [root] Command failed: execute_service_step, error: Block device caused unknown error: I'm a teapot Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/deploy.py", line 77, in execute_deploy_step + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/service.py", line 77, in execute_service_step + result = hardware.dispatch_to_managers(step['step'], node, ports, + **kwargs) + File "", line 3, in dispatch_to_managers + File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__ + return self._mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call + raise effect +ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot + ERROR [root] Command failed: execute_deploy_step, error: Malformed deploy_step, no "step" key: {} +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/deploy.py", line 73, in execute_deploy_step + raise ValueError(msg) +ValueError: Malformed deploy_step, no "step" key: {} +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_success_without_agent +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_success_without_agent ERROR [root] Command failed: execute_clean_step, error: Clean step failed: Unexpected exception performing clean step erase_devices. RuntimeError: boom +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/clean.py", line 77, in execute_clean_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers @@ -3161,14 +2544,45 @@ Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/deploy.py", line 88, in execute_deploy_step - raise errors.DeploymentError(msg) -ironic_python_agent.errors.DeploymentError: Deploy step failed: Unexpected exception performing deploy step erase_devices. RuntimeError: boom -ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_exception -ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_exception ... ok - ERROR [root] Error performing deploy step erase_devices + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/clean.py", line 88, in execute_clean_step + raise errors.CleaningError(msg) +ironic_python_agent.errors.CleaningError: Clean step failed: Unexpected exception performing clean step erase_devices. RuntimeError: boom + ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__append_uefi_to_fstab_handles_error +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__append_uefi_to_fstab_handles_error ... ok +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_exception +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_exception ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestCheckPrereq.test_check_prereq_exception +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestCheckPrereq.test_check_prereq_exception ... ok + ERROR [root] Malformed service_step, no "step" key: {} +ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step +ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step ... ok + ERROR [root] Command failed: execute_service_step, error: Malformed service_step, no "step" key: {} Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/deploy.py", line 77, in execute_deploy_step + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/service.py", line 74, in execute_service_step + raise ValueError(msg) +ValueError: Malformed service_step, no "step" key: {} +ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_fail +ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_fail ... ok +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_validation_failure +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_validation_failure ... ok +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_params_validation +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_params_validation ... ok +ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_no_step +ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_no_step ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_bios +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_bios ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_no_root +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_no_root ... ok +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_command_map +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_command_map ... ok +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_execution_failure +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_execution_failure ... ok + ERROR [root] Error performing clean step erase_devices +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/clean.py", line 77, in execute_clean_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers @@ -3181,11 +2595,16 @@ File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call raise effect ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot - ERROR [root] Command failed: execute_deploy_step, error: Block device caused unknown error: I'm a teapot +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_fail +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_fail ... ok +ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_tuple_result +ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_tuple_result ... ok + ERROR [root] Clean version mismatch for command execute_deploy_step + ERROR [root] Command failed: execute_clean_step, error: Block device caused unknown error: I'm a teapot Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/deploy.py", line 77, in execute_deploy_step + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/clean.py", line 77, in execute_clean_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers @@ -3198,145 +2617,408 @@ File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call raise effect ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot -ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_fail -ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_fail ... ok - ERROR [root] Malformed deploy_step, no "step" key: {} - ERROR [root] Command failed: execute_deploy_step, error: Malformed deploy_step, no "step" key: {} +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_no_wait +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_no_wait ... ok + ERROR [root] Malformed clean_step, no "step" key: {} + ERROR [root] Command failed: execute_clean_step, error: Malformed clean_step, no "step" key: {} Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/deploy.py", line 73, in execute_deploy_step + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/clean.py", line 74, in execute_clean_step raise ValueError(msg) -ValueError: Malformed deploy_step, no "step" key: {} -ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_no_step -ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_no_step ... ok -ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_tuple_result -ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_tuple_result ... ok - ERROR [root] Clean version mismatch for command execute_deploy_step +ValueError: Malformed clean_step, no "step" key: {} + ERROR [root] Clean version mismatch for command execute_service_step + ERROR [root] Command failed: fake_async_command, error: An error occurred: failed +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/extensions/test_base.py", line 38, in fake_async_command + raise ExecutionError() +ironic_python_agent.tests.unit.extensions.test_base.ExecutionError: An error occurred: failed +ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_exception +ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_exception ... ok +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_no_step +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_no_step ... ok + ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow + ERROR [ironic_python_agent.burnin] SMART test on /dev/sdj failed with 'string' + ERROR [root] Tried to execute fake.fake_sync_command, agent is still executing Command name: name, params: {}, status: RUNNING, result: None. +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_prep +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_prep ... ok + ERROR [root] Command failed: install_bootloader, error: meow +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/image.py", line 721, in install_bootloader + _install_grub2(device, + ~~~~~~~~~~~~~~^^^^^^^^ + root_uuid=root_uuid, + ^^^^^^^^^^^^^^^^^^^^ + efi_system_part_uuid=efi_system_part_uuid, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + prep_boot_part_uuid=prep_boot_part_uuid, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + target_boot_mode=target_boot_mode) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 3, in _install_grub2 + File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__ + return self._mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call + raise effect +OSError: meow +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_name +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_name ... ok +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_with_false_wait +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_with_false_wait ... ok ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_version_mismatch ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_version_mismatch ... ok + ERROR [root] Clean version mismatch for command execute_clean_step +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_success +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_success ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestUpdateNvidiaNicFirmwareImage.test_update_nvidia_nic_firmware_image_exception +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestUpdateNvidiaNicFirmwareImage.test_update_nvidia_nic_firmware_image_exception ... ok +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions ... ok +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_disk_label_gpt +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_disk_label_gpt ... ok + ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_tuple_result +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_tuple_result ... ok +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_gpt_with_prep +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_gpt_with_prep ... ok +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot ... ok +ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_fail +ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_fail ... ok +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed ... ok +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed_on_second_command +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed_on_second_command ... ok +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_success +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_success ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_md5 +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_md5 ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_sha256 +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_sha256 ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_sha512 +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_sha512 ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum ... ok +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_empty_command_map +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_empty_command_map ... ok +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_missing_command +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_missing_command ... ok +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_to_find_extension +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_to_find_extension ... ok +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_success +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_success ... ok +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_with_true_wait +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_with_true_wait ... ok + ERROR [root] Invalid content error: Invalid request body: baz +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 268, in execute_command + result = ext.execute(command_part, **kwargs) + File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__ + return self._mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call + raise effect +ironic_python_agent.errors.InvalidContentError: Invalid request body: baz +ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_no_step +ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_no_step ... ok +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_validation_failure +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_validation_failure ... ok + WARNING [root] Something went wrong when readlink for interface eth2. Error: fake + ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow +ironic_python_agent.tests.unit.extensions.test_log.TestLogExtension.test_collect_system_logs +ironic_python_agent.tests.unit.extensions.test_log.TestLogExtension.test_collect_system_logs ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test__query_device +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test__query_device ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed_with_reset +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed_with_reset ... ok ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_with_args ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_with_args ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi ... ok +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot_gpt_bios +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot_gpt_bios ... ok +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot_uefi +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot_uefi ... ok +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_wait_async_command_execution_failure +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_wait_async_command_execution_failure ... ok + ERROR [ironic_python_agent.burnin] fio (disk) failed with error Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status ... ok ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_get_deploy_steps ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_get_deploy_steps ... ok +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_mbr_with_prep +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_mbr_with_prep ... ok +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_version_mismatch +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_version_mismatch ... ok +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_wait_async_command_success +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_wait_async_command_success ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_empty_file +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_empty_file ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_empty_file_md5 +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_empty_file_md5 ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_grub_failure_api_override +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_grub_failure_api_override ... ok +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_ephemeral +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_ephemeral ... ok +ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_tuple_result +ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_tuple_result ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status_missing +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status_missing ... ok +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_with_args +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_with_args ... ok +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_validation +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_validation ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_get_nic_psid +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_get_nic_psid ... ok + ERROR [root] Command execution error: Command execution failed: foo bar baz +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 268, in execute_command + result = ext.execute(command_part, **kwargs) + File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__ + return self._mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call + raise effect +ironic_python_agent.errors.CommandExecutionError: Command execution failed: foo bar baz ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestUpdatenvidiaNicFirmwareSettings.test_update_nvidia_nic_firmware_settings_exception ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestUpdatenvidiaNicFirmwareSettings.test_update_nvidia_nic_firmware_settings_exception ... ok - ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 -Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve - return _proxy.query(name, rdtype, raise_on_no_answer=raises, - ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - use_network=use_network) - ^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query - step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) - ^^^^^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver - self.clear() - ~~~~~~~~~~^^ - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear - self._resolver = dns.resolver.Resolver(filename=self._filename) - ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ - self.read_resolv_conf(filename) - ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf - raise NoResolverConfiguration("no nameservers") -dns.resolver.NoResolverConfiguration: no nameservers - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 199, in _new_conn - sock = connection.create_connection( - (self._dns_host, self.port), - ...<2 lines>... - socket_options=self.socket_options, - ) - File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection - for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): - ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo - qname, addrs = _getaddrinfo_lookup(host, family, flags) - ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup - raise err - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup - answer = resolve(host, qfamily, False, use_network=use_network) - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve - _raise_new_error(EAI_NODATA_ERROR) - ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error - raise error_instance.__class__(*error_instance.args) -socket.gaierror: [Errno -2] Name or service not known - -The above exception was the direct cause of the following exception: - +ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_finalize_rescue +ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_finalize_rescue ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_is_image_changed_true +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_is_image_changed_true ... ok +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_iscsi_device +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_iscsi_device ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_failed +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_failed ... ok +ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_version_mismatch +ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_version_mismatch ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_default +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_default ... ok +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_local_device +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_local_device ... ok +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output ... ok +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_get_service_steps +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_get_service_steps ... ok + ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_with_token +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_with_token ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_failed_md5 +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_failed_md5 ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_default +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_default ... ok +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_nvme_device +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_nvme_device ... ok +ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_with_args +ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_with_args ... ok +ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_busy +ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_busy ... ok +ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command +ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command ... ok +ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_hashed_passwords +ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_hashed_passwords ... ok +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_execute_error +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_execute_error ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output_no_data +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output_no_data ... ok +ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_invalid_content +ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_invalid_content ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_md5 +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_md5 ... ERROR [root] Rescue Operation failed when writing the hashed rescue password to the password file. Error Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 789, in urlopen - response = self._make_request( - conn, - ...<10 lines>... - **response_kw, - ) - File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 490, in _make_request - raise new_e - File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 466, in _make_request - self._validate_conn(conn) - ~~~~~~~~~~~~~~~~~~~^^^^^^ - File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1095, in _validate_conn - conn.connect() - ~~~~~~~~~~~~^^ - File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 693, in connect - self.sock = sock = self._new_conn() - ~~~~~~~~~~~~~~^^ - File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 206, in _new_conn - raise NameResolutionError(self.host, self, e) from e -urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) - -The above exception was the direct cause of the following exception: - + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/rescue.py", line 48, in write_rescue_password + with open(PASSWORD_FILE, 'w') as f: + ~~~~^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__ + return self._mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call + raise effect +OSError +ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure_api_override +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure_api_override ... ok +ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_write_rescue_password +ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_write_rescue_password ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_fio +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_fio ... ok +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_with_token_invalid +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_with_token_invalid ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output_with_running_fw +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output_with_running_fw ... ok +ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_get_clean_steps +ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_get_clean_steps ... ok +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_clean_boot_records +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_clean_boot_records ... ok +ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_other_exception +ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_other_exception ... ok +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_no_i40e_driver +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_no_i40e_driver ... ok + WARNING [ironic_python_agent.efi_utils] Empty EFI partition detected. +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_md5 +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_md5 ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_smart_test +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_smart_test ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_manage_failure +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_manage_failure ... ok +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_agent_status +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_agent_status ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__get_device_conf_dict +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__get_device_conf_dict ... ok +ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_write_rescue_password_ioerror +ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_write_rescue_password_ioerror ... ok +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_empty_partition_by_uuid +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_empty_partition_by_uuid ... ok +ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_success +ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_success ... ok + ERROR [root] Failed to query firmware of device : Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_sha256 +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_sha256 ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__get_device_conf_dict_exception +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__get_device_conf_dict_exception ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_apply_net_firmware_update +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_apply_net_firmware_update ... ok +ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_invalid_command +ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_invalid_command ... ok +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_result +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_result ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images ... ok + ERROR [root] Extension do not found Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send - resp = conn.urlopen( - method=request.method, - ...<9 lines>... - chunked=chunked, - ) - File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 843, in urlopen - retries = retries.increment( - method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] - ) - File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment - raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) - -During handling of the above exception, another exception occurred: - + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 267, in execute_command + ext = self.get_extension(extension_part) + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 238, in get_extension + ext = self.ext_mgr[extension_name].obj + ~~~~~~~~~~~~^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/stevedore/extension.py", line 340, in __getitem__ + return self._extensions_by_name[name] + ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ +KeyError: 'do' + ERROR [ironic_python_agent.efi_utils] Could not configure UEFI boot on device /dev/fake: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version - response = self._request('GET', '/') - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 90, in _request - resp = self.session.request(method, - request_url, - ...<4 lines>... - timeout=CONF.http_request_timeout, - **kwargs) - File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request - resp = self.send(prep, **send_kwargs) - File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send - r = adapter.send(request, **kwargs) - File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send - raise ConnectionError(e, request=request) -requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) - WARNING [ironic_python_agent.agent] Ironic does not support automated TLS -ironic_python_agent.tests.unit.test_agent.TestBaseAgentVMediaToken.test_run_agent_token_vmedia -ironic_python_agent.tests.unit.test_agent.TestBaseAgentVMediaToken.test_run_agent_token_vmedia ... ok -ironic_python_agent.tests.unit.test_base.DontBlockExecuteTestCase.test_no_exception_raised_for_execute -ironic_python_agent.tests.unit.test_base.DontBlockExecuteTestCase.test_no_exception_raised_for_execute ... ok -ironic_python_agent.tests.unit.test_disk_utils.GetDeviceByteSizeTestCase.test_get_dev_byte_size -ironic_python_agent.tests.unit.test_disk_utils.GetDeviceByteSizeTestCase.test_get_dev_byte_size ... ok + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/efi_utils.py", line 131, in manage_uefi + utils.execute('mount', efi_partition, efi_partition_mount_point) + ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 3, in execute + File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__ + return self._mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call + raise effect +oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_sha512 +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_sha512 ... ok +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_in_cna_card +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_in_cna_card ... ok + ERROR [root] Duplicate componentFlavor MT_0000000540 +ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_unknown_extension +ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_unknown_extension ... ok +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data_no_data +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data_no_data ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images_duplicate_component_flavor_exception +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images_duplicate_component_flavor_exception ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2 +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2 ... ok +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_command_results +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_command_results ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_unknown_file +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_unknown_file ... ok +ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_get_hardware_info_success +ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_get_hardware_info_success ... ok + ERROR [ironic_python_agent.extensions.image] Installing GRUB2 boot loader to device /dev/fake failed with Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None. + WARNING [ironic_python_agent.extensions.image] Unable to umount vfat partitions. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None + WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/dev. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None + WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/proc. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None + WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/run. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None + WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/sys. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_validate_images_schema +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_validate_images_schema ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_command_fail +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_command_fail ... ok + ERROR [ironic_python_agent.extensions.poll] Node lookup data can only be set when the Ironic Python Agent is running in standalone mode. +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_unknown_file_md5 +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_unknown_file_md5 ... ok + ERROR [root] Failed to query tool configuration of device : Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None + ERROR [root] Invalid parameters for image {'url': 'http://10.10.10.10/firmware_images/fw2.bin', 'checksum': 'a94e683ea16d9ae44768f0a65942234c', 'checksumType': 'sha512', 'component': 'MT_0000000652', 'version': '24.34.1002'},please provide the following parameters url, checksum, checksumType, componentFlavor, version ERROR [ironic_python_agent.efi_utils] Could not configure UEFI boot on device /dev/fake: Unexpected error while running command. Command: None Exit code: - @@ -3371,8 +3053,38 @@ Exit code: - Stdout: 'no umount' Stderr: None +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_not_found +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_not_found ... ok +ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_set_node_info_not_standalone +ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_set_node_info_not_standalone ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool_exception +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool_exception ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_validate_images_schema_invalid_parameter +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_validate_images_schema_invalid_parameter ... ok ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure_after_failure ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure_after_failure ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_invalid_checksum +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_invalid_checksum ... ok +ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_set_node_info_success +ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_set_node_info_success ... ok +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_write_error +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_write_error ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw ... ok +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_root +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_root ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNics.test_nvidia_nics +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNics.test_nvidia_nics ... ok + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0003616809844970703 seconds. Error: Received status code 401 from http://example.org, expected 200. Response body: Unauthorized Response headers: + ERROR [root] Failed to query firmware of device : Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw_exception +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw_exception ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_fail +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_fail ... ok ERROR [ironic_python_agent.efi_utils] Could not configure UEFI boot on device /dev/fake: Unexpected error while running command. Command: None Exit code: - @@ -3402,788 +3114,541 @@ Exit code: - Stdout: 'boom' Stderr: None +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_prep +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_prep ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__message_format_partition_bios +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__message_format_partition_bios ... ok +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_v1_root +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_v1_root ... ok ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure_after_mount ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure_after_mount ... ok +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_set_config +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_set_config ... ok + WARNING [ironic_python_agent.extensions.standby] Unable to connect to http://example.org, retrying. Error: Error downloading image: Download of image fake_id failed: Received status code 500 from http://example.org, expected 200. Response body: Oops Response headers: + WARNING [ironic_python_agent.extensions.standby] Unable to connect to http://example.org, retrying. Error: Error downloading image: Download of image fake_id failed: Received status code 500 from http://example.org, expected 200. Response body: Oops Response headers: + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0007669925689697266 seconds. Error: Received status code 500 from http://example.org, expected 200. Response body: Oops Response headers: +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_wrong_dir_path +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_wrong_dir_path ... ok + ERROR [root] Failed to set configuration of device , ['SRIOV_EN=20']: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__message_format_partition_uefi +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__message_format_partition_uefi ... ok +ironic_python_agent.tests.unit.test_base.DontBlockExecuteTestCase.test_no_exception_raised_for_execute +ironic_python_agent.tests.unit.test_base.DontBlockExecuteTestCase.test_no_exception_raised_for_execute ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_set_config_exception +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_set_config_exception ... ok +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_error +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_error ... ok + ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boop' +Stderr: None + WARNING [ironic_python_agent.extensions.standby] Unable to connect to http://example.org, retrying. Error: + WARNING [ironic_python_agent.extensions.standby] Unable to connect to http://example.org, retrying. Error: Error downloading image: Download of image fake_id failed: Received status code 500 from http://example.org, expected 200. Response body: Response headers: +ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_add_partition +ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_add_partition ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config ... ok +ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit +ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__sync_clock +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__sync_clock ... ok +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_no_mlnx +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_no_mlnx ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries_success +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries_success ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_softraid_bios +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_softraid_bios ... ok +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_no_cna_card_detected +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_no_cna_card_detected ... ok + ERROR [root] Configuraiton ESWITCH_HAIRPIN_TOT_BUFFER_SIZE[8] for device is not supported with current fw ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_found_csv ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_found_csv ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_get_boot_records -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_get_boot_records ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_no_partition -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_no_partition ... ok ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_disconnected ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_disconnected ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_fw +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_fw ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_cache_and_write_image +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_cache_and_write_image ... ok +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support ... ok + ERROR [root] Configuraiton: UNSUPPORTED_PARAM is not supported by mstconfig, please update to the latest mstflint package. +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_mstflint_package +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_mstflint_package ... ok +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support_no_mlnx +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support_no_mlnx ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_cache_and_write_image_configdirve +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_cache_and_write_image_configdirve ... ok +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_get_boot_records +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_get_boot_records ... ok + WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/md/esp using the install command which does not place Secure Boot signed binaries. +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_with_collect_lldp_disabled +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_with_collect_lldp_disabled ... ok + WARNING [ironic_python_agent.extensions.image] Ignoring GRUB2 boot loader installation failure: Unexpected error while running command. +Command: grub2-install +Exit code: 1 +Stdout: '' +Stderr: 'grub2-install: error: this utility cannot be used for EFI platforms because it does not support UEFI Secure Boot.\n'. + WARNING [ironic_python_agent.extensions.image] Ignoring GRUB2 boot loader installation failure: Unexpected error while running command. +Command: grub2-install +Exit code: 1 +Stdout: '' +Stderr: 'grub2-install: error: this utility cannot be used for EFI platforms because it does not support UEFI Secure Boot.\n'. ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_is_always_busy ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_is_always_busy ... ok +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_generate_client_id +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_generate_client_id ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file ... ok +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test__wait_for_interface +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test__wait_for_interface ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_softraid_uefi_gpt +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_softraid_uefi_gpt ... ok +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_no_partition +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_no_partition ... ok ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_is_busy_once ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_is_busy_once ... ok -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_capture_region -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_capture_region ... ok -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_get_inspector -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_get_inspector ... ok -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_file_like -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_file_like ... ok - ERROR [ironic_python_agent.format_inspector] Format inspector failed, aborting: fail -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_file_like_eats_error -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_file_like_eats_error ... ok -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_iter_like -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_iter_like ... ok - ERROR [ironic_python_agent.utils] collector failed: boom - ERROR [ironic_python_agent.format_inspector] Format inspector failed, aborting: fail -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collector_failed -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collector_failed ... ok -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_iter_like_eats_error -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_iter_like_eats_error ... ok -ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_enabled_no_results -ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_enabled_no_results ... ok -ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_node_indicates_skip -ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_node_indicates_skip ... ok -ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_not_enabled -ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_not_enabled ... ok -ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_raises -ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_raises ... ok -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collectors_option -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collectors_option ... ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete ... ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete_not_exists -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete_not_exists ... ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content ... ok -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_disabled -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_disabled ... ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_modes -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_modes ... ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_modes_exists -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_modes_exists ... ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_on -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_on ... ok - ERROR [ironic_python_agent.utils] boom -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_extensions_failed -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_extensions_failed ... ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_owner -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_owner ... ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_owner_and_group -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_owner_and_group ... ok -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_with_args -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_with_args ... ok -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_get_service_steps -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_get_service_steps ... ok -ironic_python_agent.tests.unit.test_base.BlockExecuteTestCase.test_can_mock_execute -ironic_python_agent.tests.unit.test_base.BlockExecuteTestCase.test_can_mock_execute ... ok -ironic_python_agent.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute -ironic_python_agent.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute ... ok + ERROR [root] Failed to move file: /firmware_images/fw1.bin, + ERROR [ironic_python_agent.disk_utils] Security: Unable to safety check image +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_clean_steps +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_clean_steps ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file_not_found +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file_not_found ... ok +ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_fail_format_error +ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_fail_format_error ... ok + ERROR [ironic_python_agent.disk_utils] Security: Image failed safety check +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image ... ok +ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_fail_safety_check +ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_fail_safety_check ... ok +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test__wait_for_interface_expired +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test__wait_for_interface_expired ... ok +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_with_collect_lldp_enabled +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_with_collect_lldp_enabled ... ok +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info ... ok + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0001239776611328125 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 0 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0001239776611328125 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00037980079650878906 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 1 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.00037980079650878906 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0005793571472167969 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 2 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0005793571472167969 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0007350444793701172 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 3 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0007350444793701172 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0008924007415771484 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 4 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0008924007415771484 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0010535717010498047 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 5 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0010535717010498047 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0011832714080810547 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 6 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0011832714080810547 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0013277530670166016 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 7 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0013277530670166016 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.001477956771850586 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 8 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.001477956771850586 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0015935897827148438 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_pass +ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_pass ... ok +ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata +ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http ... ok +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_ib_interface +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_ib_interface ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_conf_credential +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_conf_credential ... ok +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_nvme_device +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_nvme_device ... ok + ERROR [root] Command failed: foo_command, error: command execution failed +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_agent.py", line 44, in foo_execute + raise EXPECTED_ERROR +RuntimeError: command execution failed ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_correct ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_correct ... ok +ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_4096 +ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_4096 ... ok + ERROR [root] Failed to open URL data: HTTP Error 500: Internal Error +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_advertise_address_provided +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_advertise_address_provided ... ok + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 9.560585021972656e-05 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 0 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 9.560585021972656e-05 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00039386749267578125 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 1 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.00039386749267578125 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0007026195526123047 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_correct_gpt_nvme -ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_correct_gpt_nvme ... ok +ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_correct_gpt_nvme WARNING [ironic_python_agent.extensions.standby] Image download failed, 2 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0007026195526123047 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + ... WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0009188652038574219 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +ok + WARNING [ironic_python_agent.extensions.standby] Image download failed, 3 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0009188652038574219 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http_err +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http_err ... WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00151824951171875 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 4 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.00151824951171875 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +ok +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_async_command_failure +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_async_command_failure ... ok +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mac_address +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mac_address ... WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.001980304718017578 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 5 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.001980304718017578 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +ok +ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_ebr +ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_ebr WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.002162456512451172 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 6 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.002162456512451172 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + ... ok + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.002292633056640625 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 7 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.002292633056640625 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0024552345275878906 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 8 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0024552345275878906 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.002650022506713867 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi ... ok ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_incorrect ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_incorrect ... ok + ERROR [root] Failed to open URL data: +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_image_info_credential +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_image_info_credential ... ok +ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_sgdisk_fail +ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_sgdisk_fail ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http_url_err +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http_url_err ... ok ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_incorrect_gpt ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_incorrect_gpt ... ok - WARNING [root] No hardware manager was able to handle interface foobar -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces ... ok -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_wrong_block_type -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_wrong_block_type ... ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_empty -ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_empty ... ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_invalid_type_in_param -ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_invalid_type_in_param ... ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_invalid_type_on_node -ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_invalid_type_on_node ... ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_ok ... ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_verify_false -ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_verify_false ... ok -ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_benchmarks -ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_benchmarks ... ok - ERROR [ironic_python_agent.utils] failed to run hardware-detect utility: Unexpected error while running command. + WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. Command: None Exit code: - -Stdout: None +Stdout: 'boom' Stderr: None -ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_execute_failed -ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_execute_failed ... ok -ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_no_benchmarks -ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_no_benchmarks ... ok - ERROR [ironic_python_agent.utils] JSON returned from hardware-detect cannot be decoded: Expecting value: line 1 column 1 (char 0) -ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_parsing_failed -ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_parsing_failed ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_enabled_unlock_exception -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_enabled_unlock_exception ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_erase_exec_exception -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_erase_exec_exception ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__find_pstore_mount_point -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__find_pstore_mount_point ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__find_pstore_mount_point_no_pstore -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__find_pstore_mount_point_no_pstore ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__get_device_info -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__get_device_info ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__get_md_uuid -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__get_md_uuid ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_linux_raid_member -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_linux_raid_member ... ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url ... ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url_formatting -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url_formatting ... ok -ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_correct_mac -ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_correct_mac ... ok -ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_pxelinux_mac -ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_pxelinux_mac ... ok - WARNING [root] Cannot find detailed information about interface eth0 - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00024199485778808594 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 0 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.00024199485778808594 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0007042884826660156 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 1 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0007042884826660156 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0009505748748779297 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 2 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0009505748748779297 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0011768341064453125 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 3 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0011768341064453125 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0013904571533203125 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 4 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0013904571533203125 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0015869140625 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 5 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0015869140625 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0017840862274169922 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 6 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0017840862274169922 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0019750595092773438 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 7 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0019750595092773438 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.002240419387817383 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 8 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.002240419387817383 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.002441883087158203 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_no_carrier -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_no_carrier ... ok -ironic-python-agent: line 1. -ironic-python-agent: line 2 message -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_image_info_credential -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_image_info_credential ... ok - WARNING [root] Cannot find detailed information about interface eth0 -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_nvme_device -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_nvme_device ... ok -ironic_python_agent.tests.unit.test_utils.TestCheckEarlyLogging.test_early_logging_goes_to_logger -ironic_python_agent.tests.unit.test_utils.TestCheckEarlyLogging.test_early_logging_goes_to_logger ... ok -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info ... ok - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00014591217041015625 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_linux_raid_member_false -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_linux_raid_member_false ... ok - WARNING [ironic_python_agent.extensions.standby] Image download failed, 0 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.00014591217041015625 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_biosdevname -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_biosdevname ... ok - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.001069784164428711 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 1 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.001069784164428711 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0013108253479003906 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 2 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0013108253479003906 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0021593570709228516 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 3 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0021593570709228516 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0023686885833740234 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 4 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0023686885833740234 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0025577545166015625 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 5 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0025577545166015625 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0027320384979248047 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 6 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0027320384979248047 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0029027462005615234 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 7 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0029027462005615234 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0030786991119384766 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 8 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0030786991119384766 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.003246784210205078 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00011968612670898438 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 0 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.00011968612670898438 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0003554821014404297 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 1 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0003554821014404297 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0005385875701904297 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 2 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0005385875701904297 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0007135868072509766 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 3 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0007135868072509766 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -/bin/sh: 1: mkisofs: not found - WARNING [root] Could not determine if /dev/sdfake is aread-only device. Error: - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 3.514047622680664 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 4 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 3.514047622680664 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 3.514432191848755 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 5 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 3.514432191848755 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 3.514636993408203 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 6 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 3.514636993408203 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 3.5149080753326416 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 7 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 3.5149080753326416 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 3.51509165763855 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 8 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 3.51509165763855 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 3.515265941619873 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0008840560913085938 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - WARNING [ironic_python_agent.extensions.standby] Image download failed, 0 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0008840560913085938 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.001279592514038086 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - WARNING [ironic_python_agent.extensions.standby] Image download failed, 1 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.001279592514038086 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0015778541564941406 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - WARNING [ironic_python_agent.extensions.standby] Image download failed, 2 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0015778541564941406 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0018510818481445312 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - WARNING [ironic_python_agent.extensions.standby] Image download failed, 3 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0018510818481445312 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0021255016326904297 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - WARNING [ironic_python_agent.extensions.standby] Image download failed, 4 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0021255016326904297 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00240325927734375 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - WARNING [ironic_python_agent.extensions.standby] Image download failed, 5 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.00240325927734375 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.002694845199584961 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - WARNING [ironic_python_agent.extensions.standby] Image download failed, 6 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.002694845199584961 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0029573440551757812 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - WARNING [ironic_python_agent.extensions.standby] Image download failed, 7 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0029573440551757812 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0032291412353515625 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - WARNING [ironic_python_agent.extensions.standby] Image download failed, 8 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0032291412353515625 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.003545999526977539 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - WARNING [root] Could not determine if /dev/sdfake1 is aread-only device. Error: - WARNING [root] Cannot find detailed information about interface bond0 - WARNING [root] Cannot find detailed information about interface eth0 - WARNING [root] Cannot find detailed information about interface eth0 - WARNING [root] Cannot find detailed information about interface eth0 - WARNING [root] Cannot find detailed information about interface eth0 - WARNING [root] Cannot find detailed information about interface eth0.100 - WARNING [root] Cannot find detailed information about interface eth0 - WARNING [root] Cannot find detailed information about interface eth0.100 - WARNING [root] Cannot find detailed information about interface eth0.101 - WARNING [ironic_python_agent.netutils] LLDP timed out, remaining interfaces: [('eth0', ), ('eth1', )] - WARNING [root] Cannot find detailed information about interface eth0 - WARNING [root] Cannot find detailed information about interface eth1 - WARNING [root] Cannot find detailed information about interface eth0.100 - WARNING [root] Cannot find detailed information about interface eth0.101 - WARNING [root] Cannot find detailed information about interface eth1.102 - WARNING [root] Cannot find detailed information about interface eth1.103 - WARNING [ironic_python_agent.netutils] Trailing byte received in an LLDP package: b'5' - WARNING [ironic_python_agent.netutils] LLDP timed out, remaining interfaces: [('eth1', )] - WARNING [root] Cannot find detailed information about interface eth0 - WARNING [ironic_python_agent.inspector] no suitable root device detected - ERROR [ironic_python_agent.netutils] Socket for network interface eth0 said that it was ready to read we were unable to read from the socket while trying to get LLDP packet. Skipping this network interface. -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/netutils.py", line 197, in _get_lldp_info - lldp_info[interface[0]] = _receive_lldp_packets(s) - ~~~~~~~~~~~~~~~~~~~~~^^^ - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/netutils.py", line 160, in _receive_lldp_packets - pkt = sock.recv(1600) - File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__ - return self._mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call - raise effect -OSError: BOOM - ERROR [ironic_python_agent.netutils] Failed to open all RawPromiscuousSockets, attempting to close any opened sockets. -ironic-python-agent: Excluding device sda1 from virtual mediaconsideration as it is a partition. -ironic-python-agent: Found possible vmedia candidate /dev/sda2, however the device failed vmedia validity checking. -ironic-python-agent: Was unable to execute the lsblk command. Unexpected error while running command. + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 6.031990051269531e-05 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_tiny_partition +ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_tiny_partition WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. Command: None Exit code: - -Stdout: None +Stdout: 'boom' Stderr: None -ironic-python-agent: Did not identify any virtual media candidates devices. -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_inspector_error -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_inspector_error ... ok - WARNING [root] The root device was not detected in 27 seconds - WARNING [root] The root device was not detected in 45 seconds - WARNING [root] The root device was not detected in 27 seconds -ironic-python-agent: Device sdh was disqualified as virtual media. Type: other, Transport: usb -ironic-python-agent: Excluding device sdh1 from virtual mediaconsideration as it is a partition. -ironic-python-agent: Device sdh was disqualified as virtual media. Type: disk, Transport: sata -ironic-python-agent: Device sdh was disqualified as virtual media. Type: other, Transport: scsi -ironic-python-agent: Device sdh appears to not qualify as virtual due to the device size. Size: 1610612736000 -ironic-python-agent: Device sdh was disqualified as virtual media. Type: disk, Transport: usb - WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' - WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' - WARNING [root] Device /dev/sdb is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdb' - WARNING [root] Device /dev/md0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/md0' - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping - WARNING [root] Can't find field vendor for device md0 in device class block - WARNING [root] Failed to remove partitions on /dev/sda: Unexpected error while running command. + ... WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. Command: None Exit code: - -Stdout: 'No md superblock detected' +Stdout: 'boom' Stderr: None - WARNING [root] Failed to remove partitions on /dev/sdb: Unexpected error while running command. +ok + WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. Command: None Exit code: - -Stdout: 'No md superblock detected' +Stdout: 'boom' Stderr: None - ERROR [root] Unable to clean all softraid correctly. Remaining ['/dev/md0'] - WARNING [root] RAID device /dev/md1 will not be deleted - WARNING [root] Software RAID device /dev/md1 is not going to be deleted as its volume name - small - is on the skip list - WARNING [root] Software RAID device /dev/md1 was not deleted - WARNING [root] Holder disk /dev/sda contains logical disk on the skip list. Deleting just partitions: ['1'] - WARNING [root] Holder disk /dev/sdb contains logical disk on the skip list. Deleting just partitions: ['1'] - ERROR [root] Failed to invoke secure erase, fallback to shred is not enabled: Error erasing block device: An unknown error occurred erasing block device /dev/sda - WARNING [root] Failed to invoke secure erase, falling back to shred: Error erasing block device: An unknown error occurred erasing block device /dev/sda - ERROR [root] Failed to invoke secure erase, fallback to shred is not enabled: Error erasing block device: Block device /dev/sda is frozen and cannot be erased - ERROR [root] Failed to invoke secure erase, fallback to shred is not enabled: Error erasing block device: Block device /dev/sda already has a security password set - WARNING [root] Unable to execute `smartctl` utility: boom - ERROR [root] nvme-cli did not return any supported format modes for device: /dev/nvme0n1 - ERROR [root] Erasing block device /dev/sda failed with error - ERROR [root] Erasing block device /dev/sda failed with error Unexpected error while running command. + WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. Command: None Exit code: - -Stdout: None +Stdout: 'boom' Stderr: None - WARNING [root] Refusing to permit ATA Secure Erase as direct ATA commands via the `smartctl` utility with device /dev/sda do not succeed. - ERROR [root] Failed to erase the metadata on device "/dev/sdb". Error: Unexpected error while running command. + WARNING [ironic_python_agent.extensions.standby] Image download failed, 0 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 6.031990051269531e-05 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00046753883361816406 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mlnx_interface +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mlnx_interface ... ok + WARNING [ironic_python_agent.extensions.standby] Image download failed, 1 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.00046753883361816406 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0007781982421875 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 2 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0007781982421875 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.001039743423461914 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 3 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.001039743423461914 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_async_command_success +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_async_command_success ... ok + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0012788772583007812 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 4 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0012788772583007812 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.001409769058227539 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 5 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.001409769058227539 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0015666484832763672 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 6 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0015666484832763672 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0017147064208984375 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 7 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0017147064208984375 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_custom_attempts +ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_custom_attempts WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0019092559814453125 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + ... WARNING [ironic_python_agent.extensions.standby] Image download failed, 8 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0019092559814453125 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +ok + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.002173900604248047 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_wipefs_fail +ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_wipefs_fail ... WARNING [ironic_python_agent.disk_utils] Failed to verify partition tables on device /dev/fake: Unexpected error while running command. Command: None Exit code: - -Stdout: 'Booo00000ooommmmm' +Stdout: None Stderr: None - WARNING [root] Executable 'biosdevname' not found - WARNING [root] Invalid IP address meow: 'meow' does not appear to be an IPv4 or IPv6 address - WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address - WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address - WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address - WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address - WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address - WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address - WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address - WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address - WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address - WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address - WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_error -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_error ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_false -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_false ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_partition_error -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_partition_error ... ok +ok +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_failed +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_failed ... ok ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_ok ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_ok ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_software_raid -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_software_raid ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_wholedisk -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_wholedisk ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential ... ok +ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_fails +ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_fails ... ok +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_infiniband_address_to_mac +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_infiniband_address_to_mac ... ok +ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_wipefs_not_support_force +ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_wipefs_not_support_force ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_https +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_https ... ok +ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_trigger +ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_trigger ... ok +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid ... ok + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 8.225440979003906e-05 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 0 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 8.225440979003906e-05 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0003478527069091797 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 1 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0003478527069091797 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0005178451538085938 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 2 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0005178451538085938 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0006747245788574219 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 3 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0006747245788574219 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0008263587951660156 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 4 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0008263587951660156 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0009832382202148438 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 5 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0009832382202148438 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +ironic_python_agent.tests.unit.test_disk_utils.GetDeviceByteSizeTestCase.test_get_dev_byte_size +ironic_python_agent.tests.unit.test_disk_utils.GetDeviceByteSizeTestCase.test_get_dev_byte_size ... ok + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0012247562408447266 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 6 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0012247562408447266 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_encoder +ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_encoder WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0016105175018310547 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 7 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0016105175018310547 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + ... ok + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0017681121826171875 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 8 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0017681121826171875 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.002003908157348633 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_invalid_url_scheme +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_invalid_url_scheme ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential_second ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential_second ... ok +ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_ironic_lib +ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_ironic_lib ... ok +ironic_python_agent.tests.unit.test_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr +ironic_python_agent.tests.unit.test_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr ... ok + WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_software_raid +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_software_raid ... ok + WARNING [ironic_python_agent.agent] No route to host 1.2.1.2, route record: Error: some error text +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid_invalid_node +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid_invalid_node ... ok +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete ... ok +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_retry +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_retry ... ok + ERROR [root] Mismatch provided checksum a94e683ea16d9ae44768f0a65942234d for image http://10.10.10.10/firmware_images/fw1.bin + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0008318424224853516 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: + WARNING [ironic_python_agent.extensions.standby] Image download failed, 0 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0008318424224853516 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0011756420135498047 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: + WARNING [ironic_python_agent.extensions.standby] Image download failed, 1 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0011756420135498047 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0014188289642333984 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: + WARNING [ironic_python_agent.extensions.standby] Image download failed, 2 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0014188289642333984 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0016906261444091797 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: + WARNING [ironic_python_agent.extensions.standby] Image download failed, 3 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0016906261444091797 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.001958131790161133 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: + WARNING [ironic_python_agent.extensions.standby] Image download failed, 4 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.001958131790161133 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0021970272064208984 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: + WARNING [ironic_python_agent.extensions.standby] Image download failed, 5 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0021970272064208984 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_checksum +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_checksum ... ok + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.002465963363647461 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: + WARNING [ironic_python_agent.extensions.standby] Image download failed, 6 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.002465963363647461 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: + WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.002645254135131836 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: + WARNING [ironic_python_agent.extensions.standby] Image download failed, 7 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.002645254135131836 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: + WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0028204917907714844 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: + WARNING [ironic_python_agent.extensions.standby] Image download failed, 8 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0028204917907714844 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.003011941909790039 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: +ironic_python_agent.tests.unit.test_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr_no_bootloaders +ironic_python_agent.tests.unit.test_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr_no_bootloaders ... ok + WARNING [root] Device /dev/sda1 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda1' +ironic_python_agent.tests.unit.test_hardware.TestHardwareManagerLoading.test_get_managers +ironic_python_agent.tests.unit.test_hardware.TestHardwareManagerLoading.test_get_managers ... ok + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda1. Skipping + WARNING [ironic_python_agent.extensions.image] Falling back to fstab entry addition label of UUID. We could not identify which UUID or PARTUUID identifier label should be used, thus UUID will be used. ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_status ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_status ... ok -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout ... ok +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete_not_exists +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete_not_exists ... ok +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid_unassociated +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid_unassociated ... ok +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_wholedisk +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_wholedisk ... ok +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_capture_region +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_capture_region ... ok +ironic_python_agent.tests.unit.test_hardware.TestHardwareManagerLoading.test_get_managers_detail +ironic_python_agent.tests.unit.test_hardware.TestHardwareManagerLoading.test_get_managers_detail ... ok + ERROR [root] The provided psid MT_0000000227 does not match the image psid MT_0000000228 +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_fstab +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_fstab ... ok +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content ... ok +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_get_inspector +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_get_inspector ... WARNING [ironic_python_agent.agent] Cannot get route to host fc00:1111::1: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None +ok + WARNING [ironic_python_agent.agent] No route to host 1.2.1.2, route record: Error: some error text + WARNING [ironic_python_agent.agent] Cannot get route to host fc00:1111::1: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_component_flavor +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_component_flavor ... ok +ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_already_running +ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_already_running ... ok +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_several_urls_and_retries +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_several_urls_and_retries ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_basic_auth_conf_success ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_basic_auth_conf_success ... ok -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_empty -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_empty ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_partition_ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_partition_ok ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_exists -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_exists ... ok -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_malformed -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_malformed ... ok -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_multiple -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_multiple ... ok -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_one_empty_interface -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_one_empty_interface ... ok -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_configured -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_configured ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_exists_no_match -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_exists_no_match ... ok -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_unconfigured -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_unconfigured ... ok -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_socket_recv_error -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_socket_recv_error ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_path_doesnt_exist -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_path_doesnt_exist ... ok -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets ... ok -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets_bind_fail -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets_bind_fail ... ok -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_no_wait_for_disks -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_no_wait_for_disks ... ok -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks ... ok -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_configured -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_configured ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration_no_delete -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration_no_delete ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_steps_exist -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_steps_exist ... ok -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets_exception -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets_exception ... ok -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_wrap_ipv6 -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_wrap_ipv6 ... ok -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_bond -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_bond ... ok -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp ... ok -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp_error -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp_error ... ok -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_wrap_ipv6_with_ipv4 -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_wrap_ipv6_with_ipv4 ... ok -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_vendor_info -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_vendor_info ... ok -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_invalid -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_invalid ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_nvram -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_nvram ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_nvram_defaults -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_nvram_defaults ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data ... ok -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_nonconfigured -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_nonconfigured ... ok -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device ... ok -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_other -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_other ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data_decode_exception -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data_decode_exception ... ok -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces_using_lldp -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces_using_lldp ... ok -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels ... ok -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces_using_lldp_all -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces_using_lldp_all ... ok -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_invalid_int -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_invalid_int ... ok -ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_cache_hardware_info -ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_cache_hardware_info ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data_netutils_exception -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data_netutils_exception ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration ... ok -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels_handles_exec_error -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels_handles_exec_error ... ok -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels_not_found -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels_not_found ... ok -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_part -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_part ... ok -ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_no_root_disk -ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_no_root_disk ... ok -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_rom -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_rom ... ok -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_sata -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_sata ... ok -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_device -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_device ... ok -ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_ok -ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_ok ... ok -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params ... ok -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_by_device -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_by_device ... ok -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_by_device_device_invalid -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_by_device_device_invalid ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures_raid5 -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures_raid5 ... ok -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_scsi -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_scsi ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures_raid6 -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures_raid6 ... ok -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_too_large -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_too_large ... ok -ironic_python_agent.tests.unit.test_utils.TestRemoveKeys.test_remove_keys -ironic_python_agent.tests.unit.test_utils.TestRemoveKeys.test_remove_keys ... ok -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_cannot_find_dev -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_cannot_find_dev ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_efi -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_efi ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_empty_target_raid_config -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_empty_target_raid_config ... ok -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_failure_with_nvme -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_failure_with_nvme ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_force_gpt_with_disk_label -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_force_gpt_with_disk_label ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_invalid_hints -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_invalid_hints ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_invalid_raid_config -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_invalid_raid_config ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_max_is_first_logical -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_max_is_first_logical ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_mismatching_hints -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_mismatching_hints ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_no_max -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_no_max ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_partitions_detected -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_partitions_detected ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_raid_5 -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_raid_5 ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_raid_6 -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_raid_6 ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_skip_list_existing_device_does_not_match -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_skip_list_existing_device_does_not_match ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_complete_skip_list -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_complete_skip_list ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_hints -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_hints ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_nvme -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_nvme ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_failure_blocks_remaining -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_failure_blocks_remaining ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_partition -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_partition ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_skip_list -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_skip_list ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_deploy_steps_exist -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_deploy_steps_exist ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_erase_disabled -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_erase_disabled ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_failed -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_failed ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_failed_continued -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_failed_continued ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_frozen -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_frozen ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_enabled -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_enabled ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_enabled_unlock_attempt -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_enabled_unlock_attempt ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_unlock_fallback_pass -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_unlock_fallback_pass ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_success -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_success ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_success_no_smartctl -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_success_no_smartctl ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nosecurity_shred -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nosecurity_shred ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_notsupported_shred -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_notsupported_shred ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_crypto_success -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_crypto_success ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_failed -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_failed ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_format_unsupported -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_format_unsupported ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_userdata_success -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_userdata_success ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_0_pass_no_zeroize -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_0_pass_no_zeroize ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_fail_oserror -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_fail_oserror ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_fail_processerror -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_fail_processerror ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_uses_internal_info -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_uses_internal_info ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_smartctl_fails_security_fallback_to_shred -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_smartctl_fails_security_fallback_to_shred ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_smartctl_unsupported_shred -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_smartctl_unsupported_shred ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_virtual_media -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_virtual_media ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_concurrency -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_concurrency ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_concurrency_pool_size -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_concurrency_pool_size ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_express -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_express ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_express_stops_on_safety_failure -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_express_stops_on_safety_failure ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata_error -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata_error ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata_safety_check -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata_safety_check ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default_protected_device -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default_protected_device ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_without_disk -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_without_disk ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_pstore -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_pstore ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_ok ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_oserror -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_oserror ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err3 -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err3 ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err4 -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err4 ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_invalid -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_invalid ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_iterate_channels -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_iterate_channels ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_no_ipmi_device -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_no_ipmi_device ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_not_available -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_not_available ... ok -POST: /v1/commands {'name': 'do_things', 'params': []} -GOT: -POST: /v1/commands {'name': 'do_things', 'params': {'key': 'value'}} -GOT: -POST: /v1/commands?wait=false {'name': 'do_things', 'params': {'key': 'value'}} -GOT: -POST: /v1/commands?wait=true {'name': 'do_things', 'params': {'key': 'value'}} -GOT: -POST: /v1/commands {} -GOT: -POST: /v1/commands?wait=false?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 {'name': 'do_things', 'params': {'key': 'value', 'wait': False, 'agent_token': '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789'}} -GOT: -POST: /v1/commands?wait=false?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 {'name': 'do_things', 'params': {'key': 'value', 'wait': False, 'agent_token': '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789'}} -GOT: -GET: /v1/status None -GOT: -GET: /v1/commands/abc123 None -GOT: -GET: /v1/commands None -GOT: -GET: /v1/foo None -GOT: -GET: / None -GOT: -GET: /v1 None -GOT: -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_basic_auth_image_info_success -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_basic_auth_image_info_success ... ok -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_mdns -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_mdns ... ok -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file_fail -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file_fail ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_random_error -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_random_error ... ok -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_from_cache -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_from_cache ... ok -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_ok -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_ok ... ok - WARNING [root] Cannot get BMC address: Unexpected error while running command. +ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_exc +ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_exc ... ok + WARNING [root] Attempted to invoke multipath utilities, but we encountered an error: Unexpected error while running command. Command: None Exit code: - -Stdout: None +Stdout: 'lacking kernel support' Stderr: None - ERROR [ironic_python_agent.extensions.standby] Image failed to verify against checksum. location: /tmp/tmpvl_jxodf/fake_id; image ID: fake_id; image checksum: fake-checksum; verification checksum: invalid-checksum - ERROR [ironic_python_agent.utils] foo - ERROR [ironic_python_agent.utils] bar - ERROR [ironic_python_agent.utils] baz - ERROR [ironic_python_agent.utils] foo - WARNING [root] Invalid ipmitool output meow - WARNING [root] Invalid ipmitool output - WARNING [root] Invalid ipmitool output - WARNING [root] Invalid ipmitool output - WARNING [root] Invalid ipmitool output - WARNING [root] Invalid ipmitool output - WARNING [root] Invalid ipmitool output - WARNING [root] Invalid ipmitool output - WARNING [root] Invalid ipmitool output - WARNING [root] Invalid ipmitool output - WARNING [root] Invalid ipmitool output - WARNING [root] Invalid ipmitool output - WARNING [root] Cannot get BMC MAC address: Unexpected error while running command. +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_modes +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_modes ... ok + ERROR [root] The provided firmware version 20.34.1012 does not match image firmware version 20.35.1012 +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_fw_version +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_fw_version ... ok +ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_lacking_support +ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_lacking_support ... ok +ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_false +ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_false ... ok + ERROR [ironic_python_agent.extensions.image] Installing GRUB2 boot loader to device /dev/fake failed with Unexpected error while running command. Command: None Exit code: - -Stdout: None -Stderr: None +Stdout: 'error' +Stderr: None. +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_indexerror +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_indexerror ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_mount_fails +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_mount_fails ... ok + WARNING [root] Attempted to invoke multipath utilities, but we encountered an error: +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_basic_auth_image_info_success +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_basic_auth_image_info_success ... ok +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_file_like +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_file_like ... ok +ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_ll_fails +ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_ll_fails ... ok +ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_true +ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_true ... ok +ironic_python_agent.tests.unit.test_utils.TestRemoveKeys.test_remove_keys +ironic_python_agent.tests.unit.test_utils.TestRemoveKeys.test_remove_keys ... ok +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_host +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_host ... ok +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv4 +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv4 ... ok +ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_mpathconf +ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_mpathconf ... ok +ironic_python_agent.tests.unit.test_agent.TestFromConfig.test_override_urls +ironic_python_agent.tests.unit.test_agent.TestFromConfig.test_override_urls ... ok + ERROR [ironic_python_agent.disk_utils] Security: Detected image format was qcow3, but only raw, qcow2 are allowed ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_proxy ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_proxy ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_virt -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_virt ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_zeroed -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_zeroed ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac ... ok -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_kernel_cmdline -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_kernel_cmdline ... ok -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_vmedia -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_vmedia ... ok -ironic_python_agent.tests.unit.test_utils.TestFailures.test_get_error -ironic_python_agent.tests.unit.test_utils.TestFailures.test_get_error ... ok + ERROR [ironic_python_agent.format_inspector] Format inspector failed, aborting: fail +ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_mismatch +ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_mismatch ... ok +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_file_like_eats_error +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_file_like_eats_error ... ok + WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. +ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_no_multipath +ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_no_multipath ... ok +ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_mismatch_but_disabled +ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_mismatch_but_disabled ... ok + WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' + ERROR [ironic_python_agent.disk_utils] Security: Detected image format was qcow3, but only raw, qcow2 are allowed +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv6 +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv6 WARNING [root] Device /dev/sda1 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda1' + ... ok + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda1. Skipping +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_ip +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_ip ... ok + WARNING [ironic_python_agent.extensions.image] Falling back to fstab entry addition label of UUID. We could not identify which UUID or PARTUUID identifier label should be used, thus UUID will be used. +ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_type_disallowed +ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_type_disallowed ... ok +ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_happy_qcow2 +ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_happy_qcow2 ... ok + ERROR [ironic_python_agent.extensions.standby] Image failed to verify against checksum. location: /tmp/tmp34rdwbff/fake_id; image ID: fake_id; image checksum: fake-checksum; verification checksum: invalid-checksum + WARNING [root] Attempted to determine if multipath tools were present. Not detected. Error recorded: +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_no_fstab +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_no_fstab ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_verify_fails ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_verify_fails ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_invalid -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_invalid ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_iterate_channels -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_iterate_channels ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_no_ipmi_device -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_no_ipmi_device ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_not_available -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_not_available ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_random_error -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_random_error ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_virt -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_virt ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_zeroed -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_zeroed ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_channel_7 -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_channel_7 ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_dynamic_address -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_dynamic_address ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_enables -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_enables ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_get_address -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_get_address ... ok -ironic_python_agent.tests.unit.test_utils.TestFailures.test_raise -ironic_python_agent.tests.unit.test_utils.TestFailures.test_raise ... ok +ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_happy_raw +ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_happy_raw ... ok +ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_not_found_mpath_config +ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_not_found_mpath_config ... ok +ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_safety_check_fail_but_disabled +ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_safety_check_fail_but_disabled ... ok +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv6_linklocal +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv6_linklocal ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_image_info_user_pass_none ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_image_info_user_pass_none ... ok -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_bad_iso_qcow2 -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_bad_iso_qcow2 ... skipped 'mkisofs not installed' -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_ok_with_ironic_url -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_ok_with_ironic_url ... ok +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_iter_like +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_iter_like ... ok +ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_with_config +ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_with_config ... ok +ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_equal +ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_equal ... ok +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_ipv6 +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_ipv6 ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_image_info_user_pass_success ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_image_info_user_pass_success ... ok +ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_hash +ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_hash ... ok +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_status +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_status ... ok +ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_number +ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_number ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_oslo_conf_user_pass_none ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_oslo_conf_user_pass_none ... ok +ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_notequal +ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_notequal ... ok +ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_number_nvme +ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_number_nvme ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_oslo_conf_user_pass_success ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_oslo_conf_user_pass_success ... ok + ERROR [ironic_python_agent.format_inspector] Format inspector failed, aborting: fail + WARNING [root] Device /dev/fake1 is inaccessible, skipping... Error: nope +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_iter_like_eats_error +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_iter_like_eats_error ... ok +ironic_python_agent.tests.unit.test_hardware.TestCollectSystemLogs.test__collect_udev +ironic_python_agent.tests.unit.test_hardware.TestCollectSystemLogs.test__collect_udev ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader ... ok +ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_path +ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_path ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_get_partition_uuids ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_get_partition_uuids ... ok +ironic_python_agent.tests.unit.test_hardware.TestListHardwareInfo.test_caching +ironic_python_agent.tests.unit.test_hardware.TestListHardwareInfo.test_caching ... ok +ironic_python_agent.tests.unit.test_hardware.TestCollectSystemLogs.test_collect_system_logs +ironic_python_agent.tests.unit.test_hardware.TestCollectSystemLogs.test_collect_system_logs ... ok +ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on +ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_image_location ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_image_location ... ok -ironic_python_agent.tests.unit.test_partition_utils.RealFilePartitioningTestCase.test_different_sizes -ironic_python_agent.tests.unit.test_partition_utils.RealFilePartitioningTestCase.test_different_sizes ... skipped "parted utility was not found: [Errno 2] No such file or directory: 'parted'" -ironic_python_agent.tests.unit.test_partition_utils.RealFilePartitioningTestCase.test_whole_disk -ironic_python_agent.tests.unit.test_partition_utils.RealFilePartitioningTestCase.test_whole_disk ... skipped "parted utility was not found: [Errno 2] No such file or directory: 'parted'" -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test__get_actual_component_devices -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test__get_actual_component_devices ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test__get_actual_component_devices_broken_raid0 -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test__get_actual_component_devices_broken_raid0 ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_create_device -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_create_device ... ok - WARNING [ironic_python_agent.raid_utils] Found /dev/sdb1 to be missing from /dev/md0 ... re-adding! -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_read_device -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_read_device ... ok - WARNING [ironic_python_agent.raid_utils] Found /dev/sdb1 to be missing from /dev/md0 ... re-adding! -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_missing_device -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_missing_device ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_with_volume_name -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_with_volume_name ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_get_volume_name_of_raid_device -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_get_volume_name_of_raid_device ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_get_volume_name_of_raid_device_invalid -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_get_volume_name_of_raid_device_invalid ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_bios_gpt -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_bios_gpt ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_bios_msdos -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_bios_msdos ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt_efi_provided -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt_efi_provided ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt_esp_not_found -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt_esp_not_found ... ok -ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute -ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute ... ok - ERROR [root] Command failed: sleep, error: An error occurred: An unexpected error occurred. Please try back later. -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/extensions/test_flow.py", line 41, in sleep - time.sleep(sleep_info['time']) - ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__ - return self._mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call - raise effect -ironic_python_agent.errors.RESTError: An error occurred: An unexpected error occurred. Please try back later. -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_ipmitool_invalid_stdout_format -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_ipmitool_invalid_stdout_format ... ok + WARNING [root] Can't find field vendor for device lo in device class net +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_with_network_interface +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_with_network_interface ... ok +ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on_wrong_path +ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on_wrong_path ... ok ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command. Command: None Exit code: - @@ -4194,46 +3659,6 @@ Exit code: - Stdout: None Stderr: None -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_no_ipmi_device -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_no_ipmi_device ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_not_enabled -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_not_enabled ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_static_address_both -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_static_address_both ... ok - WARNING [root] Cannot get BMC v6 address: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_virt -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_virt ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_bios -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_bios ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_pxe_interface -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_pxe_interface ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_uefi -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_uefi ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_clean_steps -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_clean_steps ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_component_devices -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_component_devices ... ok -ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step -ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step ... ok - ERROR [root] Unexpected exception performing clean step erase_devices. RuntimeError: boom -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/clean.py", line 77, in execute_clean_step - result = hardware.dispatch_to_managers(step['step'], node, ports, - **kwargs) - File "", line 3, in dispatch_to_managers - File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__ - return self._mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call - raise effect -RuntimeError: boom WARNING [ironic_python_agent.extensions.standby] Failed to sync file system buffers: Command execution failed: Flushing file system buffers failed. Error: Unexpected error while running command. Command: None Exit code: - @@ -4244,42 +3669,6 @@ Exit code: - Stdout: None Stderr: None, falling back to sysrq-trigger - ERROR [root] Command failed: execute_clean_step, error: Clean step failed: Unexpected exception performing clean step erase_devices. RuntimeError: boom -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/clean.py", line 77, in execute_clean_step - result = hardware.dispatch_to_managers(step['step'], node, ports, - **kwargs) - File "", line 3, in dispatch_to_managers - File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__ - return self._mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call - raise effect -RuntimeError: boom - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/clean.py", line 88, in execute_clean_step - raise errors.CleaningError(msg) -ironic_python_agent.errors.CleaningError: Clean step failed: Unexpected exception performing clean step erase_devices. RuntimeError: boom -ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_exception -ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_exception ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_illegal_flags -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_illegal_flags ... ok -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_from_file_reads_minimum -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_from_file_reads_minimum ... ok -/bin/sh: 1: mkisofs: not found -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_iso_9660 -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_iso_9660 ... skipped 'mkisofs not installed' -/bin/sh: 1: mkisofs: not found -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_iso_udf -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_iso_udf ... skipped 'mkisofs not installed' ERROR [root] Command failed: power_off, error: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None. Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1041, in _run_shutdown_command @@ -4311,52 +3700,145 @@ File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1045, in _run_shutdown_command raise errors.SystemRebootError(e.exit_code, e.stdout, e.stderr) ironic_python_agent.errors.SystemRebootError: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None. + WARNING [root] No hardware manager was able to handle interface foobar ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_power_off ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_power_off ... ok +ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found +ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found ... ok +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces ... ok + WARNING [ironic_python_agent.extensions.image] Failed to copy grub.cfg file for EFI boot operation. Error copy failed + WARNING [ironic_python_agent.extensions.image] Failed to copy grub.cfg file for EFI boot operation. Error copy failed + WARNING [ironic_python_agent.extensions.image] Failed to copy grubenv file. Error: copy failed + ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve + return _proxy.query(name, rdtype, raise_on_no_answer=raises, + ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + use_network=use_network) + ^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query + step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) + ^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver + self.clear() + ~~~~~~~~~~^^ + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear + self._resolver = dns.resolver.Resolver(filename=self._filename) + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ + self.read_resolv_conf(filename) + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf + raise NoResolverConfiguration("no nameservers") +dns.resolver.NoResolverConfiguration: no nameservers + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 199, in _new_conn + sock = connection.create_connection( + (self._dns_host, self.port), + ...<2 lines>... + socket_options=self.socket_options, + ) + File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection + for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): + ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo + qname, addrs = _getaddrinfo_lookup(host, family, flags) + ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup + raise err + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup + answer = resolve(host, qfamily, False, use_network=use_network) + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve + _raise_new_error(EAI_NODATA_ERROR) + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error + raise error_instance.__class__(*error_instance.args) +socket.gaierror: [Errno -2] Name or service not known + +The above exception was the direct cause of the following exception: + +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 789, in urlopen + response = self._make_request( + conn, + ...<10 lines>... + **response_kw, + ) + File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 490, in _make_request + raise new_e + File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 466, in _make_request + self._validate_conn(conn) + ~~~~~~~~~~~~~~~~~~~^^^^^^ + File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1095, in _validate_conn + conn.connect() + ~~~~~~~~~~~~^^ + File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 693, in connect + self.sock = sock = self._new_conn() + ~~~~~~~~~~~~~~^^ + File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 206, in _new_conn + raise NameResolutionError(self.host, self, e) from e +urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) + +The above exception was the direct cause of the following exception: + +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send + resp = conn.urlopen( + method=request.method, + ...<9 lines>... + chunked=chunked, + ) + File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 843, in urlopen + retries = retries.increment( + method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] + ) + File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment + raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version + response = self._request('GET', '/') + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 90, in _request + resp = self.session.request(method, + request_url, + ...<4 lines>... + timeout=CONF.http_request_timeout, + **kwargs) + File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request + resp = self.send(prep, **send_kwargs) + File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send + r = adapter.send(request, **kwargs) + File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send + raise ConnectionError(e, request=request) +requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) + WARNING [ironic_python_agent.agent] Ironic does not support automated TLS + ERROR [ironic_python_agent.utils] collector failed: boom ERROR [ironic_python_agent.utils] Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader_grubcfg_fails +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader_grubcfg_fails ... ok +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run ... ok ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None - ERROR [root] Error performing clean step erase_devices -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/clean.py", line 77, in execute_clean_step - result = hardware.dispatch_to_managers(step['step'], node, ports, - **kwargs) - File "", line 3, in dispatch_to_managers - File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__ - return self._mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call - raise effect -ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot - ERROR [root] Command failed: execute_clean_step, error: Block device caused unknown error: I'm a teapot -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/clean.py", line 77, in execute_clean_step - result = hardware.dispatch_to_managers(step['step'], node, ports, - **kwargs) - File "", line 3, in dispatch_to_managers - File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__ - return self._mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call - raise effect -ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot -ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_fail -ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_fail ... ok +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collector_failed +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collector_failed ... ok +ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found_with_dev +ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found_with_dev ... ok ERROR [root] Command failed: power_off, error: Error syncing system clock: Failed to sync hardware clock: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. Command: None Exit code: - @@ -4415,102 +3897,136 @@ Stderr: None ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_power_off_with_ntp_server ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_power_off_with_ntp_server ... ok + WARNING [root] Can't find field vendor for device lo in device class net + WARNING [root] Cannot find detailed information about interface eth0 +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_no_carrier +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_no_carrier ... ok +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_with_network_interface_failed +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_with_network_interface_failed ... ok +ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_not_found +ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_not_found ... ok +ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_empty +ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_empty ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image ... ok - ERROR [root] Command failed: start_flow, error: Command execution failed: fake.sleep was failed + WARNING [root] Cannot find detailed information about interface eth0 +ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_invalid_type_in_param +ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_invalid_type_in_param ... ok +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_biosdevname +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_biosdevname ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader_with_grubcfg +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader_with_grubcfg ... ok +ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_invalid_type_on_node +ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_invalid_type_on_node ... ok + ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/flow.py", line 44, in start_flow - raise errors.CommandExecutionError( - "%s was failed" % method - ) -ironic_python_agent.errors.CommandExecutionError: Command execution failed: fake.sleep was failed -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_max_mhz_and_flag_fallback -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_max_mhz_and_flag_fallback ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_max_mhz_flag_fallback -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_max_mhz_flag_fallback ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_multi -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_multi ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_no_flags -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_no_flags ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_broken_raid0 -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_broken_raid0 ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_poisoned_output -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_poisoned_output ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_unexpected_devices -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_unexpected_devices ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_nvme -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_nvme ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_whole_device -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_whole_device ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_arm64_lshw -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_arm64_lshw ... ok - WARNING [root] Could not get real physical RAM from lshw: -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_exception -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_exception ... ok - ERROR [root] Malformed clean_step, no "step" key: {} - ERROR [root] Command failed: execute_clean_step, error: Malformed clean_step, no "step" key: {} + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve + return _proxy.query(name, rdtype, raise_on_no_answer=raises, + ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + use_network=use_network) + ^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query + step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) + ^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver + self.clear() + ~~~~~~~~~~^^ + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear + self._resolver = dns.resolver.Resolver(filename=self._filename) + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ + self.read_resolv_conf(filename) + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf + raise NoResolverConfiguration("no nameservers") +dns.resolver.NoResolverConfiguration: no nameservers + +During handling of the above exception, another exception occurred: + Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/clean.py", line 74, in execute_clean_step - raise ValueError(msg) -ValueError: Malformed clean_step, no "step" key: {} - ERROR [root] Command failed: sleep, error: foo + File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 199, in _new_conn + sock = connection.create_connection( + (self._dns_host, self.port), + ...<2 lines>... + socket_options=self.socket_options, + ) + File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection + for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): + ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo + qname, addrs = _getaddrinfo_lookup(host, family, flags) + ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup + raise err + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup + answer = resolve(host, qfamily, False, use_network=use_network) + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve + _raise_new_error(EAI_NODATA_ERROR) + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error + raise error_instance.__class__(*error_instance.args) +socket.gaierror: [Errno -2] Name or service not known + +The above exception was the direct cause of the following exception: + Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/extensions/test_flow.py", line 41, in sleep - time.sleep(sleep_info['time']) - ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__ - return self._mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1230, in _execute_mock_call - raise result -Exception: foo - ERROR [root] Command failed: start_flow, error: Command execution failed: fake.sleep was failed + File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 789, in urlopen + response = self._make_request( + conn, + ...<10 lines>... + **response_kw, + ) + File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 490, in _make_request + raise new_e + File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 466, in _make_request + self._validate_conn(conn) + ~~~~~~~~~~~~~~~~~~~^^^^^^ + File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1095, in _validate_conn + conn.connect() + ~~~~~~~~~~~~^^ + File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 693, in connect + self.sock = sock = self._new_conn() + ~~~~~~~~~~~~~~^^ + File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 206, in _new_conn + raise NameResolutionError(self.host, self, e) from e +urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) + +The above exception was the direct cause of the following exception: + Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/flow.py", line 44, in start_flow - raise errors.CommandExecutionError( - "%s was failed" % method + File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send + resp = conn.urlopen( + method=request.method, + ...<9 lines>... + chunked=chunked, ) -ironic_python_agent.errors.CommandExecutionError: Command execution failed: fake.sleep was failed - ERROR [root] Cannot fetch total memory size using psutil version 5 + File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 843, in urlopen + retries = retries.increment( + method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] + ) + File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment + raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) + +During handling of the above exception, another exception occurred: + Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/hardware.py", line 1648, in get_memory - total = int(psutil.virtual_memory().total) - ~~~~~~~~~~~~~~~~~~~~~^^ - File "", line 3, in virtual_memory - File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__ - return self._mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call - raise effect -AttributeError -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_list -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_list ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_bank_size -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_bank_size ... ok -ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_no_step -ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_no_step ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v1 -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v1 ... ok -ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_tuple_result -ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_tuple_result ... ok + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version + response = self._request('GET', '/') + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 90, in _request + resp = self.session.request(method, + request_url, + ...<4 lines>... + timeout=CONF.http_request_timeout, + **kwargs) + File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request + resp = self.send(prep, **send_kwargs) + File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send + r = adapter.send(request, **kwargs) + File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send + raise ConnectionError(e, request=request) +requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) ERROR [root] Command failed: prepare_image, error: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests! Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run @@ -4529,61 +4045,345 @@ "Don't call ironic_lib.utils.execute() / " "processutils.execute() or similar functions in tests!") Exception: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests! + WARNING [ironic_python_agent.agent] Ironic does not support automated TLS + ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve + return _proxy.query(name, rdtype, raise_on_no_answer=raises, + ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + use_network=use_network) + ^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query + step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) + ^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver + self.clear() + ~~~~~~~~~~^^ + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear + self._resolver = dns.resolver.Resolver(filename=self._filename) + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ + self.read_resolv_conf(filename) + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf + raise NoResolverConfiguration("no nameservers") +dns.resolver.NoResolverConfiguration: no nameservers + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 199, in _new_conn + sock = connection.create_connection( + (self._dns_host, self.port), + ...<2 lines>... + socket_options=self.socket_options, + ) + File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection + for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): + ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo + qname, addrs = _getaddrinfo_lookup(host, family, flags) + ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup + raise err + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup + answer = resolve(host, qfamily, False, use_network=use_network) + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve + _raise_new_error(EAI_NODATA_ERROR) + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error + raise error_instance.__class__(*error_instance.args) +socket.gaierror: [Errno -2] Name or service not known + +The above exception was the direct cause of the following exception: + +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 789, in urlopen + response = self._make_request( + conn, + ...<10 lines>... + **response_kw, + ) + File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 490, in _make_request + raise new_e + File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 466, in _make_request + self._validate_conn(conn) + ~~~~~~~~~~~~~~~~~~~^^^^^^ + File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1095, in _validate_conn + conn.connect() + ~~~~~~~~~~~~^^ + File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 693, in connect + self.sock = sock = self._new_conn() + ~~~~~~~~~~~~~~^^ + File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 206, in _new_conn + raise NameResolutionError(self.host, self, e) from e +urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) + +The above exception was the direct cause of the following exception: + +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send + resp = conn.urlopen( + method=request.method, + ...<9 lines>... + chunked=chunked, + ) + File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 843, in urlopen + retries = retries.increment( + method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] + ) + File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment + raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version + response = self._request('GET', '/') + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 90, in _request + resp = self.session.request(method, + request_url, + ...<4 lines>... + timeout=CONF.http_request_timeout, + **kwargs) + File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request + resp = self.send(prep, **send_kwargs) + File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send + r = adapter.send(request, **kwargs) + File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send + raise ConnectionError(e, request=request) +requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) + WARNING [ironic_python_agent.agent] Ironic does not support automated TLS +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_agent_token +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_agent_token ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_bad_partition ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_bad_partition ... ok - ERROR [root] Clean version mismatch for command execute_clean_step - ERROR [root] Cannot fetch total memory size using psutil version 5 +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collectors_option +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collectors_option ... ok +ironic_python_agent.tests.unit.test_agent.TestBaseAgentVMediaToken.test_run_agent_token_vmedia +ironic_python_agent.tests.unit.test_agent.TestBaseAgentVMediaToken.test_run_agent_token_vmedia ... ok +ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_ok +ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_ok ... ok + WARNING [root] Cannot find detailed information about interface bond0 +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_bond +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_bond ... ok +ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_verify_false +ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_verify_false ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_configdrive +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_configdrive ... ok +ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_enabled_no_results +ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_enabled_no_results ... ok + WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. + WARNING [root] Cannot find detailed information about interface eth0 +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_no_loader +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_no_loader ... ok +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp ... ok + WARNING [ironic_python_agent.extensions.standby] Failed to call get_disk_identifier: Unable to obtain the root_uuid parameter: The hexdump tool may be missing in IPA: +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_disabled +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_disabled ... ok +ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_node_indicates_skip +ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_node_indicates_skip ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_hexdump +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_hexdump ... ok +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_modes_exists +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_modes_exists ... ok + WARNING [root] Cannot find detailed information about interface eth0 +ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_not_enabled +ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_not_enabled ... ok +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp_error +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp_error ... ok +ironic_python_agent.tests.unit.test_multi_hardware_clean_steps.TestMultipleHardwareManagerCleanSteps.test_clean_step_ordering +ironic_python_agent.tests.unit.test_multi_hardware_clean_steps.TestMultipleHardwareManagerCleanSteps.test_clean_step_ordering ... ok +ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test__heartbeat_expected +ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test__heartbeat_expected ... ok + ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/hardware.py", line 1648, in get_memory - total = int(psutil.virtual_memory().total) - ~~~~~~~~~~~~~~~~~~~~~^^ - File "", line 3, in virtual_memory - File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__ - return self._mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call - raise effect -AttributeError -ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_version_mismatch -ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_version_mismatch ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v2 -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v2 ... ok -ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_with_args -ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_with_args ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_v1 -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_v1 ... ok -ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_get_clean_steps -ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_get_clean_steps ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_v2 -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_v2 ... ok -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed_on_second_command -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed_on_second_command ... ok -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_success -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_success ... ok -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_empty_command_map -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_empty_command_map ... ok -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_missing_command -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_missing_command ... ok -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_to_find_extension -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_to_find_extension ... ok -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_success -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_success ... ok -ironic_python_agent.tests.unit.extensions.test_log.TestLogExtension.test_collect_system_logs -ironic_python_agent.tests.unit.extensions.test_log.TestLogExtension.test_collect_system_logs ... ok -ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_finalize_rescue -ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_finalize_rescue ... ok -ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_hashed_passwords -ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_hashed_passwords ... ok -ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_write_rescue_password -ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_write_rescue_password ... ok - ERROR [root] Rescue Operation failed when writing the hashed rescue password to the password file. Error + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve + return _proxy.query(name, rdtype, raise_on_no_answer=raises, + ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + use_network=use_network) + ^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query + step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) + ^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver + self.clear() + ~~~~~~~~~~^^ + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear + self._resolver = dns.resolver.Resolver(filename=self._filename) + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ + self.read_resolv_conf(filename) + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf + raise NoResolverConfiguration("no nameservers") +dns.resolver.NoResolverConfiguration: no nameservers + +During handling of the above exception, another exception occurred: + Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/rescue.py", line 48, in write_rescue_password - with open(PASSWORD_FILE, 'w') as f: - ~~~~^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 199, in _new_conn + sock = connection.create_connection( + (self._dns_host, self.port), + ...<2 lines>... + socket_options=self.socket_options, + ) + File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection + for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): + ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo + qname, addrs = _getaddrinfo_lookup(host, family, flags) + ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup + raise err + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup + answer = resolve(host, qfamily, False, use_network=use_network) + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve + _raise_new_error(EAI_NODATA_ERROR) + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error + raise error_instance.__class__(*error_instance.args) +socket.gaierror: [Errno -2] Name or service not known + +The above exception was the direct cause of the following exception: + +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 789, in urlopen + response = self._make_request( + conn, + ...<10 lines>... + **response_kw, + ) + File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 490, in _make_request + raise new_e + File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 466, in _make_request + self._validate_conn(conn) + ~~~~~~~~~~~~~~~~~~~^^^^^^ + File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1095, in _validate_conn + conn.connect() + ~~~~~~~~~~~~^^ + File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 693, in connect + self.sock = sock = self._new_conn() + ~~~~~~~~~~~~~~^^ + File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 206, in _new_conn + raise NameResolutionError(self.host, self, e) from e +urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) + +The above exception was the direct cause of the following exception: + +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send + resp = conn.urlopen( + method=request.method, + ...<9 lines>... + chunked=chunked, + ) + File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 843, in urlopen + retries = retries.increment( + method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] + ) + File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment + raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version + response = self._request('GET', '/') + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 90, in _request + resp = self.session.request(method, + request_url, + ...<4 lines>... + timeout=CONF.http_request_timeout, + **kwargs) + File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request + resp = self.send(prep, **send_kwargs) + File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send + r = adapter.send(request, **kwargs) + File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send + raise ConnectionError(e, request=request) +requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) + WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. + WARNING [ironic_python_agent.agent] Ironic does not support automated TLS +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_raw_and_stream_false +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_raw_and_stream_false ... ok +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_on +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_on ... ok +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_listen_host_port +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_listen_host_port ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_preserve_failure +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_preserve_failure ... ok +ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_raises +ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_raises ... ok +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info ... ok + ERROR [ironic_python_agent.utils] boom + WARNING [root] Cannot find detailed information about interface eth0 +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_vendor_info +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_vendor_info ... ok +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_extensions_failed +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_extensions_failed ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_raw_stream_true +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_raw_stream_true ... ok +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_owner +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_owner ... ok + WARNING [ironic_python_agent.netutils] LLDP timed out, remaining interfaces: [('eth0', ), ('eth1', )] + WARNING [ironic_python_agent.inspector] Failed to gather vendor id, product id or pci class from PCI device bar: + WARNING [ironic_python_agent.inspector] Wrong format of vendor id, product id or pci class in PCI device baz: +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_empty +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_empty ... ok +ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_bad_pci_device_info +ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_bad_pci_device_info ... ok + WARNING [root] Cannot find detailed information about interface eth0 +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_owner_and_group +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_owner_and_group ... ok + WARNING [root] Cannot find detailed information about interface eth0.100 + WARNING [ironic_python_agent.netutils] Trailing byte received in an LLDP package: b'5' +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces ... ok +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_malformed +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_malformed ... ok + WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image ... ok +ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success +ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_preserve_failure2 +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_preserve_failure2 ... ok +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url ... ok + WARNING [ironic_python_agent.inspector] Failed to gather numa_node id from PCI device foo: + WARNING [ironic_python_agent.inspector] Failed to gather numa_node id from PCI device bar: + WARNING [root] Cannot find detailed information about interface eth0 + WARNING [root] Cannot find detailed information about interface eth0.100 + WARNING [root] Cannot find detailed information about interface eth0.101 +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_inspector_error +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_inspector_error ... ok +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_multiple +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_multiple ... ok +ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success_numa_ioerror +ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success_numa_ioerror ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image_raw_and_stream_false +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image_raw_and_stream_false ... ok +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces_using_lldp +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces_using_lldp ... ok + ERROR [ironic_python_agent.agent] error sending heartbeat to +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/agent.py", line 148, in do_heartbeat + self.api.heartbeat( + ~~~~~~~~~~~~~~~~~~^ + uuid=self.agent.get_node_uuid(), + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ...<2 lines>... + generated_cert=self.agent.generated_cert, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ) + ^ File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ @@ -4592,170 +4392,226 @@ ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call raise effect -OSError -ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_write_rescue_password_ioerror -ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_write_rescue_password_ioerror ... ok -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_advertise_address_provided -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_advertise_address_provided ... ok - WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. +Exception: uh oh! +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url_formatting +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url_formatting ... ok + ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve + return _proxy.query(name, rdtype, raise_on_no_answer=raises, + ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + use_network=use_network) + ^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query + step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) + ^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver + self.clear() + ~~~~~~~~~~^^ + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear + self._resolver = dns.resolver.Resolver(filename=self._filename) + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ + self.read_resolv_conf(filename) + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf + raise NoResolverConfiguration("no nameservers") +dns.resolver.NoResolverConfiguration: no nameservers + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 199, in _new_conn + sock = connection.create_connection( + (self._dns_host, self.port), + ...<2 lines>... + socket_options=self.socket_options, + ) + File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection + for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): + ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo + qname, addrs = _getaddrinfo_lookup(host, family, flags) + ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup + raise err + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup + answer = resolve(host, qfamily, False, use_network=use_network) + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve + _raise_new_error(EAI_NODATA_ERROR) + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error + raise error_instance.__class__(*error_instance.args) +socket.gaierror: [Errno -2] Name or service not known + +The above exception was the direct cause of the following exception: + +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 789, in urlopen + response = self._make_request( + conn, + ...<10 lines>... + **response_kw, + ) + File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 490, in _make_request + raise new_e + File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 466, in _make_request + self._validate_conn(conn) + ~~~~~~~~~~~~~~~~~~~^^^^^^ + File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1095, in _validate_conn + conn.connect() + ~~~~~~~~~~~~^^ + File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 693, in connect + self.sock = sock = self._new_conn() + ~~~~~~~~~~~~~~^^ + File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 206, in _new_conn + raise NameResolutionError(self.host, self, e) from e +urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) + +The above exception was the direct cause of the following exception: + +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send + resp = conn.urlopen( + method=request.method, + ...<9 lines>... + chunked=chunked, + ) + File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 843, in urlopen + retries = retries.increment( + method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] + ) + File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment + raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version + response = self._request('GET', '/') + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 90, in _request + resp = self.session.request(method, + request_url, + ...<4 lines>... + timeout=CONF.http_request_timeout, + **kwargs) + File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request + resp = self.send(prep, **send_kwargs) + File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send + r = adapter.send(request, **kwargs) + File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send + raise ConnectionError(e, request=request) +requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) + WARNING [ironic_python_agent.agent] Ironic does not support automated TLS +ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test_heartbeat +ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test_heartbeat ... ok + ERROR [ironic_python_agent.utils] Failed to get list of PCI devices: +ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_wrong_path +ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_wrong_path ... ok + WARNING [ironic_python_agent.netutils] LLDP timed out, remaining interfaces: [('eth1', )] +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_block_uuid +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_block_uuid ... ok +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_raise_keyboard_interrupt +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_raise_keyboard_interrupt ... ok + WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. +ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_content_and_deleted +ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_content_and_deleted ... ok + ERROR [ironic_python_agent.extensions.image] Installing GRUB2 boot loader to device /dev/fake failed with Unexpected error while running command. Command: None Exit code: - -Stdout: 'boom' -Stderr: None - WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. +Stdout: 'error' +Stderr: None. + ERROR [ironic_python_agent.extensions.image] Umounting efi system partition failed. Attempted 3 times. Error: Unexpected error while running command. Command: None Exit code: - -Stdout: 'boom' +Stdout: 'error' Stderr: None - WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_one_empty_interface +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_one_empty_interface ... ok +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_block_uuid_fallback_to_uuid +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_block_uuid_fallback_to_uuid ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image_raw_stream_true +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image_raw_stream_true ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_umount_fails +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_umount_fails ... ok +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions ... ok +ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_missing_path +ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_missing_path ... ok + WARNING [root] Cannot find detailed information about interface eth0 + WARNING [root] Cannot find detailed information about interface eth1 +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_no_logical_partitions +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_no_logical_partitions WARNING [root] Cannot find detailed information about interface eth0.100 + WARNING [ironic_python_agent.numa_inspector] Failed to get some NUMA information (Error in NUMA node data format: An unexpected error occurred. Please try back later.) + ... ok + WARNING [root] Cannot find detailed information about interface eth0.101 + WARNING [root] Cannot find detailed information about interface eth1.102 + WARNING [root] Cannot find detailed information about interface eth1.103 + ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command. Command: None Exit code: - -Stdout: 'boom' +Stdout: None Stderr: None - WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. + ERROR [ironic_python_agent.extensions.standby] Flushing file system buffers failed. Error: Unexpected error while running command. Command: None Exit code: - -Stdout: 'boom' +Stdout: None Stderr: None - WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. + WARNING [ironic_python_agent.extensions.standby] Failed to sync file system buffers: Command execution failed: Flushing file system buffers failed. Error: Unexpected error while running command. Command: None Exit code: - -Stdout: 'boom' +Stdout: None Stderr: None -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_failed -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_failed ... ok - WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. + WARNING [ironic_python_agent.extensions.standby] reboot command failed with error Unexpected error while running command. Command: None Exit code: - -Stdout: 'boom' -Stderr: None - WARNING [ironic_python_agent.agent] No route to host 1.2.1.2, route record: Error: some error text -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_retry -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_retry ... ok - WARNING [ironic_python_agent.agent] Cannot get route to host fc00:1111::1: Unexpected error while running command. +Stdout: None +Stderr: None, falling back to sysrq-trigger +ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_failure +ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_failure ... ok +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_wrong_partition_table +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_wrong_partition_table ... ok +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces_using_lldp_all +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces_using_lldp_all ... ok + ERROR [ironic_python_agent.disk_utils] Unable to stat device /dev/disk/by-path/ip-1.2.3.4:5678-iscsi-iqn.fake-lun-9 after attempting to verify 2 times. +ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_no_directories +ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_no_directories ... ok + ERROR [ironic_python_agent.netutils] Socket for network interface eth0 said that it was ready to read we were unable to read from the socket while trying to get LLDP packet. Skipping this network interface. +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/netutils.py", line 197, in _get_lldp_info + lldp_info[interface[0]] = _receive_lldp_packets(s) + ~~~~~~~~~~~~~~~~~~~~~^^^ + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/netutils.py", line 160, in _receive_lldp_packets + pkt = sock.recv(1600) + File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__ + return self._mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call + raise effect +OSError: BOOM + ERROR [root] Command failed: run_image, error: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None. +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1043, in _run_shutdown_command + utils.execute("echo b > /proc/sysrq-trigger", shell=True) + ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 3, in execute + File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__ + return self._mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call + raise effect +oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. Command: None Exit code: - -Stdout: 'boom' -Stderr: None - WARNING [ironic_python_agent.agent] No route to host 1.2.1.2, route record: Error: some error text - WARNING [ironic_python_agent.agent] Cannot get route to host fc00:1111::1: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boom' -Stderr: None -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_several_urls_and_retries -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_several_urls_and_retries ... ok -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_host -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_host ... ok -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_ip -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_ip ... ok -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_ipv6 -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_ipv6 ... ok - WARNING [root] Can't find field vendor for device lo in device class net -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_with_network_interface -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_with_network_interface ... ok - WARNING [root] Can't find field vendor for device lo in device class net -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_with_network_interface_failed -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_with_network_interface_failed ... ok -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions ... ok -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_disk_label_gpt -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_disk_label_gpt ... ok -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_gpt_with_prep -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_gpt_with_prep ... ok -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot ... ok -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot_gpt_bios -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot_gpt_bios ... ok -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot_uefi -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot_uefi ... ok -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_mbr_with_prep -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_mbr_with_prep ... ok -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_ephemeral -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_ephemeral ... ok -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_iscsi_device -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_iscsi_device ... ok -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_local_device -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_local_device ... ok -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_nvme_device -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_nvme_device ... ok -ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_custom_attempts -ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_custom_attempts ... ok - WARNING [ironic_python_agent.disk_utils] Failed to verify partition tables on device /dev/fake: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None -ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_fails -ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_fails ... ok -ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_trigger -ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_trigger ... ok -ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_equal -ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_equal ... ok -ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_hash -ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_hash ... ok -ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_notequal -ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_notequal ... ok -ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test -ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test ... ok - WARNING [ironic_python_agent.inspector] failed to get system journal -ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test_fail -ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test_fail ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_configdrive -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_configdrive ... ok - WARNING [ironic_python_agent.extensions.standby] Failed to call get_disk_identifier: Unable to obtain the root_uuid parameter: The hexdump tool may be missing in IPA: -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_hexdump -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_hexdump ... ok - WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' - WARNING [root] Device /dev/sdb is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdb' - WARNING [root] Device /dev/sdc is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdc' - WARNING [root] Device /dev/sdd is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdd' - WARNING [root] Can't find field vendor for device sdd in device class block - WARNING [root] Device /dev/dm-0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-0' - WARNING [root] Can't find field vendor for device dm-0 in device class block - WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_raw_and_stream_false -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_raw_and_stream_false ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_raw_stream_true -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_raw_stream_true ... ok - ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - ERROR [ironic_python_agent.extensions.standby] Flushing file system buffers failed. Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - WARNING [ironic_python_agent.extensions.standby] Failed to sync file system buffers: Command execution failed: Flushing file system buffers failed. Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - WARNING [ironic_python_agent.extensions.standby] reboot command failed with error Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None, falling back to sysrq-trigger - ERROR [root] Command failed: run_image, error: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None. -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1043, in _run_shutdown_command - utils.execute("echo b > /proc/sysrq-trigger", shell=True) - ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "", line 3, in execute - File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__ - return self._mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call - raise effect -oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None +Stdout: None Stderr: None During handling of the above exception, another exception occurred: @@ -4769,72 +4625,38 @@ File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1045, in _run_shutdown_command raise errors.SystemRebootError(e.exit_code, e.stdout, e.stderr) ironic_python_agent.errors.SystemRebootError: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None. -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image ... ok - ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version - response = self._request('GET', '/') - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 90, in _request - resp = self.session.request(method, - request_url, - ...<4 lines>... - timeout=CONF.http_request_timeout, - **kwargs) - File "", line 3, in request - File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__ - return self._mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call - raise effect -Exception: Boom - WARNING [ironic_python_agent.ironic_api_client] Got invalid node data in response to query for node with addresses '00:0c:29:8c:11:b1,00:0c:29:8c:11:b2' from http://agent-api.ironic.example.org: {'node_node': 'also_not_node'} - WARNING [ironic_python_agent.ironic_api_client] Failed looking up node with addresses '00:0c:29:8c:11:b1,00:0c:29:8c:11:b2' at http://agent-api.ironic.example.org. Check if inspection has completed? Error 400: {"node": {"uuid": "deadbeef-dabb-ad00-b105-f00d00bab10c"}} - WARNING [ironic_python_agent.ironic_api_client] Got invalid node data in response to query for node with addresses '00:0c:29:8c:11:b1,00:0c:29:8c:11:b2' from http://agent-api.ironic.example.org: {'heartbeat_timeout': 300} - WARNING [ironic_python_agent.ironic_api_client] Got invalid heartbeat from the API: {'node': {'uuid': 'deadbeef-dabb-ad00-b105-f00d00bab10c'}} - WARNING [ironic_python_agent.extensions.image] Falling back to fstab entry addition label of UUID. We could not identify which UUID or PARTUUID identifier label should be used, thus UUID will be used. - WARNING [root] Using hint {'vendor': 'basic vendor'} skipping devices: /dev/sdb,/dev/sda - WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' - WARNING [root] Device /dev/sdb is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdb' - WARNING [root] We have identified a multipath device sda, this is being ignored in favor of dm-0 and its related child devices. - WARNING [root] We have identified a multipath device sda2, this is being ignored in favor of dm-0 and its related child devices. - WARNING [root] We have identified a multipath device sda3, this is being ignored in favor of dm-0 and its related child devices. - WARNING [root] We have identified a multipath device sda1, this is being ignored in favor of dm-0 and its related child devices. - WARNING [root] Device /dev/dm-0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-0' - WARNING [root] Can't find field vendor for device dm-0 in device class block - WARNING [root] We have identified a multipath device sdb, this is being ignored in favor of dm-0 and its related child devices. - WARNING [root] We have identified a multipath device sdb2, this is being ignored in favor of dm-0 and its related child devices. - WARNING [root] We have identified a multipath device sdb3, this is being ignored in favor of dm-0 and its related child devices. - WARNING [root] We have identified a multipath device sdb1, this is being ignored in favor of dm-0 and its related child devices. - WARNING [root] Device /dev/sdc is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdc' - WARNING [root] Device /dev/dm-1 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-1' - WARNING [root] Can't find field vendor for device dm-1 in device class block - WARNING [root] We have identified a multipath device sda, this is being ignored in favor of dm-0 and its related child devices. - WARNING [root] We have identified a multipath device sda2, this is being ignored in favor of dm-0 and its related child devices. - WARNING [root] We have identified a multipath device sda3, this is being ignored in favor of dm-0 and its related child devices. - WARNING [root] We have identified a multipath device sda1, this is being ignored in favor of dm-0 and its related child devices. - WARNING [root] Device /dev/dm-0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-0' - WARNING [root] Can't find field vendor for device dm-0 in device class block - WARNING [root] We have identified a multipath device sdb, this is being ignored in favor of dm-0 and its related child devices. - WARNING [root] We have identified a multipath device sdb2, this is being ignored in favor of dm-0 and its related child devices. - WARNING [root] We have identified a multipath device sdb3, this is being ignored in favor of dm-0 and its related child devices. - WARNING [root] We have identified a multipath device sdb1, this is being ignored in favor of dm-0 and its related child devices. - WARNING [root] Device /dev/sdc is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdc' - WARNING [root] Device /dev/dm-1 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-1' - WARNING [root] Can't find field vendor for device dm-1 in device class block - WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' - WARNING [root] Device /dev/sdb is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdb' - WARNING [root] Device /dev/md0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/md0' - WARNING [root] Can't find field vendor for device md0 in device class block + ERROR [ironic_python_agent.disk_utils] Unable to stat device /dev/disk/by-path/ip-1.2.3.4:5678-iscsi-iqn.fake-lun-9 after attempting to verify 3 times. +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_attempts +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_attempts ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded ... ok +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_socket_recv_error +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_socket_recv_error ... ok +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_mdns +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_mdns ... ok +ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_numeric_fields +ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_numeric_fields ... ok +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_raises +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_raises ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_image +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_image ... ok + WARNING [ironic_python_agent.numa_inspector] Failed to get some NUMA information (Error in NUMA node data format: An unexpected error occurred. Please try back later.) +ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_no_nics_dirs +ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_no_nics_dirs ... ok +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_works +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_works ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_empty +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_empty ... ok +ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_root_without_on +ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_root_without_on ... WARNING [root] Can't find field vendor for device lo in device class net +ok ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None - ERROR [ironic_python_agent.extensions.standby] Flushing file system buffers failed. Error: Unexpected error while running command. +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets ... ERROR [ironic_python_agent.extensions.standby] Flushing file system buffers failed. Error: Unexpected error while running command. Command: None Exit code: - Stdout: None @@ -4844,1355 +4666,23 @@ Exit code: - Stdout: None Stderr: None +ok WARNING [ironic_python_agent.extensions.standby] reboot command failed with error Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None, falling back to sysrq-trigger -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_already_set -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_already_set ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__add_multi_bootloaders -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__add_multi_bootloaders ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image_raw_and_stream_false -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image_raw_and_stream_false ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image_raw_stream_true -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image_raw_stream_true ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_image -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_image ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_error -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_error ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_fresh -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_fresh ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_set_via_conf -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_set_via_conf ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_body -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_body ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_code -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_code ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_data -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_data ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_no_heartbeat_timeout -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_no_heartbeat_timeout ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_node_locked -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_node_locked ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_transient_exceptions -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_transient_exceptions ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__append_uefi_to_fstab_handles_error -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__append_uefi_to_fstab_handles_error ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_complete_skip_list -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_complete_skip_list ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_fails -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_fails ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_multipath -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_multipath ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_no_root_device -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_no_root_device ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_not_multipath -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_not_multipath ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_raid -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_raid ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_unknown_exception -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_unknown_exception ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_unknown_exception_fallback -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_unknown_exception_fallback ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_with_uuid -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_with_uuid ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_ipv4 -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_ipv4 ... ok + WARNING [ironic_python_agent.numa_inspector] Failed to get list of NUMA nodes, NUMA node path does not exist: /sys/devices/system/node/ ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_fails ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_fails ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_invalid -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_invalid ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid ... ok - WARNING [ironic_python_agent.extensions.standby] poweroff command failed with error Unexpected error while running command. -Command: None -Exit code: - -Stdout: '' -Stderr: None, falling back to sysrq-trigger -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_poweroff_sysrq -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_poweroff_sysrq ... ok - WARNING [ironic_python_agent.extensions.standby] reboot command has been ignored, falling back to sysrq-trigger -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_reboot_sysrq -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_reboot_sysrq ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_ipv6 -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_ipv6 ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_protocol -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_protocol ERROR [ironic_python_agent.extensions.standby] Timeout reached waiting for a chunk of data from a remote server. - ... WARNING [ironic_lib.utils] No device found that matches the root device hints {'model': 'fastable sd131 7', 'wwn': 'fake-wwn', 'serial': 'fake-serial', 'vendor': 'fake-vendor', 'size': 10} -ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_bios -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_bios ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_no_root -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_no_root ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_by_path -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_by_path ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_iinfo -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_iinfo ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_model -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_model ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_name -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_name ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_409_status_code -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_409_status_code ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_agent_version_unsupported -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_agent_version_unsupported ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_1 -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_1 ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_2 -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_2 ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_3 -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_3 ... ok - WARNING [root] Using hint {'vendor': 'fake-vendor'} skipping devices: /dev/sdb - WARNING [ironic_lib.utils] No device found that matches the root device hints {'wwn': 'fake-wwn'} - WARNING [root] Using hint {'name': '/dev/sdj'} skipping devices: /dev/sdj - WARNING [root] Could not retrieve vendor info from lshw: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - WARNING [root] Device /dev/sda is inaccessible, skipping... Error: - WARNING [root] Device /dev/sdb is not supported by pyudev, skipping... Error: No block device with number 1234 - WARNING [root] Device /dev/sdc is inaccessible, skipping... Error: - WARNING [root] We have identified a multipath device sdd, this is being ignored in favor of dm-0 and its related child devices. - WARNING [root] Device /dev/dm-0 is inaccessible, skipping... Error: - WARNING [ironic_python_agent.ironic_api_client] Connection error when accessing 2001:db8::1/v1/heartbeat/meow, trying the next URL. Error: -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_no_device_found -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_no_device_found ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_prep -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_prep ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_rotational -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_rotational ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_invalid_status_code -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_invalid_status_code ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_connection_error -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_connection_error ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_exception -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_exception ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_serial -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_serial ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_not_int -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_not_int ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_str -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_str ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_several_urls -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_several_urls ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_skip_list -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_skip_list ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_node -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_node ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_vendor -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_vendor ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_wwn -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_wwn ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_skip_list_non_exist -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_skip_list_non_exist ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_just_raids -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_just_raids ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_no_skip_list -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_no_skip_list ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_with_skip_list -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_with_skip_list ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info_failure -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info_failure ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info_lshw_list -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info_lshw_list ... ok - WARNING [ironic_python_agent.extensions.standby] Image download failed, 0 of 2: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Error downloading image: Download of image fake_id failed: Timed out reading next chunk from webserver - WARNING [root] We have identified a multipath device sdd, this is being ignored in favor of dm-0 and its related child devices. - WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sdb. Skipping - ERROR [ironic_python_agent.extensions.standby] Timeout reached waiting for a chunk of data from a remote server. - WARNING [ironic_python_agent.extensions.standby] Image download failed, 1 of 2: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Error downloading image: Download of image fake_id failed: Timed out reading next chunk from webserver - WARNING [ironic_python_agent.utils] Ignoring malformed capability 'test:world:2'. Format should be 'key:val'. - WARNING [ironic_python_agent.utils] Ignoring malformed capability 'badformat'. Format should be 'key:val'. - ERROR [ironic_python_agent.extensions.standby] Timeout reached waiting for a chunk of data from a remote server. - ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow - ERROR [root] Command failed: install_bootloader, error: meow -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/image.py", line 721, in install_bootloader - _install_grub2(device, - ~~~~~~~~~~~~~~^^^^^^^^ - root_uuid=root_uuid, - ^^^^^^^^^^^^^^^^^^^^ - efi_system_part_uuid=efi_system_part_uuid, - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - prep_boot_part_uuid=prep_boot_part_uuid, - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - target_boot_mode=target_boot_mode) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "", line 3, in _install_grub2 - File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__ - return self._mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call - raise effect -OSError: meow - ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow - ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow - WARNING [ironic_python_agent.extensions.standby] Image download failed, 0 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! - WARNING [ironic_python_agent.extensions.standby] Image download failed, 1 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! - WARNING [ironic_python_agent.extensions.standby] Image download failed, 2 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! - WARNING [ironic_python_agent.extensions.standby] Image download failed, 3 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! - WARNING [ironic_python_agent.extensions.standby] Image download failed, 4 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! - WARNING [ironic_python_agent.extensions.standby] Image download failed, 5 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! - WARNING [ironic_python_agent.extensions.standby] Image download failed, 6 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! - WARNING [ironic_python_agent.extensions.standby] Image download failed, 7 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! - WARNING [ironic_python_agent.extensions.standby] Image download failed, 8 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! - ERROR [ironic_python_agent.extensions.standby] Flushing file system buffers failed. Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_usb_devices -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_usb_devices ... ok - WARNING [root] We have identified a multipath device sdd, this is being ignored in favor of dm-0 and its related child devices. - ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow - WARNING [root] Using hint {'name': '/dev/sdj'} skipping devices: /dev/sdj - WARNING [root] Using hint {'name': '/dev/hdaa'} skipping devices: /dev/hdaa - WARNING [root] Using hint {'name': '/dev/sdj'} skipping devices: /dev/sdj -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_ipmi_device_exists -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_ipmi_device_exists ... ok - WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' - WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' - WARNING [root] Device /dev/sdb is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdb' - WARNING [root] Device /dev/md0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/md0' - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping - WARNING [root] Can't find field vendor for device md0 in device class block - WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' - WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' - WARNING [root] Device /dev/sdb is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdb' - WARNING [root] Device /dev/md0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/md0' - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping - WARNING [root] Can't find field vendor for device md0 in device class block - WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' - WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' - WARNING [root] Device /dev/sdb is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdb' - WARNING [root] Device /dev/md0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/md0' - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping - WARNING [root] Can't find field vendor for device md0 in device class block - ERROR [ironic_python_agent.extensions.standby] Unable to verify image fake_id with available checksums. Please make sure the specified 'os_hash_algo' (currently algo-beyond-milky-way) is supported by this ramdisk, or provide a md5 checksum via the 'checksum' field - ERROR [ironic_python_agent.extensions.standby] Image failed to verify against checksum. location: /foo/bar; image ID: fake_id; image checksum: fake-checksum; verification checksum: invalid-checksum - ERROR [ironic_python_agent.extensions.standby] Image failed to verify against checksum. location: /foo/bar; image ID: fake_id; image checksum: fake-sha512-value; verification checksum: invalid-checksum - ERROR [ironic_python_agent.extensions.standby] Unable to verify image fake_id with available checksums. Please make sure the specified 'os_hash_algo' (currently unsupported-algorithm) is supported by this ramdisk, or provide a md5 checksum via the 'checksum' field - WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' - WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' - WARNING [root] Device /dev/sdb is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdb' - WARNING [root] Device /dev/md0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/md0' - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping - WARNING [root] Can't find field vendor for device md0 in device class block -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_node_retries -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_node_retries ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_all_serial -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_all_serial ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_hctl_fail -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_hctl_fail ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_only_udev -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_only_udev ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_timeout -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_timeout ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_ip6 -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_ip6 ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_token -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_token ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_verify_ca -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_verify_ca ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_fallback_bios -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_fallback_bios ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_fallback_uefi -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_fallback_uefi ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_driver_internal_info -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_driver_internal_info ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_dict -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_dict ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_json_str -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_json_str ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_str -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_str ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_implicit_with_secure_boot -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_implicit_with_secure_boot ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_invalid_cap -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_invalid_cap ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_override_with_instance_info -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_override_with_instance_info ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_journald -ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_journald ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_journald_with_logfile -ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_journald_with_logfile ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_non_journald -ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_non_journald ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_non_journald_with_logfile -ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_non_journald_with_logfile ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_device_extractor -ironic_python_agent.tests.unit.test_utils.TestUtils.test_device_extractor ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_dict -ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_dict ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_json_string -ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_json_string ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_old_format_caps -ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_old_format_caps ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_command_output -ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_command_output ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output -ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_fail -ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_fail ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_with_lines -ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_with_lines ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_with_units -ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_with_units ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_socket_read_timeout -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_socket_read_timeout ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_write_error -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_write_error ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_ssl_client_options -ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_ssl_client_options ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_disks_too_small -ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_disks_too_small ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_primary_sort -ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_primary_sort ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_secondary_sort -ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_secondary_sort ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_gzip_and_b64encode -ironic_python_agent.tests.unit.test_utils.TestUtils.test_gzip_and_b64encode ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_is_journalctl_present -ironic_python_agent.tests.unit.test_utils.TestUtils.test_is_journalctl_present ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_is_journalctl_present_false -ironic_python_agent.tests.unit.test_utils.TestUtils.test_is_journalctl_present_false ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_secure_boot_overriden_with_instance_info_caps -ironic_python_agent.tests.unit.test_utils.TestUtils.test_secure_boot_overriden_with_instance_info_caps ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type -ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_disk_label_ignored_with_uefi -ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_disk_label_ignored_with_uefi ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_gpt -ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_gpt ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync_error -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync_error ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_checksum -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_checksum ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_with_disk_label -ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_with_disk_label ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_udev -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_udev ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_urls -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_urls ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_invalid_checksum -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_invalid_checksum ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_with_instance_disk_label -ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_with_instance_disk_label ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_invalid_urls -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_invalid_urls ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_legacy_md5_checksum -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_legacy_md5_checksum ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_legacy_md5_checksum_enabled -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_legacy_md5_checksum_enabled ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_missing_field -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_missing_field ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_no_hash_algo -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_no_hash_algo ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_no_hash_value -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_no_hash_value ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_sha256 -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_sha256 ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_ignore_none_md5 -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_ignore_none_md5 ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_with_new_hash_fields -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_with_new_hash_fields ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_without_md5 -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_without_md5 ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_url -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_url ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_empty_password -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_empty_password ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_empty_user -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_empty_user ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_none_password -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_none_password ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_none_user -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_none_user ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_fails_if_unknown_is_used -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_fails_if_unknown_is_used ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_with_new_hash_fields -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_with_new_hash_fields ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_without_fallback -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_without_fallback ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_with_md5_fallback -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_with_md5_fallback ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_with_new_hash_fields -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_with_new_hash_fields ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_without_md5 -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_without_md5 ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_fails -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_fails ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_grub_failure_api_override -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_grub_failure_api_override ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure_api_override -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure_api_override ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_manage_failure -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_manage_failure ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_no_skip_list -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_no_skip_list ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_complete_skip_list -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_complete_skip_list ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_skip_list -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_skip_list ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_skip_list_non_exist -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_skip_list_non_exist ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_including_partitions -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_including_partitions ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_hardware_info -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_hardware_info ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_normal_vs_enhanced_security_erase -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_normal_vs_enhanced_security_erase ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_service_steps_exist -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_service_steps_exist ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_MAX_MAX -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_MAX_MAX ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_duplicate_volume_name -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_duplicate_volume_name ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_no_of_raids -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_no_of_raids ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_raid_level -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_raid_level ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_no_configuration -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_no_configuration ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_valid_raid1 -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_valid_raid1 ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_valid_raid1_raidN -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_valid_raid1_raidN ... ok -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_both_succeed -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_both_succeed ... ok - ERROR [ironic_lib.exception] Exception in string format operation (arguments ) -Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/ironic_lib/exception.py", line 134, in __init__ - message = self._msg_fmt % kwargs - ~~~~~~~~~~~~~~^~~~~~~~ -KeyError: 'reason' -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_gpt_fails -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_gpt_fails ... ok - ERROR [ironic_python_agent.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests! -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_exception -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_exception ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_exception_image_mb -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_exception_image_mb ... ok - ERROR [ironic_python_agent.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests! -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid ... ok - ERROR [ironic_python_agent.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests! -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid_uefi -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid_uefi ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file ... ok - ERROR [root] Failed to move file: /firmware_images/fw1.bin, - ERROR [ironic_python_agent.extensions.image] Installing GRUB2 boot loader to device /dev/fake failed with Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boom' -Stderr: None. - WARNING [ironic_python_agent.extensions.image] Unable to umount vfat partitions. Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boom' -Stderr: None - WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/dev. Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boom' -Stderr: None - WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/proc. Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boom' -Stderr: None - WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/run. Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boom' -Stderr: None - WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/sys. Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boom' -Stderr: None -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file_not_found -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file_not_found ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http ... ok -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_both_succeed -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_both_succeed ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2 -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2 ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_command_fail -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_command_fail ... ok - ERROR [root] Failed to open URL data: HTTP Error 500: Internal Error -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http_err -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http_err ... ok - ERROR [root] Failed to open URL data: -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http_url_err -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http_url_err ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_https -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_https ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_invalid_url_scheme -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_invalid_url_scheme ... ok - ERROR [root] Mismatch provided checksum a94e683ea16d9ae44768f0a65942234d for image http://10.10.10.10/firmware_images/fw1.bin -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_checksum -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_checksum ... ok - ERROR [root] The provided psid MT_0000000227 does not match the image psid MT_0000000228 -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_component_flavor -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_component_flavor ... ok - ERROR [root] The provided firmware version 20.34.1012 does not match image firmware version 20.35.1012 -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_fw_version -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_fw_version ... ok -ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_gpt -ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_gpt ... ok -ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_msdos -ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_msdos ... ok - WARNING [ironic_python_agent.disk_utils] Unable to get partition table type for device hello -ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_unknown -ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_unknown ... ok - WARNING [root] Device /dev/fake1 is inaccessible, skipping... Error: nope -ironic_python_agent.tests.unit.test_hardware.TestCollectSystemLogs.test__collect_udev -ironic_python_agent.tests.unit.test_hardware.TestCollectSystemLogs.test__collect_udev ... ok -ironic_python_agent.tests.unit.test_hardware.TestCollectSystemLogs.test_collect_system_logs -ironic_python_agent.tests.unit.test_hardware.TestCollectSystemLogs.test_collect_system_logs ... ok -ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_number -ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_number ... ok -ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_number_nvme -ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_number_nvme ... ok -ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_path -ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_path ... ok -ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on -ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on ... ok -ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on_wrong_path -ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on_wrong_path ... ok -ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_all -ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_all ... ok -ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_boot_only -ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_boot_only ... ok -ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_disabled -ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_disabled ... ok -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive ... ok -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_bad_status_code -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_bad_status_code ... ok -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_bad_url -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_bad_url ... ok -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_base64_error -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_base64_error ... ok -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_base64_string -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_base64_string ... ok -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_binary -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_binary ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_prep -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_prep ... ok -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_generic_method_only -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_generic_method_only ... ok -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_gzip_error -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_gzip_error ... ok -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_insecure -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_insecure ... ok -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_mainline_fails -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_mainline_fails ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_softraid_bios -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_softraid_bios ... ok - WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/md/esp using the install command which does not place Secure Boot signed binaries. - WARNING [ironic_python_agent.extensions.image] Ignoring GRUB2 boot loader installation failure: Unexpected error while running command. -Command: grub2-install -Exit code: 1 -Stdout: '' -Stderr: 'grub2-install: error: this utility cannot be used for EFI platforms because it does not support UEFI Secure Boot.\n'. - WARNING [ironic_python_agent.extensions.image] Ignoring GRUB2 boot loader installation failure: Unexpected error while running command. -Command: grub2-install -Exit code: 1 -Stdout: '' -Stderr: 'grub2-install: error: this utility cannot be used for EFI platforms because it does not support UEFI Secure Boot.\n'. -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_softraid_uefi_gpt -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_softraid_uefi_gpt ... ok -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_mainline_only -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_mainline_only ... ok -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_ssl -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_ssl ... ok -ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_DeployFail_exc -ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_DeployFail_exc ... ok -ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_absent -ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_absent ... ok -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_manager_method_not_found -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_manager_method_not_found ... ok - ERROR [root] Unexpected error dispatching unexpected_fail to manager : A problem was encountered -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/hardware.py", line 3468, in dispatch_to_all_managers - response = getattr(manager, method)(*args, **kwargs) - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 32, in wrapper - return fn(self, *args, **kwargs) - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 101, in unexpected_fail - raise RuntimeError('A problem was encountered') -RuntimeError: A problem was encountered -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_method_fails -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_method_fails ... ok -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_generic_method_only -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_generic_method_only ... ok -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_mainline_fails -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_mainline_fails ... ok -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_mainline_method_only -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_mainline_method_only ... ok - WARNING [ironic_python_agent.disk_utils] Unable to probe for partitions on device /dev/fake, the partitioning table may be broken. Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None -ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_exc -ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_exc ... ok -ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_present -ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_present ... ok -ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_present_uppercase -ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_present_uppercase ... ok -ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_exc -ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_exc ... ok -ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_false -ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_false ... ok -ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_true -ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_true ... ok - WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi ... ok - WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. - WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' - WARNING [root] Device /dev/sda1 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda1' - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda1. Skipping - WARNING [ironic_python_agent.extensions.image] Falling back to fstab entry addition label of UUID. We could not identify which UUID or PARTUUID identifier label should be used, thus UUID will be used. -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_fstab -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_fstab ... ok - ERROR [ironic_python_agent.extensions.image] Installing GRUB2 boot loader to device /dev/fake failed with Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'error' -Stderr: None. -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_mount_fails -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_mount_fails ... ok - WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. - WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' - WARNING [root] Device /dev/sda1 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda1' - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda1. Skipping - WARNING [ironic_python_agent.extensions.image] Falling back to fstab entry addition label of UUID. We could not identify which UUID or PARTUUID identifier label should be used, thus UUID will be used. -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_no_fstab -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_no_fstab ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader ... ok - WARNING [ironic_python_agent.extensions.image] Failed to copy grub.cfg file for EFI boot operation. Error copy failed - WARNING [ironic_python_agent.extensions.image] Failed to copy grub.cfg file for EFI boot operation. Error copy failed - WARNING [ironic_python_agent.extensions.image] Failed to copy grubenv file. Error: copy failed -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader_grubcfg_fails -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader_grubcfg_fails ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader_with_grubcfg -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader_with_grubcfg ... ok -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_manager_method_not_found -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_manager_method_not_found ... ok - ERROR [root] Unexpected error dispatching unexpected_fail to manager : A problem was encountered -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/hardware.py", line 3512, in dispatch_to_managers - return getattr(manager, method)(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 32, in wrapper - return fn(self, *args, **kwargs) - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 101, in unexpected_fail - raise RuntimeError('A problem was encountered') -RuntimeError: A problem was encountered -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_method_fails -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_method_fails ... ok -ironic_python_agent.tests.unit.test_multi_hardware.TestNoHardwareManagerLoading.test_no_managers_found -ironic_python_agent.tests.unit.test_multi_hardware.TestNoHardwareManagerLoading.test_no_managers_found ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_cores_info -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_cores_info ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_memory_info -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_memory_info ... ok - ERROR [root] Encountered issue attempting to validate the supplied configuration drive. Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boom' -Stderr: None - WARNING [ironic_lib.utils] Failed to unlink /tmp/tmpi4x7i_lh/tmp1n2z0bfr, error: [Errno 21] Is a directory: '/tmp/tmpi4x7i_lh/tmp1n2z0bfr' - WARNING [ironic_lib.utils] Failed to unlink /tmp/tmp1gql4ohn/tmpje28f538, error: [Errno 21] Is a directory: '/tmp/tmp1gql4ohn/tmpje28f538' - WARNING [ironic_lib.utils] Failed to unlink /tmp/tmpaob7qw9k/tmp_fm4x1m0, error: [Errno 21] Is a directory: '/tmp/tmpaob7qw9k/tmp_fm4x1m0' - WARNING [ironic_lib.utils] Failed to unlink /tmp/tmpaob7qw9k/tmp9enyweyx, error: [Errno 21] Is a directory: '/tmp/tmpaob7qw9k/tmp9enyweyx' - ERROR [root] We were unable to make a new filesystem for the configuration drive. Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boom' -Stderr: None - WARNING [ironic_lib.utils] Failed to unlink /tmp/tmp427tdu7y/tmp6vh5wogs, error: [Errno 21] Is a directory: '/tmp/tmp427tdu7y/tmp6vh5wogs' - WARNING [ironic_lib.utils] Failed to unlink /tmp/tmp427tdu7y/tmpme_tc8hy, error: [Errno 21] Is a directory: '/tmp/tmp427tdu7y/tmpme_tc8hy' - WARNING [root] We were unable to examine the configuration drive, bypassing. Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boom' -Stderr: None -ironic-python-agent: Copying configuration from /tmp/tmp37i7pgs8/etc/ironic-python-agent to /etc/ironic-python-agent -ironic-python-agent: Copying configuration from /tmp/tmp37i7pgs8/etc/ironic-python-agent.d to /etc/ironic-python-agent.d -ironic-python-agent: Copying configuration from /tmp/tmpv237paje/etc/ironic-python-agent to /etc/ironic-python-agent -ironic-python-agent: Copying configuration from /tmp/tmpv237paje/etc/ironic-python-agent.d to /etc/ironic-python-agent.d -ironic-python-agent: /some/path/etc/ironic-python-agent not found -ironic-python-agent: /some/path/etc/ironic-python-agent.d not found -ironic-python-agent: /tmp/tmp7ryse6dv/etc/ironic-python-agent not found -ironic-python-agent: /tmp/tmp7ryse6dv/etc/ironic-python-agent.d not found -ironic-python-agent: No virtual media device detected -ironic-python-agent: Cannot use configuration from virtual media as the agent was not booted from virtual media. - WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. - WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. - WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. - WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. - ERROR [ironic_python_agent.extensions.image] Installing GRUB2 boot loader to device /dev/fake failed with Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'error' -Stderr: None. - ERROR [ironic_python_agent.extensions.image] Umounting efi system partition failed. Attempted 3 times. Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'error' -Stderr: None - WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. - WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. - WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_nics_info -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_nics_info ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_thread_dirs -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_thread_dirs ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_cores_info -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_cores_info ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_memory_info -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_memory_info ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_nics_info -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_nics_info ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format_cores_info -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format_cores_info ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format_memory_info -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format_memory_info ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_valid_format -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_valid_format ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_no_nics_dir -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_no_nics_dir ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_memory_unit -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_memory_unit ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_numa_format_memory_info -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_numa_format_memory_info ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_threaddir_format_cores_info -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_threaddir_format_cores_info ... ok -ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_failed -ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_failed ... ok -ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_work -ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_work ... ok -ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive -ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive ... ok -ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive_fails_once_invalid -ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive_fails_once_invalid ... ok -ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive_graceful_fail -ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive_graceful_fail ... ok -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy ... ok -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy_mounted -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy_mounted ... ok -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_mounted_no_files -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_mounted_no_files ... ok -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_files -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_files ... ok -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_vmedia -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_vmedia ... ok -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_vmedia_found_not_booted_from_vmedia -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_vmedia_found_not_booted_from_vmedia ... ok -ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_ok -ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_ok ... ok -ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_retries -ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_retries ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_no_loader -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_no_loader ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_preserve_failure -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_preserve_failure ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_preserve_failure2 -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_preserve_failure2 ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_umount_fails -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_umount_fails ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_empty -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_empty ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_not_bootable -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_not_bootable ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_uefi_mode -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_uefi_mode ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_find_partition -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_find_partition ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_given_partition -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_given_partition ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_with_entry_removal -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_with_entry_removal ... ok - WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_with_entry_removal_lenovo -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_with_entry_removal_lenovo ... ok - WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. - WARNING [ironic_python_agent.extensions.image] efibootmgr is not available in the ramdisk - ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error - ERROR [root] Command failed: install_bootloader, error: -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/image.py", line 721, in install_bootloader - _install_grub2(device, - ~~~~~~~~~~~~~~^^^^^^^^ - root_uuid=root_uuid, - ^^^^^^^^^^^^^^^^^^^^ - efi_system_part_uuid=efi_system_part_uuid, - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - prep_boot_part_uuid=prep_boot_part_uuid, - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - target_boot_mode=target_boot_mode) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/image.py", line 167, in _install_grub2 - root_partition = partition_utils.get_partition(device, uuid=root_uuid) - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/partition_utils.py", line 615, in get_partition - ipa_utils.rescan_device(device) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/utils.py", line 921, in rescan_device - execute('partx', '-av', device, attempts=3, delay_on_retry=True) - ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/utils.py", line 77, in execute - return ironic_utils.execute(*cmd, **kwargs) - ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^ - File "", line 3, in do_not_call - File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__ - return self._mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call - raise effect -FileNotFoundError -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test_install_bootloader_failure -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test_install_bootloader_failure ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNics.test_nvidia_nics -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNics.test_nvidia_nics ... ok -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test__wait_for_interface -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test__wait_for_interface ... ok -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test__wait_for_interface_expired -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test__wait_for_interface_expired ... ok - ERROR [root] Command failed: foo_command, error: command execution failed -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_agent.py", line 44, in foo_execute - raise EXPECTED_ERROR -RuntimeError: command execution failed -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_async_command_failure -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_async_command_failure ... ok -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_async_command_success -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_async_command_success ... ok -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid ... ok -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid_invalid_node -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid_invalid_node ... ok -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid_unassociated -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid_unassociated ... ok -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_indexerror -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_indexerror ... ok -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv4 -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv4 ... ok -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv6 -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv6 ... ok -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv6_linklocal -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv6_linklocal ... ok -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_status -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_status ... ok - ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 -Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve - return _proxy.query(name, rdtype, raise_on_no_answer=raises, - ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - use_network=use_network) - ^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query - step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) - ^^^^^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver - self.clear() - ~~~~~~~~~~^^ - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear - self._resolver = dns.resolver.Resolver(filename=self._filename) - ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ - self.read_resolv_conf(filename) - ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf - raise NoResolverConfiguration("no nameservers") -dns.resolver.NoResolverConfiguration: no nameservers - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 199, in _new_conn - sock = connection.create_connection( - (self._dns_host, self.port), - ...<2 lines>... - socket_options=self.socket_options, - ) - File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection - for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): - ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo - qname, addrs = _getaddrinfo_lookup(host, family, flags) - ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup - raise err - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup - answer = resolve(host, qfamily, False, use_network=use_network) - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve - _raise_new_error(EAI_NODATA_ERROR) - ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error - raise error_instance.__class__(*error_instance.args) -socket.gaierror: [Errno -2] Name or service not known - -The above exception was the direct cause of the following exception: - -Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 789, in urlopen - response = self._make_request( - conn, - ...<10 lines>... - **response_kw, - ) - File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 490, in _make_request - raise new_e - File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 466, in _make_request - self._validate_conn(conn) - ~~~~~~~~~~~~~~~~~~~^^^^^^ - File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1095, in _validate_conn - conn.connect() - ~~~~~~~~~~~~^^ - File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 693, in connect - self.sock = sock = self._new_conn() - ~~~~~~~~~~~~~~^^ - File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 206, in _new_conn - raise NameResolutionError(self.host, self, e) from e -urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) - -The above exception was the direct cause of the following exception: - -Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send - resp = conn.urlopen( - method=request.method, - ...<9 lines>... - chunked=chunked, - ) - File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 843, in urlopen - retries = retries.increment( - method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] - ) - File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment - raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version - response = self._request('GET', '/') - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 90, in _request - resp = self.session.request(method, - request_url, - ...<4 lines>... - timeout=CONF.http_request_timeout, - **kwargs) - File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request - resp = self.send(prep, **send_kwargs) - File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send - r = adapter.send(request, **kwargs) - File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send - raise ConnectionError(e, request=request) -requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) - WARNING [ironic_python_agent.agent] Ironic does not support automated TLS -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run ... ok - ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 -Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve - return _proxy.query(name, rdtype, raise_on_no_answer=raises, - ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - use_network=use_network) - ^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query - step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) - ^^^^^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver - self.clear() - ~~~~~~~~~~^^ - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear - self._resolver = dns.resolver.Resolver(filename=self._filename) - ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ - self.read_resolv_conf(filename) - ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf - raise NoResolverConfiguration("no nameservers") -dns.resolver.NoResolverConfiguration: no nameservers - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 199, in _new_conn - sock = connection.create_connection( - (self._dns_host, self.port), - ...<2 lines>... - socket_options=self.socket_options, - ) - File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection - for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): - ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo - qname, addrs = _getaddrinfo_lookup(host, family, flags) - ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup - raise err - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup - answer = resolve(host, qfamily, False, use_network=use_network) - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve - _raise_new_error(EAI_NODATA_ERROR) - ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error - raise error_instance.__class__(*error_instance.args) -socket.gaierror: [Errno -2] Name or service not known - -The above exception was the direct cause of the following exception: - -Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 789, in urlopen - response = self._make_request( - conn, - ...<10 lines>... - **response_kw, - ) - File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 490, in _make_request - raise new_e - File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 466, in _make_request - self._validate_conn(conn) - ~~~~~~~~~~~~~~~~~~~^^^^^^ - File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1095, in _validate_conn - conn.connect() - ~~~~~~~~~~~~^^ - File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 693, in connect - self.sock = sock = self._new_conn() - ~~~~~~~~~~~~~~^^ - File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 206, in _new_conn - raise NameResolutionError(self.host, self, e) from e -urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) - -The above exception was the direct cause of the following exception: - -Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send - resp = conn.urlopen( - method=request.method, - ...<9 lines>... - chunked=chunked, - ) - File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 843, in urlopen - retries = retries.increment( - method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] - ) - File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment - raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version - response = self._request('GET', '/') - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 90, in _request - resp = self.session.request(method, - request_url, - ...<4 lines>... - timeout=CONF.http_request_timeout, - **kwargs) - File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request - resp = self.send(prep, **send_kwargs) - File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send - r = adapter.send(request, **kwargs) - File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send - raise ConnectionError(e, request=request) -requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) - WARNING [ironic_python_agent.agent] Ironic does not support automated TLS -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_agent_token -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_agent_token ... ok - ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 -Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve - return _proxy.query(name, rdtype, raise_on_no_answer=raises, - ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - use_network=use_network) - ^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query - step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) - ^^^^^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver - self.clear() - ~~~~~~~~~~^^ - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear - self._resolver = dns.resolver.Resolver(filename=self._filename) - ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ - self.read_resolv_conf(filename) - ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf - raise NoResolverConfiguration("no nameservers") -dns.resolver.NoResolverConfiguration: no nameservers - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 199, in _new_conn - sock = connection.create_connection( - (self._dns_host, self.port), - ...<2 lines>... - socket_options=self.socket_options, - ) - File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection - for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): - ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo - qname, addrs = _getaddrinfo_lookup(host, family, flags) - ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup - raise err - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup - answer = resolve(host, qfamily, False, use_network=use_network) - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve - _raise_new_error(EAI_NODATA_ERROR) - ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error - raise error_instance.__class__(*error_instance.args) -socket.gaierror: [Errno -2] Name or service not known - -The above exception was the direct cause of the following exception: - -Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 789, in urlopen - response = self._make_request( - conn, - ...<10 lines>... - **response_kw, - ) - File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 490, in _make_request - raise new_e - File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 466, in _make_request - self._validate_conn(conn) - ~~~~~~~~~~~~~~~~~~~^^^^^^ - File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1095, in _validate_conn - conn.connect() - ~~~~~~~~~~~~^^ - File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 693, in connect - self.sock = sock = self._new_conn() - ~~~~~~~~~~~~~~^^ - File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 206, in _new_conn - raise NameResolutionError(self.host, self, e) from e -urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) - -The above exception was the direct cause of the following exception: - -Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send - resp = conn.urlopen( - method=request.method, - ...<9 lines>... - chunked=chunked, - ) - File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 843, in urlopen - retries = retries.increment( - method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] - ) - File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment - raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version - response = self._request('GET', '/') - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 90, in _request - resp = self.session.request(method, - request_url, - ...<4 lines>... - timeout=CONF.http_request_timeout, - **kwargs) - File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request - resp = self.send(prep, **send_kwargs) - File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send - r = adapter.send(request, **kwargs) - File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send - raise ConnectionError(e, request=request) -requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) - WARNING [ironic_python_agent.agent] Ironic does not support automated TLS -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_listen_host_port -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_listen_host_port ... ok - ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 -Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve - return _proxy.query(name, rdtype, raise_on_no_answer=raises, - ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - use_network=use_network) - ^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query - step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) - ^^^^^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver - self.clear() - ~~~~~~~~~~^^ - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear - self._resolver = dns.resolver.Resolver(filename=self._filename) - ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ - self.read_resolv_conf(filename) - ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf - raise NoResolverConfiguration("no nameservers") -dns.resolver.NoResolverConfiguration: no nameservers - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 199, in _new_conn - sock = connection.create_connection( - (self._dns_host, self.port), - ...<2 lines>... - socket_options=self.socket_options, - ) - File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection - for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): - ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo - qname, addrs = _getaddrinfo_lookup(host, family, flags) - ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup - raise err - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup - answer = resolve(host, qfamily, False, use_network=use_network) - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve - _raise_new_error(EAI_NODATA_ERROR) - ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error - raise error_instance.__class__(*error_instance.args) -socket.gaierror: [Errno -2] Name or service not known - -The above exception was the direct cause of the following exception: - -Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 789, in urlopen - response = self._make_request( - conn, - ...<10 lines>... - **response_kw, - ) - File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 490, in _make_request - raise new_e - File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 466, in _make_request - self._validate_conn(conn) - ~~~~~~~~~~~~~~~~~~~^^^^^^ - File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1095, in _validate_conn - conn.connect() - ~~~~~~~~~~~~^^ - File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 693, in connect - self.sock = sock = self._new_conn() - ~~~~~~~~~~~~~~^^ - File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 206, in _new_conn - raise NameResolutionError(self.host, self, e) from e -urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) - -The above exception was the direct cause of the following exception: - -Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send - resp = conn.urlopen( - method=request.method, - ...<9 lines>... - chunked=chunked, - ) - File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 843, in urlopen - retries = retries.increment( - method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] - ) - File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment - raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version - response = self._request('GET', '/') - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 90, in _request - resp = self.session.request(method, - request_url, - ...<4 lines>... - timeout=CONF.http_request_timeout, - **kwargs) - File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request - resp = self.send(prep, **send_kwargs) - File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send - r = adapter.send(request, **kwargs) - File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send - raise ConnectionError(e, request=request) -requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) - WARNING [ironic_python_agent.agent] Ironic does not support automated TLS -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_raise_keyboard_interrupt -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_raise_keyboard_interrupt ... ok - WARNING [root] Can't find field vendor for device lo in device class net +ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_no_numa_dirs +ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_no_numa_dirs ... ok +ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_unknown_fields +ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_unknown_fields ... ok +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorsTargeted.test_vhd_table_over_limit +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorsTargeted.test_vhd_table_over_limit ... ok + ERROR [ironic_python_agent.netutils] Failed to open all RawPromiscuousSockets, attempting to close any opened sockets. + WARNING [root] Cannot find detailed information about interface eth0 ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve @@ -6264,7 +4754,7 @@ ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e -urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) +urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: @@ -6282,7 +4772,7 @@ File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) +urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: @@ -6301,21 +4791,194 @@ r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) -requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) +requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_not_bootable +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_not_bootable ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_invalid +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_invalid ... ok +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_invalid_int +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_invalid_int ... ok +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets_bind_fail +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets_bind_fail ... ok +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorsTargeted.test_vhd_table_under_limit +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorsTargeted.test_vhd_table_under_limit ... ok +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_disabled +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_disabled ... ok ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_inspection ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_inspection ... ok + WARNING [root] Mismatched hardware managers versions. Agent version: {'specific': '1'}, node version: {'not_specific': '1'} +ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_success +ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_success ... ok +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_ok +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_ok ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_uefi_mode +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_uefi_mode ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid ... ok +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_flags +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_flags ... ok +ironic_python_agent.tests.unit.test_hardware.TestVersions.test_check_versions +ironic_python_agent.tests.unit.test_hardware.TestVersions.test_check_versions ... ok +ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_all +ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_all ... ok +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets_exception +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets_exception ... ok +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_flags_disabled +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_flags_disabled ... ok + WARNING [ironic_python_agent.extensions.standby] poweroff command failed with error Unexpected error while running command. +Command: None +Exit code: - +Stdout: '' +Stderr: None, falling back to sysrq-trigger +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_just_fails +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_just_fails ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_poweroff_sysrq +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_poweroff_sysrq ... ok +ironic_python_agent.tests.unit.test_hardware.TestVersions.test_get_current_versions +ironic_python_agent.tests.unit.test_hardware.TestVersions.test_get_current_versions ... ok + WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_just_fails_disabled +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_just_fails_disabled ... ok +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_wrap_ipv6 +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_wrap_ipv6 ... ok +ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_boot_only +ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_boot_only ... ok +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries ... ok + WARNING [ironic_python_agent.extensions.standby] reboot command has been ignored, falling back to sysrq-trigger +ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test +ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test ... ok +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_wrap_ipv6_with_ipv4 +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_wrap_ipv6_with_ipv4 ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_reboot_sysrq +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_reboot_sysrq ... ok +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_tls_utils.py:57: CryptographyDeprecationWarning: Properties that return a naïve datetime object have been deprecated. Please switch to not_valid_before_utc. + self.assertLess(cert.not_valid_before, +/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_tls_utils.py:59: CryptographyDeprecationWarning: Properties that return a naïve datetime object have been deprecated. Please switch to not_valid_after_utc. + self.assertGreater(cert.not_valid_after, + ... ok +ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_disabled +ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_disabled ... ok + WARNING [ironic_python_agent.inspector] failed to get system journal +ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test__generate +ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test__generate ... ok ERROR [ironic_lib.exception] Exception in string format operation (arguments ) Traceback (most recent call last): File "/usr/lib/python3/dist-packages/ironic_lib/exception.py", line 134, in __init__ message = self._msg_fmt % kwargs ~~~~~~~~~~~~~~^~~~~~~~ KeyError: 'service' - WARNING [ironic_python_agent.agent] Could not get baremetal endpoint from mDNS, will not heartbeat +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error_disabled +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error_disabled WARNING [ironic_python_agent.agent] Could not get baremetal endpoint from mDNS, will not heartbeat + ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_find_partition +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_find_partition ... ok +ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_ok +ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_ok ... ok +ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test_fail +ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test_fail ... ok +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_ok_with_ironic_url +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_ok_with_ironic_url ... ok +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails ... ok WARNING [root] Can't find field vendor for device lo in device class net WARNING [ironic_python_agent.agent] Ironic does not support automated TLS +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails_disabled +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails_disabled ... ok +ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test_generate +ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test_generate ... ok ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_inspection_without_apiurl ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_inspection_without_apiurl ... ok + WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. +ironic-python-agent: Excluding device sda1 from virtual mediaconsideration as it is a partition. +ironic-python-agent: Found possible vmedia candidate /dev/sda2, however the device failed vmedia validity checking. +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_already_set +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_already_set ... ok +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_disabled +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_disabled ... ok +ironic-python-agent: Was unable to execute the lsblk command. Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version + response = self._request('GET', '/') + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 90, in _request + resp = self.session.request(method, + request_url, + ...<4 lines>... + timeout=CONF.http_request_timeout, + **kwargs) + File "", line 3, in request + File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__ + return self._mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call + raise effect +Exception: Boom + +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_given_partition +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_given_partition ... ok +POST: /v1/commands {'name': 'do_things', 'params': []} +GOT: +POST: /v1/commands {'name': 'do_things', 'params': {'key': 'value'}} +GOT: +POST: /v1/commands?wait=false {'name': 'do_things', 'params': {'key': 'value'}} +GOT: +POST: /v1/commands?wait=true {'name': 'do_things', 'params': {'key': 'value'}} +GOT: +POST: /v1/commands {} +GOT: +POST: /v1/commands?wait=false?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 {'name': 'do_things', 'params': {'key': 'value', 'wait': False, 'agent_token': '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789'}} +GOT: +POST: /v1/commands?wait=false?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 {'name': 'do_things', 'params': {'key': 'value', 'wait': False, 'agent_token': '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789'}} +GOT: +GET: /v1/status None +GOT: +GET: /v1/commands/abc123 None +GOT: +GET: /v1/commands None +GOT: +GET: /v1/foo None +GOT: +GET: / None +GOT: +GET: /v1 None +GOT: +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_exceeds_2TB +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_exceeds_2TB ... WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. +ok +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels_handles_exec_error +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels_handles_exec_error ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_error +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_error ... ok +ironic_python_agent.tests.unit.test_multi_hardware.TestNoHardwareManagerLoading.test_no_managers_found +ironic_python_agent.tests.unit.test_multi_hardware.TestNoHardwareManagerLoading.test_no_managers_found ... ok +ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_doesnt_exist_disabled +ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_doesnt_exist_disabled ... ok +ironic-python-agent: Did not identify any virtual media candidates devices. +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_fresh +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_fresh ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_with_entry_removal +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_with_entry_removal ... ok +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels_not_found +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels_not_found ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_set_via_conf +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_set_via_conf ... ok +ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_disabled +ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_disabled ... ok ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve @@ -6387,7 +5050,7 @@ ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e -urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) +urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: @@ -6405,7 +5068,7 @@ File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) +urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: @@ -6424,12 +5087,141 @@ r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) -requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) +requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS + WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_exceeds_2TB_nvme +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_exceeds_2TB_nvme ... ok ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_sleep ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_sleep ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup ... ok +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_under_2TB +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_under_2TB ... ok +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_device +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_device ... ok +ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_safe +ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_safe ... ok + WARNING [ironic_python_agent.ironic_api_client] Got invalid node data in response to query for node with addresses '00:0c:29:8c:11:b1,00:0c:29:8c:11:b2' from http://agent-api.ironic.example.org: {'node_node': 'also_not_node'} +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_with_entry_removal_lenovo +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_with_entry_removal_lenovo ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_body +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_body ... ok + WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. + WARNING [ironic_python_agent.extensions.image] efibootmgr is not available in the ramdisk + ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error + WARNING [ironic_python_agent.ironic_api_client] Failed looking up node with addresses '00:0c:29:8c:11:b1,00:0c:29:8c:11:b2' at http://agent-api.ironic.example.org. Check if inspection has completed? Error 400: {"node": {"uuid": "deadbeef-dabb-ad00-b105-f00d00bab10c"}} + ERROR [root] Command failed: install_bootloader, error: +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/image.py", line 721, in install_bootloader + _install_grub2(device, + ~~~~~~~~~~~~~~^^^^^^^^ + root_uuid=root_uuid, + ^^^^^^^^^^^^^^^^^^^^ + efi_system_part_uuid=efi_system_part_uuid, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + prep_boot_part_uuid=prep_boot_part_uuid, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + target_boot_mode=target_boot_mode) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/image.py", line 167, in _install_grub2 + root_partition = partition_utils.get_partition(device, uuid=root_uuid) + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/partition_utils.py", line 615, in get_partition + ipa_utils.rescan_device(device) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/utils.py", line 921, in rescan_device + execute('partx', '-av', device, attempts=3, delay_on_retry=True) + ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/utils.py", line 77, in execute + return ironic_utils.execute(*cmd, **kwargs) + ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^ + File "", line 3, in do_not_call + File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__ + return self._mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call + raise effect +FileNotFoundError +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_code +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_code ... ok +ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_unsafe +ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_unsafe ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test_install_bootloader_failure +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test_install_bootloader_failure ... ok + WARNING [ironic_python_agent.ironic_api_client] Got invalid node data in response to query for node with addresses '00:0c:29:8c:11:b1,00:0c:29:8c:11:b2' from http://agent-api.ironic.example.org: {'heartbeat_timeout': 300} +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_under_2TB_nvme +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_under_2TB_nvme ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_data +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_data ... ok +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_chronyd +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_chronyd ... ok + WARNING [ironic_python_agent.ironic_api_client] Got invalid heartbeat from the API: {'node': {'uuid': 'deadbeef-dabb-ad00-b105-f00d00bab10c'}} +ironic_python_agent.tests.unit.test_base.BlockExecuteTestCase.test_can_mock_execute +ironic_python_agent.tests.unit.test_base.BlockExecuteTestCase.test_can_mock_execute ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_no_heartbeat_timeout +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_no_heartbeat_timeout ... ok +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_by_device +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_by_device ... ok +ironic_python_agent.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute +ironic_python_agent.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute ... ok +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_none +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_none ... ok +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_conf_drive_error_counting +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_conf_drive_error_counting ... ok +ironic_python_agent.tests.unit.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_exc +ironic_python_agent.tests.unit.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_exc ... ok +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_by_device_device_invalid +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_by_device_device_invalid ... ok +ironic_python_agent.tests.unit.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_fix_not_required +ironic_python_agent.tests.unit.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_fix_not_required ... ok +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_ntpdate +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_ntpdate ... ok +ironic_python_agent.tests.unit.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_fix_required +ironic_python_agent.tests.unit.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_fix_required ... ok ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_ssl ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_ssl ... ok +ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_gpt +ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_gpt ... ok +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_conf_drive_sz_exceed +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_conf_drive_sz_exceed ... ok +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_cannot_find_dev +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_cannot_find_dev ... ok +ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_msdos +ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_msdos WARNING [ironic_python_agent.disk_utils] Unable to get partition table type for device hello + ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_node_locked +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_node_locked ... ok +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_chrony +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_chrony ... ok +ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_unknown +ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_unknown ... ok +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file ERROR [ironic_python_agent.utils] Failed to sync time using chrony to ntp server: 192.168.1.1: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: 'time verboten' + ... ok +ironic_python_agent.tests.unit.test_encoding.TestSerializable.test_baseclass_serialize +ironic_python_agent.tests.unit.test_encoding.TestSerializable.test_baseclass_serialize ... ok +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_chrony_failure +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_chrony_failure ... ok +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_exists +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_exists ... ok +ironic_python_agent.tests.unit.test_encoding.TestSerializable.test_childclass_serialize +ironic_python_agent.tests.unit.test_encoding.TestSerializable.test_childclass_serialize ... ok + ERROR [ironic_python_agent.utils] Unable to sync clock, available methods of 'ntpdate' or 'chrony' not found. +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_none +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_none ... ok +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file_fail +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file_fail ... ok ERROR [ironic_lib.exception] Exception in string format operation (arguments ) Traceback (most recent call last): File "/usr/lib/python3/dist-packages/ironic_lib/exception.py", line 134, in __init__ @@ -6437,11 +5229,56 @@ ~~~~~~~~~~~~~~^~~~~~~~ KeyError: 'service' WARNING [ironic_python_agent.agent] Could not get baremetal endpoint from mDNS, will not heartbeat +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_from_cache +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_from_cache ... ok +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_gpt +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_gpt ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_transient_exceptions +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_transient_exceptions ... ok WARNING [root] Can't find field vendor for device lo in device class net ERROR [ironic_python_agent.agent] Neither ipa-api-url nor inspection_callback_urlfound, please check your pxe append parameters. WARNING [ironic_python_agent.agent] Ironic does not support automated TLS ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_without_inspection_and_apiurl ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_without_inspection_and_apiurl ... ok +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp ... ok +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_kernel_cmdline +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_kernel_cmdline ... ok + ERROR [ironic_python_agent.utils] Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_gpt_use_vfat +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_gpt_use_vfat ... ok +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp_raises_exception +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp_raises_exception ... ok + ERROR [ironic_python_agent.utils] foo + ERROR [ironic_python_agent.utils] bar + ERROR [ironic_python_agent.utils] baz +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_vmedia +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_vmedia ... ok + ERROR [ironic_python_agent.utils] foo +ironic_python_agent.tests.unit.test_utils.TestFailures.test_get_error +ironic_python_agent.tests.unit.test_utils.TestFailures.test_get_error ... ok +ironic_python_agent.tests.unit.test_utils.TestFailures.test_raise +ironic_python_agent.tests.unit.test_utils.TestFailures.test_raise ... ok +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp_server_is_none +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp_server_is_none ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_fallback_bios +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_fallback_bios ... ok +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_gpt_with_fallback +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_gpt_with_fallback ... ok +ironic_python_agent.tests.unit.test_inspector.TestMisc.test_default_collector_loadable +ironic_python_agent.tests.unit.test_inspector.TestMisc.test_default_collector_loadable ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_fallback_uefi +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_fallback_uefi ... ok +ironic_python_agent.tests.unit.test_inspector.TestMisc.test_raise_on_wrong_collector +ironic_python_agent.tests.unit.test_inspector.TestMisc.test_raise_on_wrong_collector ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_driver_internal_info +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_driver_internal_info ... ok +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_num_parts_exceed +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_num_parts_exceed ... ok ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve @@ -6513,7 +5350,7 @@ ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e -urllib3.exceptions.NameResolutionError: : Failed to resolve 'example.com' ([Errno -2] Name or service not known) +urllib3.exceptions.NameResolutionError: : Failed to resolve 'example.com' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: @@ -6531,7 +5368,7 @@ File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='example.com', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'example.com' ([Errno -2] Name or service not known)")) +urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='example.com', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'example.com' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: @@ -6550,10 +5387,46 @@ r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) -requests.exceptions.ConnectionError: HTTPSConnectionPool(host='example.com', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'example.com' ([Errno -2] Name or service not known)")) +requests.exceptions.ConnectionError: HTTPSConnectionPool(host='example.com', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'example.com' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_url_from_mdns_by_default ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_url_from_mdns_by_default ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_dict +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_dict ... ok +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_cores_info +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_cores_info ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_json_str +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_json_str ... ok + ERROR [root] Failed to create config drive on disk /dev/fake for node 12345678-1234-1234-1234-1234567890abcxyz. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_part_create_exc +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_part_create_exc ... ok +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_memory_info +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_memory_info ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_str +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_str ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_implicit_with_secure_boot +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_implicit_with_secure_boot ... ok +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_nics_info +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_nics_info ... ok +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_part_create_fail +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_part_create_fail ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_invalid_cap +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_invalid_cap ... ok +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_thread_dirs +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_thread_dirs ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_override_with_instance_info +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_override_with_instance_info ... ok +ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test +ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test ... ok + ERROR [root] Finding the partition with UUID 11111111-2222-3333-4444-555555555555 on device /dev/fake failed with Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve @@ -6625,7 +5498,7 @@ ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e -urllib3.exceptions.NameResolutionError: : Failed to resolve 'example.com' ([Errno -2] Name or service not known) +urllib3.exceptions.NameResolutionError: : Failed to resolve 'example.com' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: @@ -6643,7 +5516,7 @@ File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='example.com', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'example.com' ([Errno -2] Name or service not known)")) +urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='example.com', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'example.com' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: @@ -6662,60 +5535,443 @@ r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) -requests.exceptions.ConnectionError: HTTPSConnectionPool(host='example.com', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'example.com' ([Errno -2] Name or service not known)")) +requests.exceptions.ConnectionError: HTTPSConnectionPool(host='example.com', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'example.com' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS +ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_command_fail +ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_command_fail ... ok ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_url_from_mdns_explicitly ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_url_from_mdns_explicitly ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders -ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders_no_csv -ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders_no_csv ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_windows_efi_bootloaders -ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_windows_efi_bootloaders ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__no_efi_bootloaders -ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__no_efi_bootloaders ... ok -ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_encoder -ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_encoder ... ok -ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_ironic_lib -ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_ironic_lib ... ok - ERROR [ironic_python_agent.inspector] inspector url error 400: , proceeding with lookup +ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_journald +ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_journald ... ok +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_cores_info +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_cores_info ... ok +ironic_python_agent.tests.unit.test_disk_utils.PopulateImageTestCase.test_populate_qcow2_image +ironic_python_agent.tests.unit.test_disk_utils.PopulateImageTestCase.test_populate_qcow2_image ... ok +ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_fallback_partuuid +ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_fallback_partuuid ... ok +ironic_python_agent.tests.unit.test_disk_utils.PopulateImageTestCase.test_populate_raw_image +ironic_python_agent.tests.unit.test_disk_utils.PopulateImageTestCase.test_populate_raw_image ... ok +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_memory_info +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_memory_info ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_journald_with_logfile +ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_journald_with_logfile ... ok +ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_label +ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_label ... ok + WARNING [ironic_python_agent.dmi_inspector] Failed to parse Handle type in dmi output: list index out of range +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_bad_data +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_bad_data ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_non_journald +ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_non_journald ... ok +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_nics_info +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_nics_info ... ok + ERROR [root] No partition with UUID 11111111-2222-3333-4444-555555555555 found on device /dev/fake + ERROR [ironic_python_agent.utils] failed to run dmidecode: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_failure +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_failure ... ok +ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_no_device_found +ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_no_device_found ... ok +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_non_journald_with_logfile +ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_non_journald_with_logfile ... ok +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_ok +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_ok ... ok +ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_partuuid +ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_partuuid ... ok +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format_cores_info +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format_cores_info ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_device_extractor +ironic_python_agent.tests.unit.test_utils.TestUtils.test_device_extractor ... ok +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_bios +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_bios ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_unknown_exception +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_unknown_exception ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_dict +ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_dict ... ok +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format_memory_info +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format_memory_info ... ok +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_cpu +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_cpu ... ok +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_valid_format +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_valid_format ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_json_string +ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_json_string ... ok +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_memory +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_memory ... ok + WARNING [ironic_python_agent.utils] Ignoring malformed capability 'test:world:2'. Format should be 'key:val'. + WARNING [ironic_python_agent.utils] Ignoring malformed capability 'badformat'. Format should be 'key:val'. +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_old_format_caps +ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_old_format_caps ... ok +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_no_nics_dir +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_no_nics_dir ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_unknown_exception_fallback +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_unknown_exception_fallback ... ok + WARNING [ironic_python_agent.dmi_inspector] Failed to process memory dmi data: 'Handle' +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data_error_handle +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data_error_handle ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_command_output +ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_command_output ... ok + WARNING [ironic_python_agent.dmi_inspector] Failed to process memory dmi data: 'Number Of Devices' +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_with_uuid +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_with_uuid ... ok +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data_error_number_of_devices +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data_error_number_of_devices ... ok +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_memory_unit +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_memory_unit ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output +ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_ipv4 +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_ipv4 ... ok +ironic_python_agent.tests.unit.test_errors.TestErrors.test_RESTError +ironic_python_agent.tests.unit.test_errors.TestErrors.test_RESTError ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_fail +ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_fail ... ok +ironic_python_agent.tests.unit.test_errors.TestErrors.test_RESTError_details +ironic_python_agent.tests.unit.test_errors.TestErrors.test_RESTError_details ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_ipv6 +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_ipv6 ... ok +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_numa_format_memory_info +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_numa_format_memory_info ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_with_lines +ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_with_lines ... ok +ironic_python_agent.tests.unit.test_errors.TestErrors.test_error_classes +ironic_python_agent.tests.unit.test_errors.TestErrors.test_error_classes ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_protocol +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_protocol ... ok +ironic_python_agent.tests.unit.test_errors.TestErrors.test_error_string +ironic_python_agent.tests.unit.test_errors.TestErrors.test_error_string ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_409_status_code +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_409_status_code ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_with_units +ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_with_units ... ok +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_threaddir_format_cores_info +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_threaddir_format_cores_info ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_agent_version_unsupported +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_agent_version_unsupported ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_ssl_client_options +ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_ssl_client_options ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_1 +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_1 ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_disks_too_small +ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_disks_too_small ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_2 +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_2 ... ok +ironic-python-agent: line 1. +ironic-python-agent: line 2 message +ironic_python_agent.tests.unit.test_utils.TestCheckEarlyLogging.test_early_logging_goes_to_logger +ironic_python_agent.tests.unit.test_utils.TestCheckEarlyLogging.test_early_logging_goes_to_logger ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_primary_sort +ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_primary_sort ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_3 +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_3 ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_invalid_status_code +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_invalid_status_code ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_secondary_sort +ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_secondary_sort ... ok +ironic_python_agent.tests.unit.test_utils.TestUnmountOfConfig.test__unmount_any_config_drives +ironic_python_agent.tests.unit.test_utils.TestUnmountOfConfig.test__unmount_any_config_drives ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_connection_error +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_connection_error ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_gzip_and_b64encode +ironic_python_agent.tests.unit.test_utils.TestUtils.test_gzip_and_b64encode ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_exception +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_exception ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_is_journalctl_present +ironic_python_agent.tests.unit.test_utils.TestUtils.test_is_journalctl_present ... ok + WARNING [ironic_python_agent.ironic_api_client] Connection error when accessing 2001:db8::1/v1/heartbeat/meow, trying the next URL. Error: +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_several_urls +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_several_urls ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_is_journalctl_present_false +ironic_python_agent.tests.unit.test_utils.TestUtils.test_is_journalctl_present_false ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_node +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_node ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_secure_boot_overriden_with_instance_info_caps +ironic_python_agent.tests.unit.test_utils.TestUtils.test_secure_boot_overriden_with_instance_info_caps ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_node_retries +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_node_retries ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type +ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_disk_label_ignored_with_uefi +ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_disk_label_ignored_with_uefi ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_gpt +ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_gpt ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_with_disk_label +ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_with_disk_label ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_with_instance_disk_label +ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_with_instance_disk_label ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_timeout +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_timeout ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_ip6 +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_ip6 ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_token +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_token ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_verify_ca +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_verify_ca ... ok +ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run +ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run ... ok +ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_retries +ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_retries ... ok + ERROR [ironic_python_agent.extensions.standby] Timeout reached waiting for a chunk of data from a remote server. + WARNING [ironic_python_agent.extensions.standby] Image download failed, 0 of 2: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Error downloading image: Download of image fake_id failed: Timed out reading next chunk from webserver +/bin/sh: line 1: mkisofs: command not found +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_bad_iso_qcow2 +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_bad_iso_qcow2 ... skipped 'mkisofs not installed' +ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run_no_tls +ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run_no_tls ... ok +ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition +ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition ... ok +ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_not_found +ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_not_found ... ok +ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_only_boot_flag_gpt +ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_only_boot_flag_gpt ... ok +ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_only_boot_flag_mbr +ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_only_boot_flag_mbr ... ok + WARNING [root] The root device was not detected in 27 seconds +ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout +ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout ... ok + WARNING [root] The root device was not detected in 45 seconds +ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_configured +ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_configured ... ok + WARNING [root] The root device was not detected in 27 seconds +ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_unconfigured +ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_unconfigured ... ok +ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_no_wait_for_disks +ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_no_wait_for_disks ... ok +ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks +ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks ... ok +ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_configured +ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_configured ... ok +ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_nonconfigured +ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_nonconfigured ... ok +ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_benchmarks +ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_benchmarks ... ok + ERROR [ironic_python_agent.utils] failed to run hardware-detect utility: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None +ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_execute_failed +ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_execute_failed ... ok +ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_no_benchmarks +ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_no_benchmarks ... ok + ERROR [ironic_python_agent.utils] JSON returned from hardware-detect cannot be decoded: Expecting value: line 1 column 1 (char 0) +ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_parsing_failed +ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_parsing_failed ... ok +ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_correct_mac +ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_correct_mac ... ok +ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_pxelinux_mac +ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_pxelinux_mac ... ok + ERROR [ironic_python_agent.extensions.standby] Timeout reached waiting for a chunk of data from a remote server. + WARNING [ironic_python_agent.extensions.standby] Image download failed, 1 of 2: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Error downloading image: Download of image fake_id failed: Timed out reading next chunk from webserver +ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive +ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive ... ok +ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_bad_status_code +ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_bad_status_code ... ok +ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_bad_url +ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_bad_url ... ok +ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_base64_error +ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_base64_error ... ok +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_from_file_reads_minimum +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_from_file_reads_minimum ... ok +ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_base64_string +ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_base64_string ... ok +/bin/sh: line 1: mkisofs: command not found +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_iso_9660 +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_iso_9660 ... skipped 'mkisofs not installed' +ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_binary +ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_binary ... ok +/bin/sh: line 1: mkisofs: command not found +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_iso_udf +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_iso_udf ... skipped 'mkisofs not installed' +ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_gzip_error +ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_gzip_error ... ok +ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_insecure +ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_insecure ... ok +ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_ssl +ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_ssl ... ok +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_convert_to_sparse +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_convert_to_sparse ... ok +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_gpt_disk_label +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_gpt_disk_label ... ok +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_configdrive_partition +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_configdrive_partition ... ok +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_ephemeral_partition +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_ephemeral_partition ... ok +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_root_partition +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_root_partition ... ok +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_swap_partition +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_swap_partition ... ok +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_ppc64le_prep_part +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_ppc64le_prep_part ... ok +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_preserve_ephemeral +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_preserve_ephemeral ... ok +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_uefi +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_uefi ... ok +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_without_image +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_without_image ... ok +ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device +ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device ... ok +ironic-python-agent: Device sdh was disqualified as virtual media. Type: other, Transport: usb +ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_other +ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_other ... ok +ironic-python-agent: Excluding device sdh1 from virtual mediaconsideration as it is a partition. +ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_part +ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_part ... ok +ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_rom +ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_rom ... ok +ironic-python-agent: Device sdh was disqualified as virtual media. Type: disk, Transport: sata +ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_sata +ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_sata ... ok +ironic-python-agent: Device sdh was disqualified as virtual media. Type: other, Transport: scsi +ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_scsi +ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_scsi ... ok +ironic-python-agent: Device sdh appears to not qualify as virtual due to the device size. Size: 1610612736000 +ironic-python-agent: Device sdh was disqualified as virtual media. Type: disk, Transport: usb +ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_too_large +ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_too_large ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_1st +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_1st ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_2nd +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_2nd ... ok + ERROR [ironic_python_agent.extensions.standby] Timeout reached waiting for a chunk of data from a remote server. +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_socket_read_timeout +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_socket_read_timeout ... ok + WARNING [ironic_python_agent.extensions.standby] Image download failed, 0 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! + WARNING [ironic_python_agent.extensions.standby] Image download failed, 1 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! + WARNING [ironic_python_agent.extensions.standby] Image download failed, 2 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! + WARNING [ironic_python_agent.extensions.standby] Image download failed, 3 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! + WARNING [ironic_python_agent.extensions.standby] Image download failed, 4 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! + WARNING [ironic_python_agent.extensions.standby] Image download failed, 5 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! + WARNING [ironic_python_agent.extensions.standby] Image download failed, 6 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! + WARNING [ironic_python_agent.extensions.standby] Image download failed, 7 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! + WARNING [ironic_python_agent.extensions.standby] Image download failed, 8 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_write_error +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_write_error ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync ... ok + ERROR [ironic_python_agent.extensions.standby] Flushing file system buffers failed. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync_error +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync_error ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_checksum +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_checksum ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_urls +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_urls ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_invalid_checksum +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_invalid_checksum ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_invalid_urls +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_invalid_urls ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_legacy_md5_checksum +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_legacy_md5_checksum ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_legacy_md5_checksum_enabled +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_legacy_md5_checksum_enabled ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_missing_field +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_missing_field ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_no_hash_algo +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_no_hash_algo ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_no_hash_value +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_no_hash_value ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_sha256 +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_sha256 ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_ignore_none_md5 +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_ignore_none_md5 ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_with_new_hash_fields +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_with_new_hash_fields ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_without_md5 +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_without_md5 ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_url +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_url ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_empty_password +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_empty_password ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_empty_user +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_empty_user ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_none_password +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_none_password ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_none_user +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_none_user ... ok + ERROR [ironic_python_agent.extensions.standby] Unable to verify image fake_id with available checksums. Please make sure the specified 'os_hash_algo' (currently algo-beyond-milky-way) is supported by this ramdisk, or provide a md5 checksum via the 'checksum' field +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_fails_if_unknown_is_used +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_fails_if_unknown_is_used ... ok + ERROR [ironic_python_agent.extensions.standby] Image failed to verify against checksum. location: /foo/bar; image ID: fake_id; image checksum: fake-checksum; verification checksum: invalid-checksum +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure ... ok + ERROR [ironic_python_agent.extensions.standby] Image failed to verify against checksum. location: /foo/bar; image ID: fake_id; image checksum: fake-sha512-value; verification checksum: invalid-checksum +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_with_new_hash_fields +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_with_new_hash_fields ... ok + ERROR [ironic_python_agent.extensions.standby] Unable to verify image fake_id with available checksums. Please make sure the specified 'os_hash_algo' (currently unsupported-algorithm) is supported by this ramdisk, or provide a md5 checksum via the 'checksum' field +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_without_fallback +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_without_fallback ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_with_md5_fallback +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_with_md5_fallback ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_with_new_hash_fields +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_with_new_hash_fields ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_without_md5 +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_without_md5 ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_fails +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_fails ... ok + ERROR [ironic_lib.exception] Exception in string format operation (arguments ) +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/ironic_lib/exception.py", line 134, in __init__ + message = self._msg_fmt % kwargs + ~~~~~~~~~~~~~~^~~~~~~~ +KeyError: 'reason' +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_gpt_fails +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_gpt_fails ... ok + ERROR [ironic_python_agent.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests! +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_exception +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_exception ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_exception_image_mb +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_exception_image_mb ... ok + ERROR [ironic_python_agent.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests! +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid ... ok + ERROR [ironic_python_agent.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests! +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid_uefi +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid_uefi ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map ... ok + ERROR [root] duplicate settings for device ID 1017 +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_duplicate_device_id +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_duplicate_device_id ... ok + ERROR [root] There is no deviceID provided for this settings +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_invalid_firmware_settings_config +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_invalid_firmware_settings_config ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_prepare_nvidia_nic_config +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_prepare_nvidia_nic_config ... ok + WARNING [ironic_python_agent.efi_utils] Invalid sgdisk line: I am a teaport + WARNING [ironic_python_agent.efi_utils] No UUID information provided in sgdisk output for partition 1 on device /dev/fake +ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_broken +ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_broken ... ok +ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_ok +ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_ok ... ok +ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_save_api_client +ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_save_api_client ... ok +ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_update_node_cache +ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_update_node_cache ... ok + ERROR [ironic_python_agent.inspector] inspector url error 400: , proceeding with lookup ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_error ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_error ... ok -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries ... ok -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries_on_50X_error -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries_on_50X_error ... ok -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retry_on_50X_and_succeed -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retry_on_50X_and_succeed ... ok - WARNING [ironic_python_agent.inspector] Connection error when accessing url1, trying the next URL. Error: -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_several_urls -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_several_urls ... ok -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_ok -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_ok ... ok -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_send_failure -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_send_failure ... ok - WARNING [ironic_python_agent.inspector] Connection error when accessing http://url1/v1/continue_inspection, trying the next URL. Error: -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_use_api_url -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_use_api_url ... ok -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_use_several_api_urls -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_use_several_api_urls ... ok -ironic_python_agent.tests.unit.test_inspector.TestMisc.test_default_collector_loadable -ironic_python_agent.tests.unit.test_inspector.TestMisc.test_default_collector_loadable ... ok -ironic_python_agent.tests.unit.test_inspector.TestMisc.test_raise_on_wrong_collector -ironic_python_agent.tests.unit.test_inspector.TestMisc.test_raise_on_wrong_collector ... ok -ironic_python_agent.tests.unit.test_multi_hardware_clean_steps.TestMultipleHardwareManagerCleanSteps.test_clean_step_ordering -ironic_python_agent.tests.unit.test_multi_hardware_clean_steps.TestMultipleHardwareManagerCleanSteps.test_clean_step_ordering ... ok - WARNING [ironic_python_agent.numa_inspector] Failed to get some NUMA information (Error in NUMA node data format: An unexpected error occurred. Please try back later.) -ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_failure -ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_failure ... ok - WARNING [ironic_python_agent.numa_inspector] Failed to get some NUMA information (Error in NUMA node data format: An unexpected error occurred. Please try back later.) -ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_no_nics_dirs -ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_no_nics_dirs ... ok - WARNING [ironic_python_agent.numa_inspector] Failed to get list of NUMA nodes, NUMA node path does not exist: /sys/devices/system/node/ -ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_no_numa_dirs -ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_no_numa_dirs ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_success -ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_success ... ok ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qcow2 ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qcow2 ... ok WARNING [ironic_python_agent.format_inspector] Found unknown feature bit in byte 7: 0b0/0b0 @@ -6724,32 +5980,302 @@ ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qcow2_feature_flag_checks ... ok ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qcow2_invalid ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qcow2_invalid ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_timeout +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_timeout ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_defaults +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_defaults ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_no_defaults +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_no_defaults ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_raise_missing_config +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_raise_missing_config ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_raise_wrong_config +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_raise_wrong_config ... ok + ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_fio +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_fio ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_partner +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_partner ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_role +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_role ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader ... ok + ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. +Command: None +Exit code: 16 +Stdout: 'Connection timeout' +Stderr: None + ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. +Command: None +Exit code: 16 +Stdout: 'Connection timeout' +Stderr: None + ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. +Command: None +Exit code: 16 +Stdout: 'Connection refused' +Stderr: None +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader_loop +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader_loop ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader_w_logfile +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader_w_logfile ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_unknown_role +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_unknown_role ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer_w_logfile +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer_w_logfile ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_default +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_default ... ok + ERROR [ironic_python_agent.burnin] stress-ng (cpu) failed with error Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_no_stress_ng +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_no_stress_ng ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_non_default +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_non_default ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_default +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_default ... ok + ERROR [ironic_python_agent.burnin] stress-ng (vm) failed with error Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_no_stress_ng +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_no_stress_ng ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_non_default +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_non_default ... ok +ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_empty +ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_empty ... ok +ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_fields +ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_fields ... ok +ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_normal +ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_normal ... ok +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available ... ok +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_dev_becomes_avail_busybox +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_dev_becomes_avail_busybox ... ok +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_dev_becomes_avail_psmisc +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_dev_becomes_avail_psmisc ... ok +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_device_in_use_busybox +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_device_in_use_busybox ... ok +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_device_in_use_psmisc +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_device_in_use_psmisc ... ok +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_no_device +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_no_device ... ok + WARNING [ironic_python_agent.disk_utils] Failed to check the device fake-dev with fuser: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: 'fake' + WARNING [ironic_python_agent.disk_utils] Failed to check the device fake-dev with fuser: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: 'fake' +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_no_fuser +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_no_fuser ... ok +ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders +ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders ... ok +ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders_no_csv +ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders_no_csv ... ok +ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_windows_efi_bootloaders +ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_windows_efi_bootloaders ... ok +ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__no_efi_bootloaders +ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__no_efi_bootloaders ... ok +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi ... ok +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi_no_iscsi +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi_no_iscsi ... ok +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__load_ipmi_modules +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__load_ipmi_modules ... ok +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_missing +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_missing ... ok + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda1. Skipping + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sdb. Skipping +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_partuuid_success +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_partuuid_success ... ok +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success ... ok + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sdb. Skipping + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md1. Skipping +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success_raid +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success_raid ... ok +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_wrong_block_type +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_wrong_block_type ... ok +ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_cache_hardware_info +ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_cache_hardware_info ... ok + WARNING [ironic_python_agent.inspector] no suitable root device detected +ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_no_root_disk +ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_no_root_disk ... ok +ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_ok +ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_ok ... ok +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_both_succeed +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_both_succeed ... ok +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_both_succeed +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_both_succeed ... ok +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_generic_method_only +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_generic_method_only ... ok ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qcow2_safety_checks ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qcow2_safety_checks ... ok +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_mainline_fails +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_mainline_fails ... ok ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qed_always_unsafe ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qed_always_unsafe ... ok +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_mainline_only +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_mainline_only ... ok +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_manager_method_not_found +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_manager_method_not_found ... ok + ERROR [root] Unexpected error dispatching unexpected_fail to manager : A problem was encountered +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/hardware.py", line 3468, in dispatch_to_all_managers + response = getattr(manager, method)(*args, **kwargs) + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 32, in wrapper + return fn(self, *args, **kwargs) + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 101, in unexpected_fail + raise RuntimeError('A problem was encountered') +RuntimeError: A problem was encountered +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_method_fails +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_method_fails ... ok +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_generic_method_only +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_generic_method_only ... ok +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_mainline_fails +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_mainline_fails ... ok +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_mainline_method_only +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_mainline_method_only ... ok +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_manager_method_not_found +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_manager_method_not_found ... ok ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vdi ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vdi ... ok ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vdi_invalid ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vdi_invalid ... ok + ERROR [root] Unexpected error dispatching unexpected_fail to manager : A problem was encountered +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/hardware.py", line 3512, in dispatch_to_managers + return getattr(manager, method)(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 32, in wrapper + return fn(self, *args, **kwargs) + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 101, in unexpected_fail + raise RuntimeError('A problem was encountered') +RuntimeError: A problem was encountered +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_method_fails +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_method_fails ... ok +ironic_python_agent.tests.unit.test_partition_utils.RealFilePartitioningTestCase.test_different_sizes +ironic_python_agent.tests.unit.test_partition_utils.RealFilePartitioningTestCase.test_different_sizes ... skipped "parted utility was not found: [Errno 2] No such file or directory: 'parted'" +ironic_python_agent.tests.unit.test_partition_utils.RealFilePartitioningTestCase.test_whole_disk +ironic_python_agent.tests.unit.test_partition_utils.RealFilePartitioningTestCase.test_whole_disk ... skipped "parted utility was not found: [Errno 2] No such file or directory: 'parted'" ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhd ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhd ... ok +ironic_python_agent.tests.unit.test_raid_utils.TestFindESPRAID.test_esp_raid +ironic_python_agent.tests.unit.test_raid_utils.TestFindESPRAID.test_esp_raid ... ok ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhd_invalid ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhd_invalid ... ok +ironic_python_agent.tests.unit.test_raid_utils.TestFindESPRAID.test_no_esp_raid +ironic_python_agent.tests.unit.test_raid_utils.TestFindESPRAID.test_no_esp_raid ... ok +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test__get_actual_component_devices +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test__get_actual_component_devices ... ok +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test__get_actual_component_devices_broken_raid0 +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test__get_actual_component_devices_broken_raid0 ... ok +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device ... ok +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_create_device +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_create_device ... ok + WARNING [ironic_python_agent.raid_utils] Found /dev/sdb1 to be missing from /dev/md0 ... re-adding! +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_read_device +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_read_device ... ok + WARNING [ironic_python_agent.raid_utils] Found /dev/sdb1 to be missing from /dev/md0 ... re-adding! +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_missing_device +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_missing_device ... ok +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_with_volume_name +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_with_volume_name ... ok +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_get_volume_name_of_raid_device +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_get_volume_name_of_raid_device ... ok +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_get_volume_name_of_raid_device_invalid +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_get_volume_name_of_raid_device_invalid ... ok +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_bios_gpt +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_bios_gpt ... ok +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_bios_msdos +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_bios_msdos ... ok +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt ... ok +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt_efi_provided +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt_efi_provided ... ok +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt_esp_not_found +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt_esp_not_found ... ok +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries ... ok ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhdx ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhdx ... ok ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhdx_invalid ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhdx_invalid ... ok +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries_on_50X_error +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries_on_50X_error ... ok ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk ... ok 5+0 records in 5+0 records out -5242880 bytes (5.2 MB, 5.0 MiB) copied, 3.15056 s, 1.7 MB/s +5242880 bytes (5.2 MB, 5.0 MiB) copied, 0.0186626 s, 281 MB/s ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_mem_limit ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_mem_limit ... ok 5+0 records in 5+0 records out -5242880 bytes (5.2 MB, 5.0 MiB) copied, 0.0388411 s, 135 MB/s +5242880 bytes (5.2 MB, 5.0 MiB) copied, 0.0169091 s, 310 MB/s +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retry_on_50X_and_succeed +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retry_on_50X_and_succeed ... ok + WARNING [ironic_python_agent.inspector] Connection error when accessing url1, trying the next URL. Error: +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_several_urls +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_several_urls ... ok +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_ok +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_ok ... ok +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_send_failure +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_send_failure ... ok +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_use_api_url +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_use_api_url ... ok + WARNING [ironic_python_agent.inspector] Connection error when accessing http://url1/v1/continue_inspection, trying the next URL. Error: +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_use_several_api_urls +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_use_several_api_urls ... ok + ERROR [root] Encountered issue attempting to validate the supplied configuration drive. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None + WARNING [ironic_lib.utils] Failed to unlink /tmp/tmpg_sdmz_d/tmpylhhegqy, error: [Errno 21] Is a directory: '/tmp/tmpg_sdmz_d/tmpylhhegqy' +ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_failed +ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_failed ... ok + WARNING [ironic_lib.utils] Failed to unlink /tmp/tmpcmwr49za/tmp66g1sf0q, error: [Errno 21] Is a directory: '/tmp/tmpcmwr49za/tmp66g1sf0q' +ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_work +ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_work ... ok + WARNING [ironic_lib.utils] Failed to unlink /tmp/tmp2bx45q_n/tmp_r4rqc98, error: [Errno 21] Is a directory: '/tmp/tmp2bx45q_n/tmp_r4rqc98' + WARNING [ironic_lib.utils] Failed to unlink /tmp/tmp2bx45q_n/tmpob5qab90, error: [Errno 21] Is a directory: '/tmp/tmp2bx45q_n/tmpob5qab90' +ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive +ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive ... ok + ERROR [root] We were unable to make a new filesystem for the configuration drive. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None + WARNING [ironic_lib.utils] Failed to unlink /tmp/tmpw0pu3yj5/tmpvoj_q1p8, error: [Errno 21] Is a directory: '/tmp/tmpw0pu3yj5/tmpvoj_q1p8' + WARNING [ironic_lib.utils] Failed to unlink /tmp/tmpw0pu3yj5/tmp_7_n0ia8, error: [Errno 21] Is a directory: '/tmp/tmpw0pu3yj5/tmp_7_n0ia8' +ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive_fails_once_invalid +ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive_fails_once_invalid ... ok + WARNING [root] We were unable to examine the configuration drive, bypassing. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None +ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive_graceful_fail +ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive_graceful_fail ... ok +ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute +ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute ... ok ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_mem_limit_stream_optimized ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_mem_limit_stream_optimized ... ok ERROR [ironic_python_agent.format_inspector] Format inspector failed, aborting: Wrong descriptor location @@ -6773,176 +6299,772 @@ ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_invalid_type ... ok ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_stream_optimized ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_stream_optimized ... ok - WARNING [ironic_python_agent.inspector] Failed to gather vendor id, product id or pci class from PCI device bar: - WARNING [ironic_python_agent.inspector] Wrong format of vendor id, product id or pci class in PCI device baz: -ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_bad_pci_device_info -ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_bad_pci_device_info ... ok -ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success -ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success ... ok - WARNING [ironic_python_agent.inspector] Failed to gather numa_node id from PCI device foo: - WARNING [ironic_python_agent.inspector] Failed to gather numa_node id from PCI device bar: -ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success_numa_ioerror -ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success_numa_ioerror ... ok - ERROR [ironic_python_agent.utils] Failed to get list of PCI devices: -ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_wrong_path -ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_wrong_path ... ok -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_exceeds_2TB -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_exceeds_2TB ... ok -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_exceeds_2TB_nvme -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_exceeds_2TB_nvme ... ok -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_under_2TB -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_under_2TB ... ok -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_under_2TB_nvme -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_under_2TB_nvme ... ok -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_conf_drive_error_counting -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_conf_drive_error_counting ... ok -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_conf_drive_sz_exceed -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_conf_drive_sz_exceed ... ok -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_exists -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_exists ... ok -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_gpt -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_gpt ... ok -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_gpt_use_vfat -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_gpt_use_vfat ... ok -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_gpt_with_fallback -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_gpt_with_fallback ... ok -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_num_parts_exceed -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_num_parts_exceed ... ok - ERROR [root] Failed to create config drive on disk /dev/fake for node 12345678-1234-1234-1234-1234567890abcxyz. Error: Unexpected error while running command. +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_enabled_set_password_exception +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_enabled_set_password_exception ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_enabled_unlock_exception +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_enabled_unlock_exception ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_erase_exec_exception +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_erase_exec_exception ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__find_pstore_mount_point +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__find_pstore_mount_point ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__find_pstore_mount_point_no_pstore +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__find_pstore_mount_point_no_pstore ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__get_device_info +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__get_device_info ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__get_md_uuid +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__get_md_uuid ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_linux_raid_member +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_linux_raid_member ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_linux_raid_member_false +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_linux_raid_member_false ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device ... ok + WARNING [root] Could not determine if /dev/sdfake is aread-only device. Error: +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_error +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_error ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_false +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_false ... ok + WARNING [root] Could not determine if /dev/sdfake1 is aread-only device. Error: +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_partition_error +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_partition_error ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_partition_ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_partition_ok ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_exists +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_exists ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_exists_no_match +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_exists_no_match ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_path_doesnt_exist +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_path_doesnt_exist ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration_no_delete +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration_no_delete ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_steps_exist +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_steps_exist ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_invalid +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_invalid ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_nvram +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_nvram ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_nvram_defaults +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_nvram_defaults ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data_decode_exception +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data_decode_exception ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data_netutils_exception +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data_netutils_exception ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures_raid5 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures_raid5 ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures_raid6 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures_raid6 ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_efi +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_efi ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_empty_target_raid_config +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_empty_target_raid_config ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_failure_with_nvme +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_failure_with_nvme ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_force_gpt_with_disk_label +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_force_gpt_with_disk_label ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_invalid_hints +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_invalid_hints ... ok + WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' + WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' + WARNING [root] Device /dev/sdb is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdb' + WARNING [root] Device /dev/md0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/md0' + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping + WARNING [root] Can't find field vendor for device md0 in device class block +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_invalid_raid_config +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_invalid_raid_config ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_max_is_first_logical +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_max_is_first_logical ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_mismatching_hints +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_mismatching_hints ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_no_max +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_no_max ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_partitions_detected +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_partitions_detected ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_raid_5 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_raid_5 ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_raid_6 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_raid_6 ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_skip_list_existing_device_does_not_match +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_skip_list_existing_device_does_not_match ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_complete_skip_list +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_complete_skip_list ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_hints +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_hints ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_nvme +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_nvme ... ok + WARNING [root] Failed to remove partitions on /dev/sda: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'No md superblock detected' +Stderr: None + WARNING [root] Failed to remove partitions on /dev/sdb: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'No md superblock detected' +Stderr: None +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration ... ok + ERROR [root] Unable to clean all softraid correctly. Remaining ['/dev/md0'] +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_failure_blocks_remaining +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_failure_blocks_remaining ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_partition +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_partition ... ok + WARNING [root] RAID device /dev/md1 will not be deleted + WARNING [root] Software RAID device /dev/md1 is not going to be deleted as its volume name - small - is on the skip list + WARNING [root] Software RAID device /dev/md1 was not deleted + WARNING [root] Holder disk /dev/sda contains logical disk on the skip list. Deleting just partitions: ['1'] + WARNING [root] Holder disk /dev/sdb contains logical disk on the skip list. Deleting just partitions: ['1'] +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_skip_list +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_skip_list ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_deploy_steps_exist +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_deploy_steps_exist ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_erase_disabled +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_erase_disabled ... ok + ERROR [root] Failed to invoke secure erase, fallback to shred is not enabled: Error erasing block device: An unknown error occurred erasing block device /dev/sda +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_failed +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_failed ... ok + WARNING [root] Failed to invoke secure erase, falling back to shred: Error erasing block device: An unknown error occurred erasing block device /dev/sda +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_failed_continued +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_failed_continued ... ok + ERROR [root] Failed to invoke secure erase, fallback to shred is not enabled: Error erasing block device: Block device /dev/sda is frozen and cannot be erased +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_frozen +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_frozen ... ok + ERROR [root] Failed to invoke secure erase, fallback to shred is not enabled: Error erasing block device: Block device /dev/sda already has a security password set +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_enabled +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_enabled ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_enabled_unlock_attempt +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_enabled_unlock_attempt ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_unlock_fallback_pass +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_unlock_fallback_pass ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_success +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_success ... ok + WARNING [root] Unable to execute `smartctl` utility: boom +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_success_no_smartctl +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_success_no_smartctl ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nosecurity_shred +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nosecurity_shred ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_notsupported_shred +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_notsupported_shred ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_crypto_success +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_crypto_success ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_failed +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_failed ... ok + ERROR [root] nvme-cli did not return any supported format modes for device: /dev/nvme0n1 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_format_unsupported +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_format_unsupported ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_userdata_success +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_userdata_success ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_0_pass_no_zeroize +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_0_pass_no_zeroize ... ok + ERROR [root] Erasing block device /dev/sda failed with error +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_fail_oserror +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_fail_oserror ... ok + ERROR [root] Erasing block device /dev/sda failed with error Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_part_create_exc -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_part_create_exc ... ok -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_part_create_fail -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_part_create_fail ... ok -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test ... ok - ERROR [root] Finding the partition with UUID 11111111-2222-3333-4444-555555555555 on device /dev/fake failed with Unexpected error while running command. +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_fail_processerror +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_fail_processerror ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_uses_internal_info +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_uses_internal_info ... ok + WARNING [root] Refusing to permit ATA Secure Erase as direct ATA commands via the `smartctl` utility with device /dev/sda do not succeed. +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_smartctl_fails_security_fallback_to_shred +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_smartctl_fails_security_fallback_to_shred ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_smartctl_unsupported_shred +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_smartctl_unsupported_shred ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_virtual_media +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_virtual_media ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_concurrency +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_concurrency ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_concurrency_pool_size +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_concurrency_pool_size ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_express +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_express ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_express_stops_on_safety_failure +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_express_stops_on_safety_failure ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata ... ok + ERROR [root] Failed to erase the metadata on device "/dev/sdb". Error: Unexpected error while running command. Command: None Exit code: - -Stdout: 'boom' +Stdout: 'Booo00000ooommmmm' Stderr: None -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_command_fail -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_command_fail ... ok -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_fallback_partuuid -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_fallback_partuuid ... ok -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_label -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_label ... ok - ERROR [root] No partition with UUID 11111111-2222-3333-4444-555555555555 found on device /dev/fake -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_no_device_found -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_no_device_found ... ok -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_partuuid -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_partuuid ... ok -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_chronyd -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_chronyd ... ok -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_none -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_none ... ok -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_ntpdate -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_ntpdate ... ok -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_chrony -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_chrony ... ok - ERROR [ironic_python_agent.utils] Failed to sync time using chrony to ntp server: 192.168.1.1: Unexpected error while running command. +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata_error +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata_error ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata_safety_check +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata_safety_check ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default_protected_device +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default_protected_device ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_without_disk +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_without_disk ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_pstore +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_pstore ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_ok ... ok + WARNING [root] Executable 'biosdevname' not found +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_oserror +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_oserror ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err3 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err3 ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err4 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err4 ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_invalid +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_invalid ... ok + WARNING [root] Invalid IP address meow: 'meow' does not appear to be an IPv4 or IPv6 address +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_iterate_channels +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_iterate_channels ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_no_ipmi_device +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_no_ipmi_device ... ok + WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address + WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address + WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address + WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address + WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address + WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address + WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address + WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address + WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address + WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address + WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_not_available +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_not_available ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_random_error +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_random_error ... ok + WARNING [root] Cannot get BMC address: Unexpected error while running command. Command: None Exit code: - Stdout: None -Stderr: 'time verboten' -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_chrony_failure -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_chrony_failure ... ok - ERROR [ironic_python_agent.utils] Unable to sync clock, available methods of 'ntpdate' or 'chrony' not found. -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_none -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_none ... ok -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp ... ok - ERROR [ironic_python_agent.utils] Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. +Stderr: None +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_virt +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_virt ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_zeroed +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_zeroed ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_invalid +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_invalid ... ok + WARNING [root] Invalid ipmitool output meow +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_iterate_channels +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_iterate_channels ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_no_ipmi_device +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_no_ipmi_device ... ok + WARNING [root] Invalid ipmitool output + WARNING [root] Invalid ipmitool output + WARNING [root] Invalid ipmitool output + WARNING [root] Invalid ipmitool output + WARNING [root] Invalid ipmitool output + WARNING [root] Invalid ipmitool output + WARNING [root] Invalid ipmitool output + WARNING [root] Invalid ipmitool output + WARNING [root] Invalid ipmitool output + WARNING [root] Invalid ipmitool output + WARNING [root] Invalid ipmitool output +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_not_available +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_not_available ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_random_error +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_random_error ... ok + WARNING [root] Cannot get BMC MAC address: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp_raises_exception -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp_raises_exception ... ok -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp_server_is_none -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp_server_is_none ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_virt +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_virt ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_zeroed +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_zeroed ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_channel_7 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_channel_7 ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_dynamic_address +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_dynamic_address ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_enables +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_enables ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_get_address +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_get_address ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_ipmitool_invalid_stdout_format +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_ipmitool_invalid_stdout_format ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_no_ipmi_device +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_no_ipmi_device ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_not_enabled +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_not_enabled ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_static_address_both +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_static_address_both ... ok + WARNING [root] Cannot get BMC v6 address: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_virt +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_virt ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_bios +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_bios ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_pxe_interface +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_pxe_interface ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_uefi +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_uefi ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_clean_steps +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_clean_steps ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_component_devices +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_component_devices ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_illegal_flags +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_illegal_flags ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_max_mhz_and_flag_fallback +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_max_mhz_and_flag_fallback ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_max_mhz_flag_fallback +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_max_mhz_flag_fallback ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_multi +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_multi ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_no_flags +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_no_flags ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_broken_raid0 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_broken_raid0 ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_poisoned_output +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_poisoned_output ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_unexpected_devices +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_unexpected_devices ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_nvme +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_nvme ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_whole_device +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_whole_device ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_arm64_lshw +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_arm64_lshw ... ok + WARNING [root] Could not get real physical RAM from lshw: +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_exception +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_exception ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_list +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_list ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_bank_size +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_bank_size ... ok + ERROR [root] Cannot fetch total memory size using psutil version 5 +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/hardware.py", line 1648, in get_memory + total = int(psutil.virtual_memory().total) + ~~~~~~~~~~~~~~~~~~~~~^^ + File "", line 3, in virtual_memory + File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__ + return self._mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call + raise effect +AttributeError +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v1 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v1 ... ok + ERROR [root] Cannot fetch total memory size using psutil version 5 +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/hardware.py", line 1648, in get_memory + total = int(psutil.virtual_memory().total) + ~~~~~~~~~~~~~~~~~~~~~^^ + File "", line 3, in virtual_memory + File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__ + return self._mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call + raise effect +AttributeError +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v2 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v2 ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_v1 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_v1 ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_v2 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_v2 ... ok + WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' + WARNING [root] Device /dev/sdb is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdb' + WARNING [root] Device /dev/sdc is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdc' + WARNING [root] Device /dev/sdd is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdd' + WARNING [root] Can't find field vendor for device sdd in device class block + WARNING [root] Device /dev/dm-0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-0' + WARNING [root] Can't find field vendor for device dm-0 in device class block +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device ... ok + WARNING [root] Using hint {'vendor': 'basic vendor'} skipping devices: /dev/sda,/dev/sdb +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_complete_skip_list +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_complete_skip_list ... ok + WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' + WARNING [root] Device /dev/sdb is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdb' +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_fails +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_fails ... ok + WARNING [root] We have identified a multipath device sda, this is being ignored in favor of dm-0 and its related child devices. + WARNING [root] We have identified a multipath device sda2, this is being ignored in favor of dm-0 and its related child devices. + WARNING [root] We have identified a multipath device sda3, this is being ignored in favor of dm-0 and its related child devices. + WARNING [root] We have identified a multipath device sda1, this is being ignored in favor of dm-0 and its related child devices. + WARNING [root] Device /dev/dm-0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-0' + WARNING [root] Can't find field vendor for device dm-0 in device class block + WARNING [root] We have identified a multipath device sdb, this is being ignored in favor of dm-0 and its related child devices. + WARNING [root] We have identified a multipath device sdb2, this is being ignored in favor of dm-0 and its related child devices. + WARNING [root] We have identified a multipath device sdb3, this is being ignored in favor of dm-0 and its related child devices. + WARNING [root] We have identified a multipath device sdb1, this is being ignored in favor of dm-0 and its related child devices. + WARNING [root] Device /dev/sdc is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdc' + WARNING [root] Device /dev/dm-1 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-1' + WARNING [root] Can't find field vendor for device dm-1 in device class block +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_multipath +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_multipath ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_no_root_device +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_no_root_device ... ok + WARNING [root] We have identified a multipath device sda, this is being ignored in favor of dm-0 and its related child devices. + WARNING [root] We have identified a multipath device sda2, this is being ignored in favor of dm-0 and its related child devices. + WARNING [root] We have identified a multipath device sda3, this is being ignored in favor of dm-0 and its related child devices. + WARNING [root] We have identified a multipath device sda1, this is being ignored in favor of dm-0 and its related child devices. + WARNING [root] Device /dev/dm-0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-0' + WARNING [root] Can't find field vendor for device dm-0 in device class block + WARNING [root] We have identified a multipath device sdb, this is being ignored in favor of dm-0 and its related child devices. + WARNING [root] We have identified a multipath device sdb2, this is being ignored in favor of dm-0 and its related child devices. + WARNING [root] We have identified a multipath device sdb3, this is being ignored in favor of dm-0 and its related child devices. + WARNING [root] We have identified a multipath device sdb1, this is being ignored in favor of dm-0 and its related child devices. + WARNING [root] Device /dev/sdc is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdc' + WARNING [root] Device /dev/dm-1 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-1' + WARNING [root] Can't find field vendor for device dm-1 in device class block +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_not_multipath +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_not_multipath ... ok + WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' + WARNING [root] Device /dev/sdb is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdb' + WARNING [root] Device /dev/md0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/md0' + WARNING [root] Can't find field vendor for device md0 in device class block +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_raid +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_raid ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_by_path +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_by_path ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_iinfo +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_iinfo ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_model +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_model ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_name +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_name ... ok + WARNING [ironic_lib.utils] No device found that matches the root device hints {'model': 'fastable sd131 7', 'wwn': 'fake-wwn', 'serial': 'fake-serial', 'vendor': 'fake-vendor', 'size': 10} +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_no_device_found +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_no_device_found ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_rotational +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_rotational ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_serial +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_serial ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_not_int +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_not_int ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_str +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_str ... ok + WARNING [root] Using hint {'vendor': 'fake-vendor'} skipping devices: /dev/sdb + WARNING [ironic_lib.utils] No device found that matches the root device hints {'wwn': 'fake-wwn'} +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_skip_list +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_skip_list ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_vendor +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_vendor ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_wwn +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_wwn ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_skip_list_non_exist +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_skip_list_non_exist ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_just_raids +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_just_raids ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_no_skip_list +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_no_skip_list ... ok + WARNING [root] Using hint {'name': '/dev/sdj'} skipping devices: /dev/sdj +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_with_skip_list +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_with_skip_list ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info ... ok + WARNING [root] Could not retrieve vendor info from lshw: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info_failure +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info_failure ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info_lshw_list +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info_lshw_list ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_usb_devices +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_usb_devices ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_ipmi_device_exists +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_ipmi_device_exists ... ok + WARNING [root] Device /dev/sda is inaccessible, skipping... Error: + WARNING [root] Device /dev/sdb is not supported by pyudev, skipping... Error: No block device with number 1234 + WARNING [root] Device /dev/sdc is inaccessible, skipping... Error: + WARNING [root] We have identified a multipath device sdd, this is being ignored in favor of dm-0 and its related child devices. + WARNING [root] Device /dev/dm-0 is inaccessible, skipping... Error: +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device ... ok + WARNING [root] We have identified a multipath device sdd, this is being ignored in favor of dm-0 and its related child devices. +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_all_serial +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_all_serial ... ok + WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sdb. Skipping +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_hctl_fail +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_hctl_fail ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_only_udev +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_only_udev ... ok + WARNING [root] We have identified a multipath device sdd, this is being ignored in favor of dm-0 and its related child devices. +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_udev +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_udev ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_no_skip_list +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_no_skip_list ... ok + WARNING [root] Using hint {'name': '/dev/sdj'} skipping devices: /dev/sdj + WARNING [root] Using hint {'name': '/dev/hdaa'} skipping devices: /dev/hdaa +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_complete_skip_list +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_complete_skip_list ... ok + WARNING [root] Using hint {'name': '/dev/sdj'} skipping devices: /dev/sdj +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_skip_list +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_skip_list ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_skip_list_non_exist +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_skip_list_non_exist ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_including_partitions +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_including_partitions ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_hardware_info +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_hardware_info ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_normal_vs_enhanced_security_erase +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_normal_vs_enhanced_security_erase ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_service_steps_exist +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_service_steps_exist ... ok + WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' + WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' + WARNING [root] Device /dev/sdb is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdb' + WARNING [root] Device /dev/md0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/md0' + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping + WARNING [root] Can't find field vendor for device md0 in device class block +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_MAX_MAX +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_MAX_MAX ... ok + WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' + WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' + WARNING [root] Device /dev/sdb is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdb' + WARNING [root] Device /dev/md0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/md0' + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping + WARNING [root] Can't find field vendor for device md0 in device class block +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_duplicate_volume_name +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_duplicate_volume_name ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_no_of_raids +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_no_of_raids ... ok + WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' + WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' + WARNING [root] Device /dev/sdb is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdb' + WARNING [root] Device /dev/md0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/md0' + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping + WARNING [root] Can't find field vendor for device md0 in device class block +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_raid_level +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_raid_level ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_no_configuration +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_no_configuration ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_valid_raid1 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_valid_raid1 ... ok + WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' + WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' + WARNING [root] Device /dev/sdb is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdb' + WARNING [root] Device /dev/md0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/md0' + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping + WARNING [root] Can't find field vendor for device md0 in device class block +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_valid_raid1_raidN +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_valid_raid1_raidN ... ok +ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_DeployFail_exc +ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_DeployFail_exc ... ok +ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_absent +ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_absent ... ok + WARNING [ironic_python_agent.disk_utils] Unable to probe for partitions on device /dev/fake, the partitioning table may be broken. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None +ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_exc +ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_exc ... ok +ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_present +ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_present ... ok +ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_present_uppercase +ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_present_uppercase ... ok +ironic_python_agent.tests.unit.test_raid_utils.TestGetNextFreeRaidDevice.test_no_device +ironic_python_agent.tests.unit.test_raid_utils.TestGetNextFreeRaidDevice.test_no_device ... ok +ironic_python_agent.tests.unit.test_raid_utils.TestGetNextFreeRaidDevice.test_ok +ironic_python_agent.tests.unit.test_raid_utils.TestGetNextFreeRaidDevice.test_ok ... ok +ironic-python-agent: Copying configuration from /tmp/tmpi6ert54j/etc/ironic-python-agent to /etc/ironic-python-agent +ironic-python-agent: Copying configuration from /tmp/tmpi6ert54j/etc/ironic-python-agent.d to /etc/ironic-python-agent.d +ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy +ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy ... ok +ironic-python-agent: Copying configuration from /tmp/tmpnk96d14o/etc/ironic-python-agent to /etc/ironic-python-agent +ironic-python-agent: Copying configuration from /tmp/tmpnk96d14o/etc/ironic-python-agent.d to /etc/ironic-python-agent.d +ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy_mounted +ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy_mounted ... ok +ironic-python-agent: /some/path/etc/ironic-python-agent not found +ironic-python-agent: /some/path/etc/ironic-python-agent.d not found +ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_mounted_no_files +ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_mounted_no_files ... ok +ironic-python-agent: /tmp/tmpurx781u9/etc/ironic-python-agent not found +ironic-python-agent: /tmp/tmpurx781u9/etc/ironic-python-agent.d not found +ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_files +ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_files ... ok +ironic-python-agent: No virtual media device detected +ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_vmedia +ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_vmedia ... ok +ironic-python-agent: Cannot use configuration from virtual media as the agent was not booted from virtual media. +ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_vmedia_found_not_booted_from_vmedia +ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_vmedia_found_not_booted_from_vmedia ... ok ---------------------------------------------------------------------- -Ran 1023 tests in 1379.516s +Ran 1023 tests in 21.657s OK (skipped=5) + stestr slowest -Test id Runtime (s) ------------------------------------------------------------------------------------------------------------------- ----------- -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qcow2 223.881 -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhdx 213.181 -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vdi 124.362 -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qcow2_safety_checks 91.826 -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhd 77.930 -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_from_file_reads_minimum 37.370 -ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test_heartbeat 35.330 -ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run_no_tls 34.955 -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_cache_and_write_image_configdirve 33.464 -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed 33.224 +Test id Runtime (s) +--------------------------------------------------------------------------------------------------------------------------------- ----------- +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries 4.005 +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhdx 3.623 +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_socket_read_timeout 3.012 +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_1st 3.010 +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qcow2 2.665 +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_timeout 2.007 +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retry_on_50X_and_succeed 2.006 +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries_on_50X_error 2.005 +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_mem_limit 1.843 +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_mem_limit_stream_optimized 1.824 + rm -rf .stestr -+ [ 3.12 = disabled ] -+ echo 3.12 -+ cut -d. -f1 ++ for pyvers in ${PYTHON3S} ++ '[' 3.12 = disabled ']' +++ echo 3.12 +++ cut -d. -f1 + PYMAJOR=3 -+ echo ===> Testing with python (python3) ++ echo '===> Testing with python (python3)' ===> Testing with python (python3) -+ pwd -+ [ -d /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages ] -+ [ -z /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages ] -+ [ -e .stestr.conf ] -+ [ -x /usr/bin/python3-stestr ] +++ pwd ++ '[' -d /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages ']' ++ '[' -z /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages ']' ++ '[' -e .stestr.conf ']' ++ '[' -x /usr/bin/python3-stestr ']' + STESTR=stestr + rm -rf .stestr -+ + subunit2pyunit -PYTHON=python3.12 stestr run --parallel --subunit ironic_python_agent\.tests\.unit\.(?!test_inspector\.TestWaitForDhcp\.test_timeout) ++ PYTHON=python3.12 ++ stestr run --parallel --subunit 'ironic_python_agent\.tests\.unit\.(?!test_inspector\.TestWaitForDhcp\.test_timeout)' ++ subunit2pyunit /build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/extensions/test_image.py:331: SyntaxWarning: invalid escape sequence '\E' stdout_msg = """ /build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/extensions/test_image.py:393: SyntaxWarning: invalid escape sequence '\E' stdout_msg = """ /build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_efi_utils.py:361: SyntaxWarning: invalid escape sequence '\E' dupe_entry = """ -ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_add_partition -ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_add_partition ... ok -ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit -ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit ... ok -ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_disconnected -ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_disconnected ... ok -ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_is_always_busy -ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_is_always_busy ... ok -ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_is_busy_once -ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_is_busy_once ... ok -ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_encoder -ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_encoder ... ok -ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_ironic_lib -ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_ironic_lib ... ok - WARNING [root] No hardware manager was able to handle interface foobar -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces ... ok - WARNING [root] Cannot find detailed information about interface eth0 -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_no_carrier -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_no_carrier ... ok - WARNING [root] Cannot find detailed information about interface eth0 -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_biosdevname -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_biosdevname ... ok - WARNING [root] Cannot find detailed information about interface bond0 -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_bond -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_bond ... ok - WARNING [root] Cannot find detailed information about interface eth0 -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp ... ok - WARNING [root] Cannot find detailed information about interface eth0 -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp_error -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp_error ... ok - WARNING [root] Cannot find detailed information about interface eth0 -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_vendor_info -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_vendor_info ... ok - WARNING [root] Cannot find detailed information about interface eth0 - WARNING [root] Cannot find detailed information about interface eth0.100 -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestUpdateNvidiaNicFirmwareImage.test_update_nvidia_nic_firmware_image_exception +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestUpdateNvidiaNicFirmwareImage.test_update_nvidia_nic_firmware_image_exception ... ok + ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boop' +Stderr: None +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__message_format_partition_bios +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__message_format_partition_bios ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__message_format_partition_uefi +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__message_format_partition_uefi ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__sync_clock +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__sync_clock ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestUpdatenvidiaNicFirmwareSettings.test_update_nvidia_nic_firmware_settings_exception +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestUpdatenvidiaNicFirmwareSettings.test_update_nvidia_nic_firmware_settings_exception ... ok +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware ... ok +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_error +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_error ... ok +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_no_mlnx +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_no_mlnx ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_cache_and_write_image +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_cache_and_write_image ... ok +ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_correct +ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_correct ... ok +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_cache_and_write_image_configdirve +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_cache_and_write_image_configdirve ... ok +ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_correct_gpt_nvme +ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_correct_gpt_nvme ... ok +ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_incorrect +ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_incorrect ... ok +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support_no_mlnx +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support_no_mlnx ... ok +ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_incorrect_gpt +ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_incorrect_gpt ... ok + WARNING [ironic_python_agent.dmi_inspector] Failed to parse Handle type in dmi output: list index out of range +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_generate_client_id +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_generate_client_id ... ok +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_bad_data +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_bad_data ... ok + ERROR [ironic_python_agent.utils] failed to run dmidecode: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_clean_steps +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_clean_steps ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image ... ok + ERROR [root] Command failed: sleep, error: An error occurred: An unexpected error occurred. Please try back later. +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/extensions/test_flow.py", line 41, in sleep + time.sleep(sleep_info['time']) + File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ + return self._mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call + raise effect +ironic_python_agent.errors.RESTError: An error occurred: An unexpected error occurred. Please try back later. + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00019097328186035156 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 0 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.00019097328186035156 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0005338191986083984 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 1 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0005338191986083984 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0007812976837158203 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 2 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0007812976837158203 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0009644031524658203 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 3 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0009644031524658203 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0011248588562011719 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 4 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0011248588562011719 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.001287698745727539 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 5 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.001287698745727539 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + ERROR [root] Command failed: start_flow, error: Command execution failed: fake.sleep was failed +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/flow.py", line 44, in start_flow + raise errors.CommandExecutionError( +ironic_python_agent.errors.CommandExecutionError: Command execution failed: fake.sleep was failed + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0014524459838867188 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 6 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0014524459838867188 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0017757415771484375 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_failure +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_failure ... WARNING [ironic_python_agent.extensions.standby] Image download failed, 7 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0017757415771484375 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +ok + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.001954793930053711 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 8 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.001954793930053711 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.002209186553955078 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step +ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step ... ok +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info ... ok +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_ok +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_ok ... ok +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed ... ok + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00010228157043457031 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 0 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.00010228157043457031 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_conf_credential +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_conf_credential WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0005023479461669922 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + ... ok + WARNING [ironic_python_agent.extensions.standby] Image download failed, 1 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0005023479461669922 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config ERROR [root] Command failed: fake_async_command, error: An error occurred: failed Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run @@ -6951,50 +7073,306 @@ File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/extensions/test_base.py", line 38, in fake_async_command raise ExecutionError() ironic_python_agent.tests.unit.extensions.test_base.ExecutionError: An error occurred: failed + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0008754730224609375 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 2 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0008754730224609375 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0011074542999267578 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 3 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0011074542999267578 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0012507438659667969 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 4 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0012507438659667969 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.001445770263671875 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 5 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.001445770263671875 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + ERROR [root] Unexpected exception performing deploy step erase_devices. RuntimeError: boom +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/deploy.py", line 77, in execute_deploy_step + result = hardware.dispatch_to_managers(step['step'], node, ports, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 3, in dispatch_to_managers + File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ + return self._mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call + raise effect +RuntimeError: boom + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0017132759094238281 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 6 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0017132759094238281 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0018696784973144531 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 7 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0018696784973144531 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0020170211791992188 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 8 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0020170211791992188 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.002182483673095703 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + ERROR [root] Command failed: sleep, error: foo +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/extensions/test_flow.py", line 41, in sleep + time.sleep(sleep_info['time']) + File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ + return self._mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1202, in _execute_mock_call + raise result +Exception: foo + ERROR [root] Command failed: start_flow, error: Command execution failed: fake.sleep was failed +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/flow.py", line 44, in start_flow + raise errors.CommandExecutionError( +ironic_python_agent.errors.CommandExecutionError: Command execution failed: fake.sleep was failed + ERROR [root] Command failed: execute_deploy_step, error: Deploy step failed: Unexpected exception performing deploy step erase_devices. RuntimeError: boom +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/deploy.py", line 77, in execute_deploy_step + result = hardware.dispatch_to_managers(step['step'], node, ports, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 3, in dispatch_to_managers + File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ + return self._mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call + raise effect +RuntimeError: boom + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/deploy.py", line 88, in execute_deploy_step + raise errors.DeploymentError(msg) +ironic_python_agent.errors.DeploymentError: Deploy step failed: Unexpected exception performing deploy step erase_devices. RuntimeError: boom + ERROR [root] Tried to execute fake.fake_sync_command, agent is still executing Command name: name, params: {}, status: RUNNING, result: None. +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_ib_interface +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_ib_interface ... ok +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_bios +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_bios ... ok + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 9.1552734375e-05 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 0 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 9.1552734375e-05 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0003571510314941406 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 1 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0003571510314941406 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0005109310150146484 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 2 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0005109310150146484 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0006651878356933594 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 3 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0006651878356933594 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0007793903350830078 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 4 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0007793903350830078 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0009453296661376953 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 5 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0009453296661376953 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0010623931884765625 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 6 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0010623931884765625 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.001177072525024414 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 7 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.001177072525024414 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0014505386352539062 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 8 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0014505386352539062 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0016131401062011719 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_image_info_credential +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_image_info_credential ... ok +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed_on_second_command +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed_on_second_command ... ok ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_execution_failure ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_execution_failure ... ok ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_name ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_name ... ok +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_cpu +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_cpu ... ok +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mac_address +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mac_address ... ok +ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_exception +ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_exception ... ok + ERROR [root] Error performing deploy step erase_devices +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/deploy.py", line 77, in execute_deploy_step + result = hardware.dispatch_to_managers(step['step'], node, ports, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 3, in dispatch_to_managers + File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ + return self._mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call + raise effect +ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00011920928955078125 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + ERROR [root] Command failed: execute_deploy_step, error: Block device caused unknown error: I'm a teapot +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/deploy.py", line 77, in execute_deploy_step + result = hardware.dispatch_to_managers(step['step'], node, ports, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 3, in dispatch_to_managers + File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ + return self._mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call + raise effect +ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot + WARNING [ironic_python_agent.extensions.standby] Image download failed, 0 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.00011920928955078125 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0005540847778320312 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 1 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0005540847778320312 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0008337497711181641 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 2 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0008337497711181641 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0010869503021240234 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 3 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0010869503021240234 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0013530254364013672 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 4 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0013530254364013672 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0016245841979980469 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 5 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0016245841979980469 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.001882791519165039 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 6 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.001882791519165039 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0021140575408935547 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Image download failed, 7 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0021140575408935547 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0023374557495117188 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + ERROR [root] Invalid content error: Invalid request body: baz +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 268, in execute_command + result = ext.execute(command_part, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ + return self._mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call + raise effect +ironic_python_agent.errors.InvalidContentError: Invalid request body: baz + WARNING [ironic_python_agent.extensions.standby] Image download failed, 8 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0023374557495117188 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0025403499603271484 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + ERROR [root] Failed to query firmware of device : Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None + ERROR [root] Rescue Operation failed when writing the hashed rescue password to the password file. Error +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/rescue.py", line 48, in write_rescue_password + with open(PASSWORD_FILE, 'w') as f: + ^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ + return self._mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call + raise effect +OSError + WARNING [ironic_python_agent.dmi_inspector] Failed to process memory dmi data: 'Handle' + ERROR [root] Malformed deploy_step, no "step" key: {} + ERROR [root] Command failed: execute_deploy_step, error: Malformed deploy_step, no "step" key: {} +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/deploy.py", line 73, in execute_deploy_step + raise ValueError(msg) +ValueError: Malformed deploy_step, no "step" key: {} + ERROR [root] Command execution error: Command execution failed: foo bar baz +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 268, in execute_command + result = ext.execute(command_part, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ + return self._mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call + raise effect +ironic_python_agent.errors.CommandExecutionError: Command execution failed: foo bar baz + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0007615089416503906 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: + WARNING [ironic_python_agent.extensions.standby] Image download failed, 0 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0007615089416503906 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0012919902801513672 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: + WARNING [ironic_python_agent.extensions.standby] Image download failed, 1 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0012919902801513672 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0016703605651855469 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: + WARNING [ironic_python_agent.extensions.standby] Image download failed, 2 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0016703605651855469 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.001982450485229492 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: + WARNING [ironic_python_agent.extensions.standby] Image download failed, 3 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.001982450485229492 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0023310184478759766 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: + WARNING [ironic_python_agent.extensions.standby] Image download failed, 4 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0023310184478759766 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0026557445526123047 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: + WARNING [ironic_python_agent.extensions.standby] Image download failed, 5 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0026557445526123047 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: + WARNING [ironic_python_agent.dmi_inspector] Failed to process memory dmi data: 'Number Of Devices' + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.002990245819091797 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: + WARNING [ironic_python_agent.extensions.standby] Image download failed, 6 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.002990245819091797 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0032873153686523438 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: + WARNING [ironic_python_agent.extensions.standby] Image download failed, 7 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0032873153686523438 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0035715103149414062 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: + WARNING [ironic_python_agent.extensions.standby] Image download failed, 8 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0035715103149414062 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0038909912109375 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential ... ok +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mlnx_interface +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mlnx_interface ... ok +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_memory +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_memory ... ok ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_success ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_success ... ok +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data ... ok +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_success +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_success ... ok +ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_fail +ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_fail ... ok +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_infiniband_address_to_mac +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_infiniband_address_to_mac ... ok +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data_error_handle +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data_error_handle ... ok ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_success_without_agent ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_success_without_agent ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_validation_failure -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_validation_failure ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_command_map -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_command_map ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_execution_failure -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_execution_failure ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_name -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_name ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_success -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_success ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_validation_failure -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_validation_failure ... ok - ERROR [root] Command failed: fake_async_command, error: An error occurred: failed +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__get_device_conf_dict +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__get_device_conf_dict ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__get_device_conf_dict_exception +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__get_device_conf_dict_exception ... ok +ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_busy +ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_busy ... ok + WARNING [ironic_python_agent.efi_utils] Invalid sgdisk line: I am a teaport +ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command +ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command ... ok +ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_invalid_content +ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_invalid_content ... ok + WARNING [ironic_python_agent.efi_utils] No UUID information provided in sgdisk output for partition 1 on device /dev/fake +ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_other_exception +ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_other_exception ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential_second +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential_second ... ok +ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_no_step +ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_no_step ... ok + ERROR [root] Clean version mismatch for command execute_deploy_step + ERROR [root] Unexpected exception performing service step erase_devices. RuntimeError: boom Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/extensions/test_base.py", line 38, in fake_async_command - raise ExecutionError() -ironic_python_agent.tests.unit.extensions.test_base.ExecutionError: An error occurred: failed -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_wait_async_command_execution_failure -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_wait_async_command_execution_failure ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_wait_async_command_success -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_wait_async_command_success ... ok - WARNING [root] Cannot find detailed information about interface eth0 - WARNING [root] Cannot find detailed information about interface eth0.100 - WARNING [root] Cannot find detailed information about interface eth0.101 -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces_using_lldp -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces_using_lldp ... ok - WARNING [root] Cannot find detailed information about interface eth0 - WARNING [root] Cannot find detailed information about interface eth1 - WARNING [root] Cannot find detailed information about interface eth0.100 - WARNING [root] Cannot find detailed information about interface eth0.101 - WARNING [root] Cannot find detailed information about interface eth1.102 -ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step -ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step ... ok + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/service.py", line 77, in execute_service_step + result = hardware.dispatch_to_managers(step['step'], node, ports, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 3, in dispatch_to_managers + File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ + return self._mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call + raise effect +RuntimeError: boom ERROR [root] Unexpected exception performing clean step erase_devices. RuntimeError: boom Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/clean.py", line 77, in execute_clean_step @@ -7035,6 +7413,124 @@ File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/clean.py", line 88, in execute_clean_step raise errors.CleaningError(msg) ironic_python_agent.errors.CleaningError: Clean step failed: Unexpected exception performing clean step erase_devices. RuntimeError: boom + ERROR [root] Command failed: execute_service_step, error: Service step failed: Unexpected exception performing service step erase_devices. RuntimeError: boom +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/service.py", line 77, in execute_service_step + result = hardware.dispatch_to_managers(step['step'], node, ports, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 3, in dispatch_to_managers + File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ + return self._mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call + raise effect +RuntimeError: boom + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/service.py", line 88, in execute_service_step + raise errors.ServicingError(msg) +ironic_python_agent.errors.ServicingError: Service step failed: Unexpected exception performing service step erase_devices. RuntimeError: boom +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_empty_command_map +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_empty_command_map ... ok +ironic_python_agent.tests.unit.test_base.BlockExecuteTestCase.test_can_mock_execute +ironic_python_agent.tests.unit.test_base.BlockExecuteTestCase.test_can_mock_execute ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_status +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_status ... ok +ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_finalize_rescue +ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_finalize_rescue ... ok +ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_hashed_passwords +ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_hashed_passwords ... ok +ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step +ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step ... ok +ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_write_rescue_password +ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_write_rescue_password ... ok +ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_write_rescue_password_ioerror +ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_write_rescue_password_ioerror ... ok +ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_success +ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_success ... ok +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_validation_failure +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_validation_failure ... ok +ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_tuple_result +ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_tuple_result ... ok +ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_invalid_command +ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_invalid_command ... ok +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_missing_command +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_missing_command ... ERROR [root] Extension do not found +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 267, in execute_command + ext = self.get_extension(extension_part) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 238, in get_extension + ext = self.ext_mgr[extension_name].obj + ~~~~~~~~~~~~^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/stevedore/extension.py", line 340, in __getitem__ + return self._extensions_by_name[name] + ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ +KeyError: 'do' +ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data ... ok +ironic_python_agent.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute +ironic_python_agent.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute ... ok +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNics.test_nvidia_nics +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNics.test_nvidia_nics ... ok +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data_error_number_of_devices +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data_error_number_of_devices ... ok +ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_equal +ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_equal ... ok +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_params_validation +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_params_validation ... ok +ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_broken +ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_broken ... ok +ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_version_mismatch +ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_version_mismatch ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_basic_auth_conf_success +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_basic_auth_conf_success ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data_no_data +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data_no_data ... ok +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_to_find_extension +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_to_find_extension ... ok + WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None +ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_hash +ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_hash ... ok + WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None + WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None + WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_advertise_address_provided +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_advertise_address_provided ... WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None +ok +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_command_map +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_command_map ... ok ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_exception ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_exception ... ok ERROR [root] Error performing clean step erase_devices @@ -7070,8 +7566,92 @@ File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call raise effect ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_success +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_success ... ok +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_no_wait +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_no_wait ... ok +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_exception +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_exception ... ok +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_failed +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_failed ... ok +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_execution_failure +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_execution_failure ... ok +ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_with_args +ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_with_args ... ok + ERROR [root] Failed to query tool configuration of device : Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool ... ok +ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_notequal +ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_notequal ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_basic_auth_image_info_success +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_basic_auth_image_info_success ... ok +ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_ok +ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_ok ... ok +ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_unknown_extension +ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_unknown_extension ... ok ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_fail ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_fail ... ok +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_name +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_name ... ok + ERROR [root] Error performing service step erase_devices +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/service.py", line 77, in execute_service_step + result = hardware.dispatch_to_managers(step['step'], node, ports, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 3, in dispatch_to_managers + File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ + return self._mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call + raise effect +ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot + WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None + WARNING [ironic_python_agent.agent] No route to host 1.2.1.2, route record: Error: some error text +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool_exception +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool_exception ... ok +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_with_false_wait +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_with_false_wait ERROR [root] Command failed: execute_service_step, error: Block device caused unknown error: I'm a teapot +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/service.py", line 77, in execute_service_step + result = hardware.dispatch_to_managers(step['step'], node, ports, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 3, in dispatch_to_managers + File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ + return self._mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call + raise effect +ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot + ... ok +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_clean_boot_records +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_clean_boot_records ... ok +ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_get_deploy_steps +ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_get_deploy_steps ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_proxy +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_proxy ... ok +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_retry +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_retry ... ok +ironic_python_agent.tests.unit.test_hardware.TestListHardwareInfo.test_caching +ironic_python_agent.tests.unit.test_hardware.TestListHardwareInfo.test_caching ... ok +ironic_python_agent.tests.unit.extensions.test_log.TestLogExtension.test_collect_system_logs +ironic_python_agent.tests.unit.extensions.test_log.TestLogExtension.test_collect_system_logs ... ok ERROR [root] Malformed clean_step, no "step" key: {} ERROR [root] Command failed: execute_clean_step, error: Malformed clean_step, no "step" key: {} Traceback (most recent call last): @@ -7081,70 +7661,1946 @@ File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/clean.py", line 74, in execute_clean_step raise ValueError(msg) ValueError: Malformed clean_step, no "step" key: {} +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_success +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_success ... ok +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_fail +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_fail ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw ... ok + ERROR [ironic_python_agent.extensions.standby] Image failed to verify against checksum. location: /tmp/tmpr0rzim99/fake_id; image ID: fake_id; image checksum: fake-checksum; verification checksum: invalid-checksum + WARNING [ironic_python_agent.efi_utils] Empty EFI partition detected. + WARNING [ironic_python_agent.agent] Cannot get route to host fc00:1111::1: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None + WARNING [ironic_python_agent.agent] No route to host 1.2.1.2, route record: Error: some error text + WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. + WARNING [ironic_python_agent.agent] Cannot get route to host fc00:1111::1: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None +ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition +ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition ... ok + ERROR [root] Failed to query firmware of device : Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_with_true_wait +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_with_true_wait ... ok +ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_benchmarks +ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_benchmarks ... ok + ERROR [root] Malformed service_step, no "step" key: {} ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_no_step ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_no_step ... ok +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_validation_failure +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_validation_failure ERROR [root] Command failed: execute_service_step, error: Malformed service_step, no "step" key: {} +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/service.py", line 74, in execute_service_step + raise ValueError(msg) +ValueError: Malformed service_step, no "step" key: {} + ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_verify_fails +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_verify_fails ... ok +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_empty_partition_by_uuid +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_empty_partition_by_uuid ... ok + ERROR [ironic_python_agent.utils] failed to run hardware-detect utility: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw_exception +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw_exception ... ok + ERROR [root] Command failed: fake_async_command, error: An error occurred: failed +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/extensions/test_base.py", line 38, in fake_async_command + raise ExecutionError() +ironic_python_agent.tests.unit.extensions.test_base.ExecutionError: An error occurred: failed +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__add_multi_bootloaders +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__add_multi_bootloaders ... ok +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_several_urls_and_retries +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_several_urls_and_retries ... ok +ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_execute_failed +ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_execute_failed ... ok +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_no_step +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_no_step ... ok +ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_not_found +ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_not_found ... ok +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_validation +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_validation ... ok ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_tuple_result ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_tuple_result ... ok +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_wait_async_command_execution_failure +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_wait_async_command_execution_failure ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_image_info_user_pass_none +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_image_info_user_pass_none ... ok + ERROR [ironic_python_agent.efi_utils] Could not configure UEFI boot on device /dev/fake: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/efi_utils.py", line 131, in manage_uefi + utils.execute('mount', efi_partition, efi_partition_mount_point) + File "", line 3, in execute + File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ + return self._mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call + raise effect +oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_host +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_host ... ok + WARNING [ironic_python_agent.extensions.image] Falling back to fstab entry addition label of UUID. We could not identify which UUID or PARTUUID identifier label should be used, thus UUID will be used. +ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_only_boot_flag_gpt +ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_only_boot_flag_gpt ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_set_config +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_set_config ... ok ERROR [root] Clean version mismatch for command execute_clean_step + ERROR [root] Failed to set configuration of device , ['SRIOV_EN=20']: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None +ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_only_boot_flag_mbr +ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_only_boot_flag_mbr ... ok +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure ... ok +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_wait_async_command_success +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_wait_async_command_success ... ok +ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_no_benchmarks +ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_no_benchmarks ... ok +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_tuple_result +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_tuple_result ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__append_uefi_to_fstab_handles_error +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__append_uefi_to_fstab_handles_error ... ok + ERROR [ironic_python_agent.utils] JSON returned from hardware-detect cannot be decoded: Expecting value: line 1 column 1 (char 0) +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_with_token +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_with_token ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_image_info_user_pass_success +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_image_info_user_pass_success ... ok + ERROR [root] Clean version mismatch for command execute_service_step +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_set_config_exception +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_set_config_exception ... ok +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_ip +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_ip ... ok ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_version_mismatch ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_version_mismatch ... ok +ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_parsing_failed +ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_parsing_failed ... ok +ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_encoder +ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_encoder ... ok + ERROR [ironic_python_agent.efi_utils] Could not configure UEFI boot on device /dev/fake: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/efi_utils.py", line 185, in manage_uefi + _run_efibootmgr(valid_efi_bootloaders, efi_dev, efi_part, + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/efi_utils.py", line 351, in _run_efibootmgr + boot_records = list(get_boot_records()) + ^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/efi_utils.py", line 282, in get_boot_records + efi_output = utils.execute('efibootmgr', '-v', binary=True) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 3, in execute + File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ + return self._mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1202, in _execute_mock_call + raise result +oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None + ERROR [ironic_python_agent.efi_utils] Umounting efi system partition failed. Attempted 3 times. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'no umount' +Stderr: None +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_version_mismatch +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_version_mismatch ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_bios +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_bios ... ERROR [root] Encountered issue attempting to validate the supplied configuration drive. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None +ok + WARNING [ironic_lib.utils] Failed to unlink /tmp/tmp38bry9z3/tmp419gc36c, error: [Errno 21] Is a directory: '/tmp/tmp38bry9z3/tmp419gc36c' +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_oslo_conf_user_pass_none +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_oslo_conf_user_pass_none ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config ... ok +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure_after_failure +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure_after_failure ... ok +ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_ironic_lib +ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_ironic_lib ... ok +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_ipv6 +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_ipv6 ... ok + ERROR [root] Configuraiton ESWITCH_HAIRPIN_TOT_BUFFER_SIZE[8] for device is not supported with current fw +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_with_token_invalid +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_with_token_invalid ... ok ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_with_args ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_with_args ... ok +ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_failed +ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_failed ... ok +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_with_args +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_with_args ... ok + WARNING [ironic_lib.utils] Failed to unlink /tmp/tmpc6419njv/tmpg4z_resy, error: [Errno 21] Is a directory: '/tmp/tmpc6419njv/tmpg4z_resy' +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_no_root +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_no_root ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_fw +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_fw ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_md5 +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_md5 ... ok + ERROR [ironic_python_agent.efi_utils] Could not configure UEFI boot on device /dev/fake: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/efi_utils.py", line 185, in manage_uefi + _run_efibootmgr(valid_efi_bootloaders, efi_dev, efi_part, + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/efi_utils.py", line 351, in _run_efibootmgr + boot_records = list(get_boot_records()) + ^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/efi_utils.py", line 282, in get_boot_records + efi_output = utils.execute('efibootmgr', '-v', binary=True) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 3, in execute + File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ + return self._mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1202, in _execute_mock_call + raise result +oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_oslo_conf_user_pass_success +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_oslo_conf_user_pass_success ... ok +ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_cache_hardware_info +ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_cache_hardware_info ... ok +ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_get_clean_steps +ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_get_clean_steps ... ok + WARNING [root] Can't find field vendor for device lo in device class net +ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_work +ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_work ... ok + ERROR [root] Configuraiton: UNSUPPORTED_PARAM is not supported by mstconfig, please update to the latest mstflint package. +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_agent_status +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_agent_status ... ok +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_get_service_steps +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_get_service_steps ... ok +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure_after_mount +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure_after_mount ... ok + WARNING [ironic_python_agent.inspector] no suitable root device detected +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_with_network_interface +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_with_network_interface ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_mstflint_package +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_mstflint_package ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_prep +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_prep ... ok + WARNING [ironic_lib.utils] Failed to unlink /tmp/tmpxsyr5wei/tmpftn63jjb, error: [Errno 21] Is a directory: '/tmp/tmpxsyr5wei/tmpftn63jjb' +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_sha256 +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_sha256 ... ok + WARNING [ironic_lib.utils] Failed to unlink /tmp/tmpxsyr5wei/tmpzrhouwbf, error: [Errno 21] Is a directory: '/tmp/tmpxsyr5wei/tmpzrhouwbf' +ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_get_hardware_info_success +ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_get_hardware_info_success ... ok +ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_no_root_disk +ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_no_root_disk ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_get_partition_uuids +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_get_partition_uuids ... ok + ERROR [ironic_python_agent.extensions.poll] Node lookup data can only be set when the Ironic Python Agent is running in standalone mode. +ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders +ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders ... ok +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_result +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_result ... ok +ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive +ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_sha512 +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_sha512 ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_image_location +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_image_location ... ok + WARNING [root] Can't find field vendor for device lo in device class net +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi ... ok +ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders_no_csv +ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders_no_csv ... ok + ERROR [root] Failed to move file: /firmware_images/fw1.bin, + ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None + ERROR [ironic_python_agent.extensions.standby] Flushing file system buffers failed. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None + WARNING [ironic_python_agent.extensions.standby] Failed to sync file system buffers: Command execution failed: Flushing file system buffers failed. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None + WARNING [ironic_python_agent.extensions.standby] poweroff command failed with error Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None, falling back to sysrq-trigger + ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow +ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_set_node_info_not_standalone +ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_set_node_info_not_standalone ... ok + ERROR [root] We were unable to make a new filesystem for the configuration drive. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None +ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_ok +ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_ok ... ok + WARNING [ironic_lib.utils] Failed to unlink /tmp/tmpi1p88abk/tmpgb3j6h9o, error: [Errno 21] Is a directory: '/tmp/tmpi1p88abk/tmpgb3j6h9o' + WARNING [ironic_lib.utils] Failed to unlink /tmp/tmpi1p88abk/tmpj8yiaias, error: [Errno 21] Is a directory: '/tmp/tmpi1p88abk/tmpj8yiaias' +ironic_python_agent.tests.unit.test_agent.TestFromConfig.test_override_urls +ironic_python_agent.tests.unit.test_agent.TestFromConfig.test_override_urls ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file_not_found +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file_not_found ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum ... ok +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_with_network_interface_failed +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_with_network_interface_failed ... ok +ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_windows_efi_bootloaders +ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_windows_efi_bootloaders ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_already_set +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_already_set ... ok +ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_set_node_info_success +ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_set_node_info_success ... ok +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_found_csv +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_found_csv ... ok + ERROR [root] Command failed: install_bootloader, error: meow +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/image.py", line 721, in install_bootloader + _install_grub2(device, + File "", line 3, in _install_grub2 + File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ + return self._mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call + raise effect +OSError: meow + ERROR [root] Command failed: power_off, error: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None. +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1041, in _run_shutdown_command + utils.execute("echo o > /proc/sysrq-trigger", shell=True) + File "", line 3, in execute + File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ + return self._mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call + raise effect +oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1057, in power_off + self._run_shutdown_command('poweroff') + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1045, in _run_shutdown_command + raise errors.SystemRebootError(e.exit_code, e.stdout, e.stderr) +ironic_python_agent.errors.SystemRebootError: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None. +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_command_results +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_command_results ... ok +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_grub_failure_api_override +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_grub_failure_api_override ... ok +ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata +ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata ... ok +ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive_fails_once_invalid +ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive_fails_once_invalid ... ok + ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version + response = self._request('GET', '/') + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 90, in _request + resp = self.session.request(method, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 3, in request + File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ + return self._mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call + raise effect +Exception: Boom + ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow + WARNING [root] We were unable to examine the configuration drive, bypassing. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_power_off +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_power_off ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_empty_file +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_empty_file ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_error +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_error ... ok +ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__no_efi_bootloaders +ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__no_efi_bootloaders ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http ... ok +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_disk_label_gpt +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_disk_label_gpt ... ok +ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_4096 +ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_4096 ... ok +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_get_boot_records +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_get_boot_records ... ok + ERROR [ironic_python_agent.burnin] SMART test on /dev/sdj failed with 'string' + ERROR [ironic_python_agent.utils] Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None + ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None + ERROR [root] Command failed: power_off, error: Error syncing system clock: Failed to sync hardware clock: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/utils.py", line 825, in sync_clock + execute('ntpdate', CONF.ntp_server) + File "", line 3, in execute + File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ + return self._mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call + raise effect +oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1096, in _sync_clock + utils.sync_clock(ignore_errors=ignore_errors) + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/utils.py", line 832, in sync_clock + raise errors.CommandExecutionError(msg) +ironic_python_agent.errors.CommandExecutionError: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1057, in power_off + self._run_shutdown_command('poweroff') + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1016, in _run_shutdown_command + self._sync_clock(ignore_errors=True) + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1106, in _sync_clock + raise errors.ClockSyncError(msg) +ironic_python_agent.errors.ClockSyncError: Error syncing system clock: Failed to sync hardware clock: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None + ERROR [root] Failed to open URL data: HTTP Error 500: Internal Error +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_not_found +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_not_found ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure ... ok +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_gpt_with_prep +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_gpt_with_prep ... ok +ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_ebr +ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_ebr ... ok +ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive_graceful_fail +ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive_graceful_fail ... ok +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_capture_region +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_capture_region ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status_missing +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status_missing ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_empty_file_md5 +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_empty_file_md5 ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http_err +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http_err ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_fresh +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_fresh ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_power_off_with_ntp_server +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_power_off_with_ntp_server ... ok + ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow + ERROR [root] Failed to open URL data: +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_no_partition +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_no_partition ... ok +ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_sgdisk_fail +ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_sgdisk_fail ... ok +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot ... ok +ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_tiny_partition +ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_tiny_partition ... ok +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_get_inspector +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_get_inspector ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_set_via_conf +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_set_via_conf ... ok +ironic_python_agent.tests.unit.test_raid_utils.TestGetNextFreeRaidDevice.test_no_device +ironic_python_agent.tests.unit.test_raid_utils.TestGetNextFreeRaidDevice.test_no_device ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http_url_err +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http_url_err ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_default +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_default ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure_api_override +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure_api_override ... ok +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_root +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_root ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_failed +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_failed ... ok +ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_wipefs_fail +ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_wipefs_fail ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_default +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_default ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image ... ok +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot_gpt_bios +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot_gpt_bios ... ok +ironic_python_agent.tests.unit.test_raid_utils.TestGetNextFreeRaidDevice.test_ok +ironic_python_agent.tests.unit.test_raid_utils.TestGetNextFreeRaidDevice.test_ok ... ok +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_nvme_device +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_nvme_device ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup ... ok + ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow + ERROR [ironic_python_agent.disk_utils] Security: Detected image format was qcow3, but only raw, qcow2 are allowed + WARNING [ironic_python_agent.ironic_api_client] Got invalid node data in response to query for node with addresses '00:0c:29:8c:11:b1,00:0c:29:8c:11:b2' from http://agent-api.ironic.example.org: {'node_node': 'also_not_node'} +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot_uefi +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot_uefi ... ok +ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_wipefs_not_support_force +ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_wipefs_not_support_force ... ok + ERROR [ironic_python_agent.burnin] fio (disk) failed with error Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_chronyd +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_chronyd ... ok +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_file_like +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_file_like ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_body +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_body ... ok +ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_mismatch +ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_mismatch ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_failed_md5 +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_failed_md5 ... ok +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_v1_root +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_v1_root ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_manage_failure +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_manage_failure ... ok + WARNING [ironic_python_agent.ironic_api_client] Failed looking up node with addresses '00:0c:29:8c:11:b1,00:0c:29:8c:11:b2' at http://agent-api.ironic.example.org. Check if inspection has completed? Error 400: {"node": {"uuid": "deadbeef-dabb-ad00-b105-f00d00bab10c"}} +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_fio +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_fio ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_https +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_https ... ok +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_mbr_with_prep +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_mbr_with_prep ... ok + ERROR [root] Command failed: prepare_image, error: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests! +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 980, in prepare_image + _validate_partitioning(device) + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 794, in _validate_partitioning + disk_utils.partprobe(device) + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/disk_utils.py", line 665, in partprobe + utils.execute('partprobe', device, attempts=attempts) + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/base.py", line 89, in do_not_call + raise Exception( +Exception: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests! +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_none +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_none ... ok +ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_mismatch_but_disabled +ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_mismatch_but_disabled ... ok +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_ok +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_ok ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_code +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_code ... ok + ERROR [ironic_python_agent.disk_utils] Security: Detected image format was qcow3, but only raw, qcow2 are allowed +ironic_python_agent.tests.unit.test_base.DontBlockExecuteTestCase.test_no_exception_raised_for_execute +ironic_python_agent.tests.unit.test_base.DontBlockExecuteTestCase.test_no_exception_raised_for_execute ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_md5 +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_md5 ... ok + ERROR [ironic_python_agent.format_inspector] Format inspector failed, aborting: fail + WARNING [ironic_python_agent.ironic_api_client] Got invalid node data in response to query for node with addresses '00:0c:29:8c:11:b1,00:0c:29:8c:11:b2' from http://agent-api.ironic.example.org: {'heartbeat_timeout': 300} +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_bad_partition +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_bad_partition ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_invalid_url_scheme +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_invalid_url_scheme ... ok +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_ephemeral +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_ephemeral ... ok +ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_type_disallowed +ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_type_disallowed ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_smart_test +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_smart_test ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2 +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2 ... ok +ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_gpt +ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_gpt ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_md5 +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_md5 ... ok +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_file_like_eats_error +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_file_like_eats_error ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_data +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_data ... ok +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_ntpdate +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_ntpdate ... ok +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_iscsi_device +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_iscsi_device ... ok + WARNING [ironic_python_agent.ironic_api_client] Got invalid heartbeat from the API: {'node': {'uuid': 'deadbeef-dabb-ad00-b105-f00d00bab10c'}} + ERROR [root] Mismatch provided checksum a94e683ea16d9ae44768f0a65942234d for image http://10.10.10.10/firmware_images/fw1.bin + ERROR [ironic_python_agent.extensions.image] Installing GRUB2 boot loader to device /dev/fake failed with Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None. +ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_happy_qcow2 +ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_happy_qcow2 ... ok + WARNING [ironic_python_agent.extensions.image] Unable to umount vfat partitions. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None + WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/dev. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None + WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/proc. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None + WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/run. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None + WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/sys. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_no_heartbeat_timeout +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_no_heartbeat_timeout ... ok +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_local_device +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_local_device ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_configdrive +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_configdrive ... ok +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_software_raid +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_software_raid ... ok +ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_msdos +ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_msdos ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_checksum +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_checksum ... ok + WARNING [ironic_python_agent.disk_utils] Unable to get partition table type for device hello +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_chrony +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_chrony ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_command_fail +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_command_fail ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_sha256 +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_sha256 ... ok + WARNING [ironic_python_agent.extensions.standby] Failed to call get_disk_identifier: Unable to obtain the root_uuid parameter: The hexdump tool may be missing in IPA: + ERROR [ironic_python_agent.utils] Failed to sync time using chrony to ntp server: 192.168.1.1: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: 'time verboten' +ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_happy_raw +ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_happy_raw ... ok +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_nvme_device +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_nvme_device ... ok +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_iter_like +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_iter_like ... ok + ERROR [root] The provided psid MT_0000000227 does not match the image psid MT_0000000228 +ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_unknown +ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_unknown ... ok +ironic_python_agent.tests.unit.test_hardware.TestHardwareManagerLoading.test_get_managers +ironic_python_agent.tests.unit.test_hardware.TestHardwareManagerLoading.test_get_managers ... ok +ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_safety_check_fail_but_disabled +ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_safety_check_fail_but_disabled ... ok +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_wholedisk +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_wholedisk ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_sha512 +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_sha512 ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_hexdump +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_hexdump ... ok +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_chrony_failure +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_chrony_failure ... ok + ERROR [ironic_python_agent.utils] Unable to sync clock, available methods of 'ntpdate' or 'chrony' not found. +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_node_locked +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_node_locked ... ok +ironic_python_agent.tests.unit.test_disk_utils.PopulateImageTestCase.test_populate_qcow2_image +ironic_python_agent.tests.unit.test_disk_utils.PopulateImageTestCase.test_populate_qcow2_image ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_component_flavor +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_component_flavor ... ok +ironic_python_agent.tests.unit.test_encoding.TestSerializable.test_baseclass_serialize +ironic_python_agent.tests.unit.test_encoding.TestSerializable.test_baseclass_serialize ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_enabled_set_password_exception +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_enabled_set_password_exception ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_prep +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_prep ... ok +ironic_python_agent.tests.unit.test_hardware.TestHardwareManagerLoading.test_get_managers_detail +ironic_python_agent.tests.unit.test_hardware.TestHardwareManagerLoading.test_get_managers_detail ... ok + ERROR [root] The provided firmware version 20.34.1012 does not match image firmware version 20.35.1012 + ERROR [ironic_python_agent.format_inspector] Format inspector failed, aborting: fail +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_fw_version +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_fw_version ... ok +ironic_python_agent.tests.unit.test_encoding.TestSerializable.test_childclass_serialize +ironic_python_agent.tests.unit.test_encoding.TestSerializable.test_childclass_serialize ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_enabled_unlock_exception +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_enabled_unlock_exception ... ok +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_none +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_none ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_raw_and_stream_false +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_raw_and_stream_false ... ok +ironic_python_agent.tests.unit.test_disk_utils.PopulateImageTestCase.test_populate_raw_image +ironic_python_agent.tests.unit.test_disk_utils.PopulateImageTestCase.test_populate_raw_image ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_unknown_file +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_unknown_file ... ok +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi ... ok +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_iter_like_eats_error +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_iter_like_eats_error ... ok +ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_add_partition +ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_add_partition ... ok +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp ... ok +ironic_python_agent.tests.unit.test_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr +ironic_python_agent.tests.unit.test_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_erase_exec_exception +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_erase_exec_exception ... ok + ERROR [ironic_python_agent.utils] Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_unknown_file_md5 +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_unknown_file_md5 ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_transient_exceptions +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_transient_exceptions ... ok +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info ... ok +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi_no_iscsi +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi_no_iscsi ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_raw_stream_true +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_raw_stream_true ... ok +ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit +ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit ... ok + WARNING [root] No hardware manager was able to handle interface foobar + WARNING [ironic_python_agent.netutils] LLDP timed out, remaining interfaces: [('eth0', ), ('eth1', )] +ironic_python_agent.tests.unit.test_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr_no_bootloaders +ironic_python_agent.tests.unit.test_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr_no_bootloaders ... ok +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp_raises_exception +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp_raises_exception ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_softraid_bios +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_softraid_bios ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__find_pstore_mount_point +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__find_pstore_mount_point ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_invalid_checksum +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_invalid_checksum ... ok +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_empty +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_empty ... ok +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces ... ok +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__load_ipmi_modules +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__load_ipmi_modules ... ok + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0007631778717041016 seconds. Error: Received status code 401 from http://example.org, expected 200. Response body: Unauthorized Response headers: +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp_server_is_none +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp_server_is_none ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image ... ok + WARNING [ironic_python_agent.netutils] Trailing byte received in an LLDP package: b'5' +ironic_python_agent.tests.unit.test_errors.TestErrors.test_RESTError +ironic_python_agent.tests.unit.test_errors.TestErrors.test_RESTError ... ok +ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_disconnected +ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_disconnected ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_unknown_exception +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_unknown_exception ... ok + WARNING [root] Cannot find detailed information about interface eth0 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__find_pstore_mount_point_no_pstore +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__find_pstore_mount_point_no_pstore ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_fail +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_fail ... ok + WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/md/esp using the install command which does not place Secure Boot signed binaries. +ironic_python_agent.tests.unit.test_errors.TestErrors.test_RESTError_details +ironic_python_agent.tests.unit.test_errors.TestErrors.test_RESTError_details ... ok +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_malformed +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_malformed ... ok +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_missing +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_missing ... ok +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_no_carrier +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_no_carrier ... ok +ironic-python-agent: Copying configuration from /tmp/tmpnft2vgcq/etc/ironic-python-agent to /etc/ironic-python-agent +ironic-python-agent: Copying configuration from /tmp/tmpnft2vgcq/etc/ironic-python-agent.d to /etc/ironic-python-agent.d + WARNING [ironic_python_agent.extensions.image] Ignoring GRUB2 boot loader installation failure: Unexpected error while running command. +Command: grub2-install +Exit code: 1 +Stdout: '' +Stderr: 'grub2-install: error: this utility cannot be used for EFI platforms because it does not support UEFI Secure Boot.\n'. + WARNING [ironic_python_agent.extensions.image] Ignoring GRUB2 boot loader installation failure: Unexpected error while running command. +Command: grub2-install +Exit code: 1 +Stdout: '' +Stderr: 'grub2-install: error: this utility cannot be used for EFI platforms because it does not support UEFI Secure Boot.\n'. +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image_raw_and_stream_false +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image_raw_and_stream_false ... ok + WARNING [ironic_python_agent.extensions.standby] Unable to connect to http://example.org, retrying. Error: Error downloading image: Download of image fake_id failed: Received status code 500 from http://example.org, expected 200. Response body: Oops Response headers: + WARNING [ironic_python_agent.extensions.standby] Unable to connect to http://example.org, retrying. Error: Error downloading image: Download of image fake_id failed: Received status code 500 from http://example.org, expected 200. Response body: Oops Response headers: + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0011272430419921875 seconds. Error: Received status code 500 from http://example.org, expected 200. Response body: Oops Response headers: +ironic_python_agent.tests.unit.test_errors.TestErrors.test_error_classes +ironic_python_agent.tests.unit.test_errors.TestErrors.test_error_classes ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__get_device_info +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__get_device_info ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_unknown_exception_fallback +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_unknown_exception_fallback ... ok +ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_is_always_busy +ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_is_always_busy ... ok +ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy +ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy ... ok + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda1. Skipping +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_softraid_uefi_gpt +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_softraid_uefi_gpt ... ok + WARNING [root] Cannot find detailed information about interface eth0 +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries ... ok +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_multiple +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_multiple ... ok +ironic_python_agent.tests.unit.test_errors.TestErrors.test_error_string +ironic_python_agent.tests.unit.test_errors.TestErrors.test_error_string ... ok +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_partuuid_success +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_partuuid_success ... ok + WARNING [ironic_python_agent.netutils] LLDP timed out, remaining interfaces: [('eth1', )] + WARNING [ironic_python_agent.extensions.standby] Unable to connect to http://example.org, retrying. Error: + WARNING [ironic_python_agent.extensions.standby] Unable to connect to http://example.org, retrying. Error: Error downloading image: Download of image fake_id failed: Received status code 500 from http://example.org, expected 200. Response body: Response headers: +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image_raw_stream_true +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image_raw_stream_true ... ok +ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_is_busy_once +ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_is_busy_once ... ok +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_biosdevname +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_biosdevname ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_with_uuid +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_with_uuid ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__get_md_uuid +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__get_md_uuid WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping + ... ok +ironic-python-agent: Copying configuration from /tmp/tmpb7tb4nur/etc/ironic-python-agent to /etc/ironic-python-agent + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sdb. Skipping + WARNING [root] Device /dev/fake1 is inaccessible, skipping... Error: nope +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_linux_raid_member +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_linux_raid_memberironic-python-agent: Copying configuration from /tmp/tmpb7tb4nur/etc/ironic-python-agent.d to /etc/ironic-python-agent.d + ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None + ... ERROR [ironic_python_agent.extensions.standby] Flushing file system buffers failed. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None +ok + WARNING [ironic_python_agent.extensions.standby] Failed to sync file system buffers: Command execution failed: Flushing file system buffers failed. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None + WARNING [ironic_python_agent.extensions.standby] reboot command failed with error Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None, falling back to sysrq-trigger +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_ipv4 +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_ipv4 ... ok +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_one_empty_interface +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_one_empty_interface ... ok +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success ... ok +ironic_python_agent.tests.unit.test_hardware.TestCollectSystemLogs.test__collect_udev +ironic_python_agent.tests.unit.test_hardware.TestCollectSystemLogs.test__collect_udev ... ok + WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. + WARNING [root] Cannot find detailed information about interface bond0 +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries_success +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries_success ... ok + ERROR [root] Command failed: run_image, error: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None. +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1043, in _run_shutdown_command + utils.execute("echo b > /proc/sysrq-trigger", shell=True) + File "", line 3, in execute + File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ + return self._mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call + raise effect +oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1051, in run_image + self._run_shutdown_command('reboot') + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1045, in _run_shutdown_command + raise errors.SystemRebootError(e.exit_code, e.stdout, e.stderr) +ironic_python_agent.errors.SystemRebootError: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None. +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_dev_becomes_avail_busybox +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_dev_becomes_avail_busybox ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_ipv6 +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_ipv6 ... ok + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sdb. Skipping + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_image +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_image ... ok + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md1. Skipping +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_linux_raid_member_false +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_linux_raid_member_false ... ok +ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy_mounted +ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy_mounted ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi ... ok +ironic-python-agent: /some/path/etc/ironic-python-agent not found +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_bond +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_bond ... ironic-python-agent: /some/path/etc/ironic-python-agent.d not found +ok + ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None + ERROR [ironic_python_agent.extensions.standby] Flushing file system buffers failed. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None + WARNING [ironic_python_agent.extensions.standby] Failed to sync file system buffers: Command execution failed: Flushing file system buffers failed. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_dev_becomes_avail_psmisc +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_dev_becomes_avail_psmisc ... ok +ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_mounted_no_files +ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_mounted_no_files ... ok + WARNING [ironic_python_agent.extensions.standby] reboot command failed with error Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None, falling back to sysrq-trigger +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestCheckPrereq.test_check_prereq +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestCheckPrereq.test_check_prereq ... ok + ERROR [ironic_python_agent.netutils] Socket for network interface eth0 said that it was ready to read we were unable to read from the socket while trying to get LLDP packet. Skipping this network interface. +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/netutils.py", line 197, in _get_lldp_info + lldp_info[interface[0]] = _receive_lldp_packets(s) + ^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/netutils.py", line 160, in _receive_lldp_packets + pkt = sock.recv(1600) + ^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ + return self._mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call + raise effect +OSError: BOOM +ironic_python_agent.tests.unit.test_hardware.TestCollectSystemLogs.test_collect_system_logs +ironic_python_agent.tests.unit.test_hardware.TestCollectSystemLogs.test_collect_system_logs ... ironic-python-agent: /tmp/tmps2nqjdxs/etc/ironic-python-agent not found + ERROR [root] Failed Prerequisite check. Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None +ok +ironic-python-agent: /tmp/tmps2nqjdxs/etc/ironic-python-agent.d not found +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_protocol +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_protocol ... ok + WARNING [root] Cannot find detailed information about interface eth0 +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success_raid +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success_raid ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_fails +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_fails ... ok +ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_files +ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_files WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. + ... ok + WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device ... WARNING [root] Device /dev/sda1 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda1' + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda1. Skipping + WARNING [ironic_python_agent.extensions.image] Falling back to fstab entry addition label of UUID. We could not identify which UUID or PARTUUID identifier label should be used, thus UUID will be used. +ok +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_device_in_use_busybox +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_device_in_use_busybox ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestCheckPrereq.test_check_prereq_exception +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestCheckPrereq.test_check_prereq_exception ... ok +ironic-python-agent: No virtual media device detected +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp ... ok +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_socket_recv_error +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_socket_recv_error ... ok +ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_vmedia +ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_vmedia ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_409_status_code +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_409_status_code ... ok + WARNING [root] Could not determine if /dev/sdfake is aread-only device. Error: +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_wrong_block_type +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_wrong_block_type ... ok +ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_already_running +ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_already_running ... ok +ironic-python-agent: Cannot use configuration from virtual media as the agent was not booted from virtual media. +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_device_in_use_psmisc +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_device_in_use_psmisc ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_invalid +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_invalid ... ok +ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_vmedia_found_not_booted_from_vmedia +ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_vmedia_found_not_booted_from_vmedia ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_apply_net_firmware_update +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_apply_net_firmware_update ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_fstab +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_fstab ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_error +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_error ... ok +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets ... ok +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_no_device +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_no_device ... ok + WARNING [root] Attempted to invoke multipath utilities, but we encountered an error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'lacking kernel support' +Stderr: None +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_agent_version_unsupported +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_agent_version_unsupported ... ok + WARNING [ironic_python_agent.disk_utils] Failed to check the device fake-dev with fuser: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: 'fake' + WARNING [ironic_python_agent.disk_utils] Failed to check the device fake-dev with fuser: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: 'fake' + WARNING [root] Cannot find detailed information about interface eth0 +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid ... ok + ERROR [root] Duplicate componentFlavor MT_0000000540 +ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_all +ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_all ... ok +ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_lacking_support +ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_lacking_support ... ok + ERROR [ironic_python_agent.netutils] Failed to open all RawPromiscuousSockets, attempting to close any opened sockets. +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_no_fuser +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_no_fuser ... ok +ironic_python_agent.tests.unit.test_utils.TestUnmountOfConfig.test__unmount_any_config_drives +ironic_python_agent.tests.unit.test_utils.TestUnmountOfConfig.test__unmount_any_config_drives ... ok +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp_error +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp_error ... ok + WARNING [ironic_python_agent.extensions.standby] poweroff command failed with error Unexpected error while running command. +Command: None +Exit code: - +Stdout: '' +Stderr: None, falling back to sysrq-trigger + WARNING [root] Attempted to invoke multipath utilities, but we encountered an error: +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_1 +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_1 ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images_duplicate_component_flavor_exception +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images_duplicate_component_flavor_exception ... ok + ERROR [ironic_python_agent.extensions.image] Installing GRUB2 boot loader to device /dev/fake failed with Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'error' +Stderr: None. +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets_bind_fail +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets_bind_fail ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_false +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_false ... ok +ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_ll_fails +ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_ll_fails ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_poweroff_sysrq +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_poweroff_sysrq ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_mount_fails +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_mount_fails ... ok +ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_boot_only +ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_boot_only ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_validate_images_schema +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_validate_images_schema ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_2 +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_2 ... ok + WARNING [root] Could not determine if /dev/sdfake1 is aread-only device. Error: + WARNING [root] Cannot find detailed information about interface eth0 + ERROR [root] Invalid parameters for image {'url': 'http://10.10.10.10/firmware_images/fw2.bin', 'checksum': 'a94e683ea16d9ae44768f0a65942234c', 'checksumType': 'sha512', 'component': 'MT_0000000652', 'version': '24.34.1002'},please provide the following parameters url, checksum, checksumType, componentFlavor, version +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets_exception +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets_exception ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_partition_error +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_partition_error ... ok + WARNING [ironic_python_agent.extensions.standby] reboot command has been ignored, falling back to sysrq-trigger +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_vendor_info +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_vendor_info ... ok +ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_mpathconf +ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_mpathconf ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_validate_images_schema_invalid_parameter +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_validate_images_schema_invalid_parameter ... ok +ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_disabled +ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_disabled ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_3 +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_3 ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_reboot_sysrq +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_reboot_sysrq ... ok +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_wrap_ipv6 +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_wrap_ipv6 ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_partition_ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_partition_ok ... ok +ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_no_multipath +ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_no_multipath ... ok + WARNING [root] Cannot find detailed information about interface eth0 + WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. + WARNING [root] Cannot find detailed information about interface eth0.100 + WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card ... ok + WARNING [root] Device /dev/sda1 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda1' + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda1. Skipping + WARNING [ironic_python_agent.extensions.image] Falling back to fstab entry addition label of UUID. We could not identify which UUID or PARTUUID identifier label should be used, thus UUID will be used. + WARNING [root] Attempted to determine if multipath tools were present. Not detected. Error recorded: +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_wrap_ipv6_with_ipv4 +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_wrap_ipv6_with_ipv4 ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_invalid_status_code +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_invalid_status_code ... ok + WARNING [root] Something went wrong when readlink for interface eth2. Error: fake +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_exists +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_exists ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_no_fstab +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_no_fstab ... ok +ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_not_found_mpath_config +ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_not_found_mpath_config ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_connection_error +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_connection_error ... ok +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_execute_error +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_execute_error ... ok + WARNING [root] Cannot find detailed information about interface eth0 + WARNING [ironic_python_agent.numa_inspector] Failed to get some NUMA information (Error in NUMA node data format: An unexpected error occurred. Please try back later.) +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device ... ok + WARNING [root] Cannot find detailed information about interface eth0.100 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_exists_no_match +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_exists_no_match ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_exception +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_exception ... WARNING [root] Cannot find detailed information about interface eth0.101 +ok +ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_failure +ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_failure ... ok +ironic_python_agent.tests.unit.test_multi_hardware_clean_steps.TestMultipleHardwareManagerCleanSteps.test_clean_step_ordering +ironic_python_agent.tests.unit.test_multi_hardware_clean_steps.TestMultipleHardwareManagerCleanSteps.test_clean_step_ordering ... ok +ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_with_config +ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_with_config ... ok +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_no_i40e_driver +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_no_i40e_driver ... ok + WARNING [ironic_python_agent.ironic_api_client] Connection error when accessing 2001:db8::1/v1/heartbeat/meow, trying the next URL. Error: +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces_using_lldp +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces_using_lldp ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_several_urls +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_several_urls ... ok + ERROR [ironic_python_agent.inspector] inspector url error 400: , proceeding with lookup +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_path_doesnt_exist +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_path_doesnt_exist WARNING [ironic_python_agent.numa_inspector] Failed to get some NUMA information (Error in NUMA node data format: An unexpected error occurred. Please try back later.) + ... ok +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_error +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_error ... ok +ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_no_nics_dirs +ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_no_nics_dirs ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_node +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_node ... ok + WARNING [root] Cannot find detailed information about interface eth0 + WARNING [root] Cannot find detailed information about interface eth1 + WARNING [root] Cannot find detailed information about interface eth0.100 + WARNING [root] Cannot find detailed information about interface eth0.101 + WARNING [root] Cannot find detailed information about interface eth1.102 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration ... ok WARNING [root] Cannot find detailed information about interface eth1.103 + WARNING [ironic_python_agent.numa_inspector] Failed to get list of NUMA nodes, NUMA node path does not exist: /sys/devices/system/node/ +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader ... ok +ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_no_numa_dirs +ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_no_numa_dirs ... ok ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces_using_lldp_all ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces_using_lldp_all ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_node_retries +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_node_retries ... ok +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_in_cna_card +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_in_cna_card ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration_no_delete +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration_no_delete ... ok +ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_success +ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_success ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_steps_exist +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_steps_exist ... ok + WARNING [ironic_python_agent.extensions.image] Failed to copy grub.cfg file for EFI boot operation. Error copy failed + WARNING [ironic_python_agent.extensions.image] Failed to copy grub.cfg file for EFI boot operation. Error copy failed + WARNING [ironic_python_agent.extensions.image] Failed to copy grubenv file. Error: copy failed WARNING [root] Cannot find detailed information about interface eth0 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_invalid +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_invalid ... ok +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_write_error +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_write_error ... ok ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_invalid_int ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_invalid_int ... ok +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_cores_info +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_cores_info ... ok WARNING [root] Mismatched hardware managers versions. Agent version: {'specific': '1'}, node version: {'not_specific': '1'} +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader_grubcfg_fails +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader_grubcfg_fails ... ok +ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive +ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_nvram +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_nvram ... ok ironic_python_agent.tests.unit.test_hardware.TestVersions.test_check_versions ironic_python_agent.tests.unit.test_hardware.TestVersions.test_check_versions ... ok +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_memory_info +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_memory_info ... ok +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_wrong_dir_path +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_wrong_dir_path ... ok ironic_python_agent.tests.unit.test_hardware.TestVersions.test_get_current_versions ironic_python_agent.tests.unit.test_hardware.TestVersions.test_get_current_versions ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_nvram_defaults +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_nvram_defaults ... ok +ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_bad_status_code +ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_bad_status_code ... ok ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_content_and_deleted ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_content_and_deleted ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data ... ok +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_nics_info +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_nics_info ... ok +ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_bad_url +ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_bad_url ... ok ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_missing_path ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_missing_path ... ok +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_no_cna_card_detected +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_no_cna_card_detected ... ok ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_no_directories ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_no_directories ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader_with_grubcfg +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader_with_grubcfg ... ok +ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_base64_error +ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_base64_error ... ok +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_thread_dirs +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_thread_dirs ... ok ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_numeric_fields ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_numeric_fields ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data_decode_exception +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data_decode_exception ... ok ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_root_without_on ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_root_without_on ... ok +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_cores_info +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_cores_info ... ok +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_with_collect_lldp_disabled +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_with_collect_lldp_disabled ... ok ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_unknown_fields ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_unknown_fields ... ok -ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_benchmarks -ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_benchmarks ... ok - ERROR [ironic_python_agent.utils] failed to run hardware-detect utility: Unexpected error while running command. +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data_netutils_exception +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data_netutils_exception ... ok + WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_memory_info +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_memory_info ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_no_loader +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_no_loader ... ok +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_with_collect_lldp_enabled +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_with_collect_lldp_enabled ... ok + ERROR [ironic_python_agent.disk_utils] Security: Unable to safety check image +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration ... ok +ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_fail_format_error +ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_fail_format_error ... ok + ERROR [ironic_python_agent.disk_utils] Security: Image failed safety check +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_nics_info +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_nics_info ... ok +ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_fail_safety_check +ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_fail_safety_check ... ok +ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_pass +ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_pass ... ok + ERROR [ironic_python_agent.utils] collector failed: boom +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures ... ok +ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_base64_string +ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_base64_string ... ok +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collector_failed +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collector_failed ... ok +ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found +ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found ... ok +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format_cores_info +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format_cores_info ... ok + WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures_raid5 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures_raid5 ... ok +ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_binary +ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_binary ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_preserve_failure +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_preserve_failure ... ok +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format_memory_info +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format_memory_info ... ok +ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found_with_dev +ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found_with_dev ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures_raid6 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures_raid6 ... ok +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_valid_format +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_valid_format ... ok +ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_not_found +ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_not_found ... ok +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collectors_option +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collectors_option ... ok +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_no_nics_dir +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_no_nics_dir ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_efi +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_efi ... ok +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete ... ok + WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_preserve_failure2 +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_preserve_failure2 ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_empty_target_raid_config +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_empty_target_raid_config ... ok +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete_not_exists +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete_not_exists ... ok +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_memory_unit +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_memory_unit ... ok +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_disabled +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_disabled ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_failure_with_nvme +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_failure_with_nvme ... ok +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content ... ok +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_numa_format_memory_info +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_numa_format_memory_info ... ok +ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_gzip_error +ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_gzip_error ... ok + WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. + ERROR [ironic_python_agent.extensions.image] Installing GRUB2 boot loader to device /dev/fake failed with Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'error' +Stderr: None. + ERROR [ironic_python_agent.extensions.image] Umounting efi system partition failed. Attempted 3 times. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'error' +Stderr: None +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_umount_fails +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_umount_fails ... ok +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_modes +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_modes ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_force_gpt_with_disk_label +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_force_gpt_with_disk_label ... ok +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_threaddir_format_cores_info +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_threaddir_format_cores_info ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_invalid_hints +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_invalid_hints ... ok + ERROR [ironic_python_agent.utils] boom +ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_DeployFail_exc +ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_DeployFail_exc ... ok +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_extensions_failed +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_extensions_failed ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_empty +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_empty ... ok + WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' + WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' + WARNING [root] Device /dev/sdb is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdb' + WARNING [root] Device /dev/md0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/md0' + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping + WARNING [root] Can't find field vendor for device md0 in device class block +ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_absent +ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_absent ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_invalid_raid_config +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_invalid_raid_config ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_not_bootable +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_not_bootable ... ok + WARNING [ironic_python_agent.disk_utils] Unable to probe for partitions on device /dev/fake, the partitioning table may be broken. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None +ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_exc +ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_exc ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_uefi_mode +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_uefi_mode ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_max_is_first_logical +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_max_is_first_logical ... ok +ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_present +ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_present ... ok +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_inspector_error +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_inspector_error ... ok +ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_insecure +ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_insecure ... ok +ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_present_uppercase +ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_present_uppercase ... ok + WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_timeout +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_timeout ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_find_partition +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_find_partition ... ok +ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device +ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat ... ok +ironic-python-agent: Device sdh was disqualified as virtual media. Type: other, Transport: usb + WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. +ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_other +ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_other ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_ip6 +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_ip6 ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_given_partition +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_given_partition ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_mismatching_hints +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_mismatching_hints ... ok +ironic-python-agent: Excluding device sdh1 from virtual mediaconsideration as it is a partition. +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_token +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_token ... ok +ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_part +ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_part ... ok +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_mdns +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_mdns ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_verify_ca +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_verify_ca ... ok + WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. +ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_rom +ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_rom ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_with_entry_removal +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_with_entry_removal ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_no_max +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_no_max ... ok +ironic-python-agent: Device sdh was disqualified as virtual media. Type: disk, Transport: sata +ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test +ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test ... ok +ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_sata +ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_sata ... ok +ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_ssl +ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_ssl ... ok +ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_doesnt_exist_disabled +ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_doesnt_exist_disabled WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. + ... ok + ERROR [root] Finding the partition with UUID 11111111-2222-3333-4444-555555555555 on device /dev/fake failed with Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None +ironic-python-agent: Device sdh was disqualified as virtual media. Type: other, Transport: scsi +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_partitions_detected +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_partitions_detected ... ok +ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_command_fail +ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_command_fail ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_with_entry_removal_lenovo +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_with_entry_removal_lenovo ... ok +ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_scsi +ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_scsi ... ok +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_ok +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_ok ... ok +ironic-python-agent: Device sdh appears to not qualify as virtual due to the device size. Size: 1610612736000 +ironic-python-agent: Device sdh was disqualified as virtual media. Type: disk, Transport: usb +ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_disabled +ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_disabled ... ok + WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. + WARNING [ironic_python_agent.extensions.image] efibootmgr is not available in the ramdisk + ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error +ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_fallback_partuuid +ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_fallback_partuuid ... ok +ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_too_large +ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_too_large ... ok + ERROR [root] Command failed: install_bootloader, error: +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/image.py", line 721, in install_bootloader + _install_grub2(device, + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/image.py", line 167, in _install_grub2 + root_partition = partition_utils.get_partition(device, uuid=root_uuid) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/partition_utils.py", line 615, in get_partition + ipa_utils.rescan_device(device) + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/utils.py", line 921, in rescan_device + execute('partx', '-av', device, attempts=3, delay_on_retry=True) + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/utils.py", line 77, in execute + return ironic_utils.execute(*cmd, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 3, in do_not_call + File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ + return self._mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call + raise effect +FileNotFoundError +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_raid_5 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_raid_5 ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test_install_bootloader_failure +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test_install_bootloader_failure ... ok +ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_label +ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_label ... ok +ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_safe +ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_safe ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map ... ok +POST: /v1/commands {'name': 'do_things', 'params': []} +GOT: +POST: /v1/commands {'name': 'do_things', 'params': {'key': 'value'}} +GOT: +POST: /v1/commands?wait=false {'name': 'do_things', 'params': {'key': 'value'}} +GOT: +POST: /v1/commands?wait=true {'name': 'do_things', 'params': {'key': 'value'}} +GOT: +POST: /v1/commands {} +GOT: +POST: /v1/commands?wait=false?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 {'name': 'do_things', 'params': {'key': 'value', 'wait': False, 'agent_token': '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789'}} +GOT: +POST: /v1/commands?wait=false?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 {'name': 'do_things', 'params': {'key': 'value', 'wait': False, 'agent_token': '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789'}} +GOT: +GET: /v1/status None +GOT: +GET: /v1/commands/abc123 None +GOT: +GET: /v1/commands None +GOT: +GET: /v1/foo None +GOT: +GET: / None +GOT: +GET: /v1 None +GOT: + ERROR [root] No partition with UUID 11111111-2222-3333-4444-555555555555 found on device /dev/fake + ERROR [root] duplicate settings for device ID 1017 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_raid_6 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_raid_6 ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_duplicate_device_id +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_duplicate_device_id ... ok +ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_no_device_found +ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_no_device_found ... ok + ERROR [root] There is no deviceID provided for this settings +ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_unsafe +ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_unsafe ... ok +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_ok_with_ironic_url +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_ok_with_ironic_url ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_invalid_firmware_settings_config +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_invalid_firmware_settings_config ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_skip_list_existing_device_does_not_match +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_skip_list_existing_device_does_not_match ... ok +ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_partuuid +ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_partuuid ... ok + ERROR [ironic_python_agent.utils] foo + ERROR [ironic_python_agent.utils] bar + ERROR [ironic_python_agent.utils] baz +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_prepare_nvidia_nic_config +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_prepare_nvidia_nic_config ERROR [ironic_python_agent.utils] foo + ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_fallback_bios +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_fallback_bios ... ok +ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute +ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute ... ok +ironic_python_agent.tests.unit.test_utils.TestFailures.test_get_error +ironic_python_agent.tests.unit.test_utils.TestFailures.test_get_error ... ok +ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_ok +ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_ok ... ok +ironic_python_agent.tests.unit.test_utils.TestFailures.test_raise +ironic_python_agent.tests.unit.test_utils.TestFailures.test_raise ... ok +ironic_python_agent.tests.unit.test_disk_utils.GetDeviceByteSizeTestCase.test_get_dev_byte_size +ironic_python_agent.tests.unit.test_disk_utils.GetDeviceByteSizeTestCase.test_get_dev_byte_size ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_complete_skip_list +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_complete_skip_list ... ok +ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_empty +ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_empty ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_fallback_uefi +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_fallback_uefi ... ok +ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_fields +ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_fields ... ok +ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_normal +ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_normal ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_driver_internal_info +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_driver_internal_info ... ok +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_block_uuid +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_block_uuid ... ok +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_block_uuid_fallback_to_uuid +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_block_uuid_fallback_to_uuid ... ok +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_dict +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_dict ... ok +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_no_logical_partitions +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_no_logical_partitions ... ok +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_wrong_partition_table +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_wrong_partition_table ... ok + ERROR [ironic_python_agent.disk_utils] Unable to stat device /dev/disk/by-path/ip-1.2.3.4:5678-iscsi-iqn.fake-lun-9 after attempting to verify 2 times. +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_json_str +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_json_str ... ok +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_modes_exists +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_modes_exists ... ok + ERROR [ironic_python_agent.disk_utils] Unable to stat device /dev/disk/by-path/ip-1.2.3.4:5678-iscsi-iqn.fake-lun-9 after attempting to verify 3 times. +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_attempts +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_attempts ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_str +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_str ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_hints +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_hints ... ok +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_on +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_on ... ok +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_raises +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_raises ... ok +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_works +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_works ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_implicit_with_secure_boot +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_implicit_with_secure_boot ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_nvme +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_nvme ... ok +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_owner +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_owner ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_invalid_cap +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_invalid_cap ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_override_with_instance_info +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_override_with_instance_info ... ok + WARNING [root] Failed to remove partitions on /dev/sda: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'No md superblock detected' +Stderr: None + WARNING [root] Failed to remove partitions on /dev/sdb: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'No md superblock detected' +Stderr: None +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_owner_and_group +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_owner_and_group ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_journald +ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_journald ... ok +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url ... ok + ERROR [root] Unable to clean all softraid correctly. Remaining ['/dev/md0'] +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_both_succeed +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_both_succeed ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_failure_blocks_remaining +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_failure_blocks_remaining ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_journald_with_logfile +ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_journald_with_logfile ... ok +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url_formatting +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url_formatting ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_partition +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_partition ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_non_journald +ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_non_journald ... ok + WARNING [root] RAID device /dev/md1 will not be deleted + WARNING [root] Software RAID device /dev/md1 is not going to be deleted as its volume name - small - is on the skip list + WARNING [root] Software RAID device /dev/md1 was not deleted +ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_non_journald_with_logfile +ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_non_journald_with_logfile ... ok + WARNING [root] Holder disk /dev/sda contains logical disk on the skip list. Deleting just partitions: ['1'] + WARNING [root] Holder disk /dev/sdb contains logical disk on the skip list. Deleting just partitions: ['1'] +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_both_succeed +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_both_succeed ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_skip_list +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_skip_list ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_device_extractor +ironic_python_agent.tests.unit.test_utils.TestUtils.test_device_extractor ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_deploy_steps_exist +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_deploy_steps_exist ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_dict +ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_dict ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_json_string +ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_json_string ... ok + WARNING [ironic_python_agent.utils] Ignoring malformed capability 'test:world:2'. Format should be 'key:val'. + WARNING [ironic_python_agent.utils] Ignoring malformed capability 'badformat'. Format should be 'key:val'. +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_erase_disabled +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_erase_disabled ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_old_format_caps +ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_old_format_caps ... ok +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_generic_method_only +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_generic_method_only ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_command_output +ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_command_output ... ok + ERROR [root] Failed to invoke secure erase, fallback to shred is not enabled: Error erasing block device: An unknown error occurred erasing block device /dev/sda +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_failed +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_failed ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output +ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output ... ok +ironic_python_agent.tests.unit.test_inspector.TestMisc.test_default_collector_loadable +ironic_python_agent.tests.unit.test_inspector.TestMisc.test_default_collector_loadable ... ok + WARNING [root] Failed to invoke secure erase, falling back to shred: Error erasing block device: An unknown error occurred erasing block device /dev/sda +ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_fail +ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_fail ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_failed_continued +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_failed_continued ... ok +ironic_python_agent.tests.unit.test_inspector.TestMisc.test_raise_on_wrong_collector +ironic_python_agent.tests.unit.test_inspector.TestMisc.test_raise_on_wrong_collector ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_with_lines +ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_with_lines ... ok +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test__get_actual_component_devices +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test__get_actual_component_devices ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_with_units +ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_with_units ... ok + ERROR [root] Failed to invoke secure erase, fallback to shred is not enabled: Error erasing block device: Block device /dev/sda is frozen and cannot be erased +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_frozen +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_frozen ... ok +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test__get_actual_component_devices_broken_raid0 +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test__get_actual_component_devices_broken_raid0 ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_ssl_client_options +ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_ssl_client_options ... ok +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device ... ok + ERROR [root] Failed to invoke secure erase, fallback to shred is not enabled: Error erasing block device: Block device /dev/sda already has a security password set +ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_disks_too_small +ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_disks_too_small ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_enabled +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_enabled ... ok +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_create_device +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_create_device ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_primary_sort +ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_primary_sort ... ok + WARNING [ironic_python_agent.raid_utils] Found /dev/sdb1 to be missing from /dev/md0 ... re-adding! +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_enabled_unlock_attempt +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_enabled_unlock_attempt ... ok +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_read_device +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_read_device ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_secondary_sort +ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_secondary_sort ... ok + WARNING [ironic_python_agent.raid_utils] Found /dev/sdb1 to be missing from /dev/md0 ... re-adding! +ironic_python_agent.tests.unit.test_utils.TestUtils.test_gzip_and_b64encode +ironic_python_agent.tests.unit.test_utils.TestUtils.test_gzip_and_b64encode ... ok +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_missing_device +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_missing_device ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_unlock_fallback_pass +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_unlock_fallback_pass ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_is_journalctl_present +ironic_python_agent.tests.unit.test_utils.TestUtils.test_is_journalctl_present ... ok +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_with_volume_name +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_with_volume_name ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_success +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_success ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_is_journalctl_present_false +ironic_python_agent.tests.unit.test_utils.TestUtils.test_is_journalctl_present_false ... ok +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_get_volume_name_of_raid_device +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_get_volume_name_of_raid_device ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_secure_boot_overriden_with_instance_info_caps +ironic_python_agent.tests.unit.test_utils.TestUtils.test_secure_boot_overriden_with_instance_info_caps ... ok + WARNING [root] Unable to execute `smartctl` utility: boom +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_get_volume_name_of_raid_device_invalid +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_get_volume_name_of_raid_device_invalid ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_success_no_smartctl +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_success_no_smartctl ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type +ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type ... ok +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_bios_gpt +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_bios_gpt ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nosecurity_shred +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nosecurity_shred ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_disk_label_ignored_with_uefi +ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_disk_label_ignored_with_uefi ... ok +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_bios_msdos +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_bios_msdos ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_gpt +ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_gpt ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_notsupported_shred +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_notsupported_shred ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_with_disk_label +ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_with_disk_label ... ok +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_crypto_success +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_crypto_success ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_with_instance_disk_label +ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_with_instance_disk_label ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_failed +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_failed ... ok +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt_efi_provided +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt_efi_provided ... ok + ERROR [root] nvme-cli did not return any supported format modes for device: /dev/nvme0n1 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_format_unsupported +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_format_unsupported ... ok +/bin/sh: line 1: mkisofs: command not found +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt_esp_not_found +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt_esp_not_found ... ok +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_mainline_fails +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_mainline_fails ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_userdata_success +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_userdata_success ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_0_pass_no_zeroize +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_0_pass_no_zeroize ... ok + ERROR [root] Erasing block device /dev/sda failed with error +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_mainline_only +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_mainline_only ... ok +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_bad_iso_qcow2 +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_bad_iso_qcow2 ... skipped 'mkisofs not installed' +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_fail_oserror +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_fail_oserror ... ok + ERROR [root] Erasing block device /dev/sda failed with error Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None -ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_execute_failed -ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_execute_failed ... ok -ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_no_benchmarks -ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_no_benchmarks ... ok - ERROR [ironic_python_agent.utils] JSON returned from hardware-detect cannot be decoded: Expecting value: line 1 column 1 (char 0) -ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_parsing_failed -ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_parsing_failed ... ok -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test ... ok - ERROR [root] Finding the partition with UUID 11111111-2222-3333-4444-555555555555 on device /dev/fake failed with Unexpected error while running command. +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_fail_processerror +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_fail_processerror ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_uses_internal_info +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_uses_internal_info ... ok +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_manager_method_not_found +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_manager_method_not_found ... ok + WARNING [root] Refusing to permit ATA Secure Erase as direct ATA commands via the `smartctl` utility with device /dev/sda do not succeed. +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_smartctl_fails_security_fallback_to_shred +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_smartctl_fails_security_fallback_to_shred ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_smartctl_unsupported_shred +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_smartctl_unsupported_shred ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_virtual_media +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_virtual_media ... ok + ERROR [root] Unexpected error dispatching unexpected_fail to manager : A problem was encountered +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/hardware.py", line 3468, in dispatch_to_all_managers + response = getattr(manager, method)(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 32, in wrapper + return fn(self, *args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 101, in unexpected_fail + raise RuntimeError('A problem was encountered') +RuntimeError: A problem was encountered +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_method_fails +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_method_fails ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_concurrency +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_concurrency ... ok +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_generic_method_only +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_generic_method_only ... ok +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_mainline_fails +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_mainline_fails ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_concurrency_pool_size +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_concurrency_pool_size ... ok +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_mainline_method_only +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_mainline_method_only ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_express +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_express ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_express_stops_on_safety_failure +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_express_stops_on_safety_failure ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata ... ok +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_manager_method_not_found +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_manager_method_not_found ... ok + ERROR [root] Failed to erase the metadata on device "/dev/sdb". Error: Unexpected error while running command. Command: None Exit code: - -Stdout: 'boom' +Stdout: 'Booo00000ooommmmm' Stderr: None -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_command_fail -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_command_fail ... ok -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_fallback_partuuid -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_fallback_partuuid ... ok -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_label -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_label ... ok - ERROR [root] No partition with UUID 11111111-2222-3333-4444-555555555555 found on device /dev/fake -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_no_device_found -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_no_device_found ... ok -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_partuuid -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_partuuid ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata_error +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata_error ... ok + ERROR [root] Unexpected error dispatching unexpected_fail to manager : A problem was encountered +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/hardware.py", line 3512, in dispatch_to_managers + return getattr(manager, method)(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 32, in wrapper + return fn(self, *args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 101, in unexpected_fail + raise RuntimeError('A problem was encountered') +RuntimeError: A problem was encountered +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata_safety_check +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata_safety_check ... ok +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_method_fails +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_method_fails ... ok +ironic_python_agent.tests.unit.test_multi_hardware.TestNoHardwareManagerLoading.test_no_managers_found +ironic_python_agent.tests.unit.test_multi_hardware.TestNoHardwareManagerLoading.test_no_managers_found ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default ... ok +ironic_python_agent.tests.unit.test_partition_utils.RealFilePartitioningTestCase.test_different_sizes +ironic_python_agent.tests.unit.test_partition_utils.RealFilePartitioningTestCase.test_different_sizes ... skipped "parted utility was not found: [Errno 2] No such file or directory: 'parted'" +ironic_python_agent.tests.unit.test_partition_utils.RealFilePartitioningTestCase.test_whole_disk +ironic_python_agent.tests.unit.test_partition_utils.RealFilePartitioningTestCase.test_whole_disk ... skipped "parted utility was not found: [Errno 2] No such file or directory: 'parted'" ironic-python-agent: Excluding device sda1 from virtual mediaconsideration as it is a partition. ironic-python-agent: Found possible vmedia candidate /dev/sda2, however the device failed vmedia validity checking. ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels @@ -7167,114 +9623,177 @@ ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_by_device ... ok ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_by_device_device_invalid ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_by_device_device_invalid ... ok -ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_get_clean_steps -ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_get_clean_steps ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__message_format_partition_bios -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__message_format_partition_bios ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__get_device_conf_dict -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__get_device_conf_dict ... ok ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_cannot_find_dev ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_cannot_find_dev ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__message_format_partition_uefi -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__message_format_partition_uefi ... ok - ERROR [root] Failed to query firmware of device : Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__get_device_conf_dict_exception -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__get_device_conf_dict_exception ... ok - ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boop' -Stderr: None -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__sync_clock -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__sync_clock ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data_no_data -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data_no_data ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_cache_and_write_image -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_cache_and_write_image ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool ... ok - ERROR [root] Failed to query tool configuration of device : Unexpected error while running command. +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file ... ok +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file_fail +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file_fail ... ok +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_from_cache +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_from_cache ... ok +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_kernel_cmdline +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_kernel_cmdline ... ok +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_vmedia +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_vmedia ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default_protected_device +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default_protected_device ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_without_disk +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_without_disk ... ok +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_from_file_reads_minimum +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_from_file_reads_minimum ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_pstore +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_pstore ... ok +/bin/sh: line 1: mkisofs: command not found +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_ok ... ok +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_iso_9660 +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_iso_9660 ... skipped 'mkisofs not installed' + WARNING [root] Executable 'biosdevname' not found +/bin/sh: line 1: mkisofs: command not found +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_oserror +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_oserror ... ok +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_iso_udf +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_iso_udf ... skipped 'mkisofs not installed' +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err3 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err3 ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err4 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err4 ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_invalid +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_invalid ... ok + WARNING [root] Invalid IP address meow: 'meow' does not appear to be an IPv4 or IPv6 address +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_iterate_channels +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_iterate_channels ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_no_ipmi_device +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_no_ipmi_device ... ok + WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address + WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address + WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address + WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address + WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address + WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address + WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address + WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address + WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address + WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address + WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_not_available +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_not_available ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_random_error +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_random_error ... ok + WARNING [root] Cannot get BMC address: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None - ERROR [root] Failed to query firmware of device : Unexpected error while running command. +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_virt +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_virt ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_zeroed +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_zeroed ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_invalid +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_invalid ... ok + WARNING [root] Invalid ipmitool output meow +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_iterate_channels +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_iterate_channels ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_no_ipmi_device +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_no_ipmi_device ... ok + WARNING [root] Invalid ipmitool output + WARNING [root] Invalid ipmitool output + WARNING [root] Invalid ipmitool output + WARNING [root] Invalid ipmitool output + WARNING [root] Invalid ipmitool output + WARNING [root] Invalid ipmitool output + WARNING [root] Invalid ipmitool output + WARNING [root] Invalid ipmitool output + WARNING [root] Invalid ipmitool output + WARNING [root] Invalid ipmitool output + WARNING [root] Invalid ipmitool output +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_not_available +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_not_available ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_random_error +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_random_error ... ok + WARNING [root] Cannot get BMC MAC address: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None - ERROR [root] Failed to set configuration of device , ['SRIOV_EN=20']: Unexpected error while running command. +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_virt +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_virt ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_zeroed +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_zeroed ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_channel_7 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_channel_7 ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_dynamic_address +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_dynamic_address ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_enables +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_enables ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_get_address +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_get_address ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_ipmitool_invalid_stdout_format +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_ipmitool_invalid_stdout_format ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_no_ipmi_device +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_no_ipmi_device ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_not_enabled +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_not_enabled ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_static_address_both +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_static_address_both ... ok + WARNING [root] Cannot get BMC v6 address: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None - ERROR [root] Configuraiton ESWITCH_HAIRPIN_TOT_BUFFER_SIZE[8] for device is not supported with current fw - ERROR [root] Configuraiton: UNSUPPORTED_PARAM is not supported by mstconfig, please update to the latest mstflint package. - WARNING [root] Something went wrong when readlink for interface eth2. Error: fake -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool_exception -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool_exception ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw_exception -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw_exception ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_set_config -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_set_config ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_set_config_exception -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_set_config_exception ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_fw -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_fw ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_mstflint_package -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_mstflint_package ... ok -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card ... ok -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_execute_error -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_execute_error ... ok -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_no_i40e_driver -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_no_i40e_driver ... ok -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_in_cna_card -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_in_cna_card ... ok -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file ... ok -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file_fail -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file_fail ... ok -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_from_cache -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_from_cache ... ok -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_write_error -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_write_error ... ok -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_kernel_cmdline -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_kernel_cmdline ... ok -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_vmedia -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_vmedia ... ok -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device ... ok -ironic-python-agent: Device sdh was disqualified as virtual media. Type: other, Transport: usb -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_other -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_other ... ok -ironic-python-agent: Excluding device sdh1 from virtual mediaconsideration as it is a partition. -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_part -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_part ... ok -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_rom -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_rom ... ok -ironic-python-agent: Device sdh was disqualified as virtual media. Type: disk, Transport: sata -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_sata -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_sata ... ok -ironic-python-agent: Device sdh was disqualified as virtual media. Type: other, Transport: scsi -ironic-python-agent: Device sdh appears to not qualify as virtual due to the device size. Size: 1610612736000 -ironic-python-agent: Device sdh was disqualified as virtual media. Type: disk, Transport: usb - ERROR [root] Unexpected exception performing deploy step erase_devices. RuntimeError: boom +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_virt +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_virt ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_bios +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_bios ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_pxe_interface +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_pxe_interface ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_uefi +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_uefi ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_clean_steps +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_clean_steps ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_component_devices +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_component_devices ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_illegal_flags +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_illegal_flags ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_max_mhz_and_flag_fallback +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_max_mhz_and_flag_fallback ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_max_mhz_flag_fallback +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_max_mhz_flag_fallback ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_multi +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_multi ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_no_flags +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_no_flags ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_broken_raid0 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_broken_raid0 ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_poisoned_output +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_poisoned_output ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_unexpected_devices +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_unexpected_devices ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_nvme +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_nvme ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_whole_device +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_whole_device ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_arm64_lshw +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_arm64_lshw ... ok + WARNING [root] Could not get real physical RAM from lshw: +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_exception +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_exception ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_list +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_list ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_bank_size +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_bank_size ... ok + ERROR [root] Cannot fetch total memory size using psutil version 5 Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/deploy.py", line 77, in execute_deploy_step - result = hardware.dispatch_to_managers(step['step'], node, ports, - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "", line 3, in dispatch_to_managers + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/hardware.py", line 1648, in get_memory + total = int(psutil.virtual_memory().total) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 3, in virtual_memory File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ return self._mock_call(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -7283,33 +9802,15 @@ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call raise effect -RuntimeError: boom -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_scsi -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_scsi ... ok -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_too_large -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_too_large ... ok -ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step -ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step ... ok -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_wrong_dir_path -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_wrong_dir_path ... ok -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_no_cna_card_detected -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_no_cna_card_detected ... ok -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_with_collect_lldp_disabled -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_with_collect_lldp_disabled ... ok -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_with_collect_lldp_enabled -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_with_collect_lldp_enabled ... ok -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware ... ok -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_error -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_error ... ok -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_no_mlnx -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_no_mlnx ... ok - ERROR [root] Command failed: execute_deploy_step, error: Deploy step failed: Unexpected exception performing deploy step erase_devices. RuntimeError: boom +AttributeError +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v1 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v1 ... ok + ERROR [root] Cannot fetch total memory size using psutil version 5 Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/deploy.py", line 77, in execute_deploy_step - result = hardware.dispatch_to_managers(step['step'], node, ports, - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "", line 3, in dispatch_to_managers + File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/hardware.py", line 1648, in get_memory + total = int(psutil.virtual_memory().total) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 3, in virtual_memory File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ return self._mock_call(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -7318,211 +9819,512 @@ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call raise effect -RuntimeError: boom - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/deploy.py", line 88, in execute_deploy_step - raise errors.DeploymentError(msg) -ironic_python_agent.errors.DeploymentError: Deploy step failed: Unexpected exception performing deploy step erase_devices. RuntimeError: boom -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_cache_and_write_image_configdirve -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_cache_and_write_image_configdirve ... ok -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions ... ok -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_disk_label_gpt -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_disk_label_gpt ... ok -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_gpt_with_prep -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_gpt_with_prep ... ok -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot ... ok -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot_gpt_bios -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot_gpt_bios ... ok -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot_uefi -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot_uefi ... ok -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_mbr_with_prep -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_mbr_with_prep ... ok -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_ephemeral -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_ephemeral ... ok -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_iscsi_device -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_iscsi_device ... ok -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_local_device -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_local_device ... ok -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_nvme_device -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_nvme_device ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_clean_boot_records -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_clean_boot_records ... ok - WARNING [ironic_python_agent.efi_utils] Empty EFI partition detected. -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_empty_partition_by_uuid -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_empty_partition_by_uuid ... ok -ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_get_hardware_info_success -ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_get_hardware_info_success ... ok - ERROR [ironic_python_agent.extensions.poll] Node lookup data can only be set when the Ironic Python Agent is running in standalone mode. -ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_set_node_info_not_standalone -ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_set_node_info_not_standalone ... ok -ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_set_node_info_success -ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_set_node_info_success ... ok -ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_finalize_rescue -ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_finalize_rescue ... ok -ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_hashed_passwords -ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_hashed_passwords ... ok -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support ... ok -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support_no_mlnx -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support_no_mlnx ... ok -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_generate_client_id -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_generate_client_id ... ok -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_clean_steps -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_clean_steps ... ok -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info ... ok -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_ib_interface -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_ib_interface ... ok - ERROR [ironic_python_agent.efi_utils] Could not configure UEFI boot on device /dev/fake: Unexpected error while running command. +AttributeError +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v2 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v2 ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_v1 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_v1 ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_v2 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_v2 ... ok + WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' + WARNING [root] Device /dev/sdb is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdb' + WARNING [root] Device /dev/sdc is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdc' + WARNING [root] Device /dev/sdd is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdd' + WARNING [root] Can't find field vendor for device sdd in device class block + WARNING [root] Device /dev/dm-0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-0' + WARNING [root] Can't find field vendor for device dm-0 in device class block +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device ... ok + WARNING [root] Using hint {'vendor': 'basic vendor'} skipping devices: /dev/sda,/dev/sdb +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_complete_skip_list +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_complete_skip_list ... ok + WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' + WARNING [root] Device /dev/sdb is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdb' +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_fails +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_fails ... ok + WARNING [root] We have identified a multipath device sda, this is being ignored in favor of dm-0 and its related child devices. + WARNING [root] We have identified a multipath device sda2, this is being ignored in favor of dm-0 and its related child devices. + WARNING [root] We have identified a multipath device sda3, this is being ignored in favor of dm-0 and its related child devices. + WARNING [root] We have identified a multipath device sda1, this is being ignored in favor of dm-0 and its related child devices. + WARNING [root] Device /dev/dm-0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-0' + WARNING [root] Can't find field vendor for device dm-0 in device class block + WARNING [root] We have identified a multipath device sdb, this is being ignored in favor of dm-0 and its related child devices. + WARNING [root] We have identified a multipath device sdb2, this is being ignored in favor of dm-0 and its related child devices. + WARNING [root] We have identified a multipath device sdb3, this is being ignored in favor of dm-0 and its related child devices. + WARNING [root] We have identified a multipath device sdb1, this is being ignored in favor of dm-0 and its related child devices. + WARNING [root] Device /dev/sdc is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdc' + WARNING [root] Device /dev/dm-1 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-1' + WARNING [root] Can't find field vendor for device dm-1 in device class block +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_multipath +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_multipath ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_no_root_device +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_no_root_device ... ok + WARNING [root] We have identified a multipath device sda, this is being ignored in favor of dm-0 and its related child devices. + WARNING [root] We have identified a multipath device sda2, this is being ignored in favor of dm-0 and its related child devices. + WARNING [root] We have identified a multipath device sda3, this is being ignored in favor of dm-0 and its related child devices. + WARNING [root] We have identified a multipath device sda1, this is being ignored in favor of dm-0 and its related child devices. + WARNING [root] Device /dev/dm-0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-0' + WARNING [root] Can't find field vendor for device dm-0 in device class block + WARNING [root] We have identified a multipath device sdb, this is being ignored in favor of dm-0 and its related child devices. + WARNING [root] We have identified a multipath device sdb2, this is being ignored in favor of dm-0 and its related child devices. + WARNING [root] We have identified a multipath device sdb3, this is being ignored in favor of dm-0 and its related child devices. + WARNING [root] We have identified a multipath device sdb1, this is being ignored in favor of dm-0 and its related child devices. + WARNING [root] Device /dev/sdc is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdc' + WARNING [root] Device /dev/dm-1 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-1' + WARNING [root] Can't find field vendor for device dm-1 in device class block +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_not_multipath +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_not_multipath ... ok + ERROR [ironic_python_agent.extensions.standby] Timeout reached waiting for a chunk of data from a remote server. + WARNING [ironic_python_agent.extensions.standby] Image download failed, 0 of 2: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Error downloading image: Download of image fake_id failed: Timed out reading next chunk from webserver + WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' + WARNING [root] Device /dev/sdb is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdb' + WARNING [root] Device /dev/md0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/md0' + WARNING [root] Can't find field vendor for device md0 in device class block +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_raid +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_raid ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_by_path +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_by_path ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_iinfo +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_iinfo ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_model +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_model ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_name +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_name ... ok + WARNING [ironic_lib.utils] No device found that matches the root device hints {'model': 'fastable sd131 7', 'wwn': 'fake-wwn', 'serial': 'fake-serial', 'vendor': 'fake-vendor', 'size': 10} +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_no_device_found +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_no_device_found ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_rotational +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_rotational ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_serial +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_serial ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_not_int +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_not_int ... ok +ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_retries +ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_retries ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_str +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_str ... ok + WARNING [root] Using hint {'vendor': 'fake-vendor'} skipping devices: /dev/sdb + WARNING [ironic_lib.utils] No device found that matches the root device hints {'wwn': 'fake-wwn'} +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_skip_list +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_skip_list ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_vendor +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_vendor ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_wwn +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_wwn ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_skip_list_non_exist +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_skip_list_non_exist ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_just_raids +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_just_raids ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_no_skip_list +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_no_skip_list ... ok + WARNING [root] Using hint {'name': '/dev/sdj'} skipping devices: /dev/sdj +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_with_skip_list +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_with_skip_list ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info ... ok + WARNING [root] Could not retrieve vendor info from lshw: Unexpected error while running command. Command: None Exit code: - -Stdout: 'boom' +Stdout: None Stderr: None -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/efi_utils.py", line 131, in manage_uefi - utils.execute('mount', efi_partition, efi_partition_mount_point) - File "", line 3, in execute - File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ - return self._mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call - raise effect -oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info_failure +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info_failure ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info_lshw_list +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info_lshw_list ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_usb_devices +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_usb_devices ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_ipmi_device_exists +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_ipmi_device_exists ... ok + WARNING [root] Device /dev/sda is inaccessible, skipping... Error: + WARNING [root] Device /dev/sdb is not supported by pyudev, skipping... Error: No block device with number 1234 + WARNING [root] Device /dev/sdc is inaccessible, skipping... Error: + WARNING [root] We have identified a multipath device sdd, this is being ignored in favor of dm-0 and its related child devices. + WARNING [root] Device /dev/dm-0 is inaccessible, skipping... Error: +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device ... ok + WARNING [root] We have identified a multipath device sdd, this is being ignored in favor of dm-0 and its related child devices. +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_all_serial +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_all_serial ... ok + WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sdb. Skipping +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_hctl_fail +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_hctl_fail ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_only_udev +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_only_udev ... ok + WARNING [root] We have identified a multipath device sdd, this is being ignored in favor of dm-0 and its related child devices. +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_udev +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_udev ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_no_skip_list +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_no_skip_list ... ok + WARNING [root] Using hint {'name': '/dev/sdj'} skipping devices: /dev/sdj + WARNING [root] Using hint {'name': '/dev/hdaa'} skipping devices: /dev/hdaa +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_complete_skip_list +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_complete_skip_list ... ok + WARNING [root] Using hint {'name': '/dev/sdj'} skipping devices: /dev/sdj +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_skip_list +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_skip_list ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_skip_list_non_exist +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_skip_list_non_exist ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_including_partitions +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_including_partitions ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_hardware_info +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_hardware_info ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_normal_vs_enhanced_security_erase +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_normal_vs_enhanced_security_erase ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_service_steps_exist +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_service_steps_exist ... ok + WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' + WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' + WARNING [root] Device /dev/sdb is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdb' + WARNING [root] Device /dev/md0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/md0' + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping + WARNING [root] Can't find field vendor for device md0 in device class block +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_MAX_MAX +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_MAX_MAX ... ok + WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' + WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' + WARNING [root] Device /dev/sdb is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdb' + WARNING [root] Device /dev/md0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/md0' + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping + WARNING [root] Can't find field vendor for device md0 in device class block +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_duplicate_volume_name +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_duplicate_volume_name ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_no_of_raids +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_no_of_raids ... ok + WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' + WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' + WARNING [root] Device /dev/sdb is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdb' + WARNING [root] Device /dev/md0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/md0' + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping + WARNING [root] Can't find field vendor for device md0 in device class block +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_raid_level +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_raid_level ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_no_configuration +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_no_configuration ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_valid_raid1 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_valid_raid1 ... ok + WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' + WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' + WARNING [root] Device /dev/sdb is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdb' + WARNING [root] Device /dev/md0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/md0' + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping + WARNING [root] Can't find field vendor for device md0 in device class block +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_valid_raid1_raidN +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_valid_raid1_raidN ... ok +ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_number +ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_number ... ok +ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_number_nvme +ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_number_nvme ... ok +ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_path +ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_path ... ok +ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on +ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on ... ok +ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on_wrong_path +ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on_wrong_path ... ok +ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_exc +ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_exc ... ok +ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_false +ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_false ... ok +ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_true +ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_true ... ok +ironic_python_agent.tests.unit.test_raid_utils.TestFindESPRAID.test_esp_raid +ironic_python_agent.tests.unit.test_raid_utils.TestFindESPRAID.test_esp_raid ... ok +ironic_python_agent.tests.unit.test_raid_utils.TestFindESPRAID.test_no_esp_raid +ironic_python_agent.tests.unit.test_raid_utils.TestFindESPRAID.test_no_esp_raid ... ok +ironic_python_agent.tests.unit.test_utils.TestRemoveKeys.test_remove_keys +ironic_python_agent.tests.unit.test_utils.TestRemoveKeys.test_remove_keys ... ok + ERROR [ironic_python_agent.extensions.standby] Timeout reached waiting for a chunk of data from a remote server. + WARNING [ironic_python_agent.extensions.standby] Image download failed, 1 of 2: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Error downloading image: Download of image fake_id failed: Timed out reading next chunk from webserver +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qcow2 +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qcow2 ... ok + WARNING [ironic_python_agent.format_inspector] Found unknown feature bit in byte 7: 0b0/0b0 + WARNING [ironic_python_agent.format_inspector] Found unknown feature bit in byte 0: 0b0/0b1111 +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qcow2_feature_flag_checks +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qcow2_feature_flag_checks ... ok +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qcow2_invalid +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qcow2_invalid ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_1st +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_1st ... ok + ERROR [ironic_python_agent.extensions.standby] Timeout reached waiting for a chunk of data from a remote server. +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_socket_read_timeout +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_socket_read_timeout ... ok + WARNING [ironic_python_agent.extensions.standby] Image download failed, 0 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! + WARNING [ironic_python_agent.extensions.standby] Image download failed, 1 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! + WARNING [ironic_python_agent.extensions.standby] Image download failed, 2 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! + WARNING [ironic_python_agent.extensions.standby] Image download failed, 3 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! + WARNING [ironic_python_agent.extensions.standby] Image download failed, 4 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! + WARNING [ironic_python_agent.extensions.standby] Image download failed, 5 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! + WARNING [ironic_python_agent.extensions.standby] Image download failed, 6 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! + WARNING [ironic_python_agent.extensions.standby] Image download failed, 7 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! + WARNING [ironic_python_agent.extensions.standby] Image download failed, 8 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_write_error +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_write_error ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync ... ok + ERROR [ironic_python_agent.extensions.standby] Flushing file system buffers failed. Error: Unexpected error while running command. Command: None Exit code: - -Stdout: 'boom' +Stdout: None Stderr: None - ERROR [root] duplicate settings for device ID 1017 - ERROR [root] There is no deviceID provided for this settings -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mac_address -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mac_address ... ok -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mlnx_interface -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mlnx_interface ... ok -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_infiniband_address_to_mac -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_infiniband_address_to_mac ... ok -ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_exception -ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_exception ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_duplicate_device_id -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_duplicate_device_id ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_invalid_firmware_settings_config -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_invalid_firmware_settings_config ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_prepare_nvidia_nic_config -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_prepare_nvidia_nic_config ... ok -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test__wait_for_interface -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test__wait_for_interface ... ok -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test__wait_for_interface_expired -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test__wait_for_interface_expired ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image ... ok - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0002052783966064453 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 0 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0002052783966064453 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0006134510040283203 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 1 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0006134510040283203 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0008556842803955078 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 2 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0008556842803955078 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0010762214660644531 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 3 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0010762214660644531 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0012786388397216797 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 4 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0012786388397216797 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.001476287841796875 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 5 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.001476287841796875 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0016705989837646484 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 6 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0016705989837646484 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0018613338470458984 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 7 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0018613338470458984 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.002046346664428711 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 8 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.002046346664428711 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0022363662719726562 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_conf_credential -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_conf_credential ... ok - ERROR [ironic_python_agent.efi_utils] Could not configure UEFI boot on device /dev/fake: Unexpected error while running command. +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync_error +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync_error ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_checksum +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_checksum ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_urls +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_urls ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_invalid_checksum +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_invalid_checksum ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_invalid_urls +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_invalid_urls ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_legacy_md5_checksum +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_legacy_md5_checksum ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_legacy_md5_checksum_enabled +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_legacy_md5_checksum_enabled ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_missing_field +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_missing_field ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_no_hash_algo +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_no_hash_algo ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_no_hash_value +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_no_hash_value ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_sha256 +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_sha256 ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success ... ok +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qcow2_safety_checks +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qcow2_safety_checks ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_ignore_none_md5 +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_ignore_none_md5 ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_with_new_hash_fields +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_with_new_hash_fields ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_without_md5 +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_without_md5 ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_url +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_url ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_empty_password +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_empty_password ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_empty_user +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_empty_user ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_none_password +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_none_password ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_none_user +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_none_user ... ok +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qed_always_unsafe +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qed_always_unsafe ... ok + ERROR [ironic_python_agent.extensions.standby] Unable to verify image fake_id with available checksums. Please make sure the specified 'os_hash_algo' (currently algo-beyond-milky-way) is supported by this ramdisk, or provide a md5 checksum via the 'checksum' field +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_fails_if_unknown_is_used +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_fails_if_unknown_is_used ... ok + ERROR [ironic_python_agent.extensions.standby] Image failed to verify against checksum. location: /foo/bar; image ID: fake_id; image checksum: fake-checksum; verification checksum: invalid-checksum +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure ... ok + ERROR [ironic_python_agent.extensions.standby] Image failed to verify against checksum. location: /foo/bar; image ID: fake_id; image checksum: fake-sha512-value; verification checksum: invalid-checksum +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_with_new_hash_fields +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_with_new_hash_fields ... ok + ERROR [ironic_python_agent.extensions.standby] Unable to verify image fake_id with available checksums. Please make sure the specified 'os_hash_algo' (currently unsupported-algorithm) is supported by this ramdisk, or provide a md5 checksum via the 'checksum' field +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_without_fallback +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_without_fallback ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_2nd +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_2nd ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_with_md5_fallback +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_with_md5_fallback ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_with_new_hash_fields +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_with_new_hash_fields ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_without_md5 +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_without_md5 ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_fails +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_fails ... ok + ERROR [ironic_lib.exception] Exception in string format operation (arguments ) +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/ironic_lib/exception.py", line 134, in __init__ + message = self._msg_fmt % kwargs + ~~~~~~~~~~~~~~^~~~~~~~ +KeyError: 'reason' +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_gpt_fails +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_gpt_fails ... ok + ERROR [ironic_python_agent.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests! +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_exception +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_exception ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_exception_image_mb +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_exception_image_mb ... ok + ERROR [ironic_python_agent.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests! +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid ... ok + ERROR [ironic_python_agent.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests! +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid_uefi +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid_uefi ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test__query_device +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test__query_device ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed_with_reset +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed_with_reset ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_get_nic_psid +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_get_nic_psid ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_is_image_changed_true +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_is_image_changed_true ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output_no_data +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output_no_data ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output_with_running_fw +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output_with_running_fw ... ok +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries ... ok +ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run +ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run ... ok +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vdi +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vdi ... ok +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vdi_invalid +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vdi_invalid ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_timeout +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_timeout ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_defaults +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_defaults ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_no_defaults +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_no_defaults ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_raise_missing_config +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_raise_missing_config ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_raise_wrong_config +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_raise_wrong_config ... ok + ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/efi_utils.py", line 185, in manage_uefi - _run_efibootmgr(valid_efi_bootloaders, efi_dev, efi_part, - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/efi_utils.py", line 351, in _run_efibootmgr - boot_records = list(get_boot_records()) - ^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/efi_utils.py", line 282, in get_boot_records - efi_output = utils.execute('efibootmgr', '-v', binary=True) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "", line 3, in execute - File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ - return self._mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1202, in _execute_mock_call - raise result -oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_fio +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_fio ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_partner +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_partner ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_role +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_role ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader ... ok + ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. Command: None -Exit code: - -Stdout: 'boom' +Exit code: 16 +Stdout: 'Connection timeout' Stderr: None - ERROR [ironic_python_agent.efi_utils] Umounting efi system partition failed. Attempted 3 times. Error: Unexpected error while running command. + ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. +Command: None +Exit code: 16 +Stdout: 'Connection timeout' +Stderr: None + ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. +Command: None +Exit code: 16 +Stdout: 'Connection refused' +Stderr: None +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader_loop +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader_loop ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader_w_logfile +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader_w_logfile ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_unknown_role +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_unknown_role ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer_w_logfile +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer_w_logfile ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_default +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_default ... ok + ERROR [ironic_python_agent.burnin] stress-ng (cpu) failed with error Unexpected error while running command. Command: None Exit code: - -Stdout: 'no umount' +Stdout: None Stderr: None -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure_after_failure -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure_after_failure ... ok - ERROR [ironic_python_agent.efi_utils] Could not configure UEFI boot on device /dev/fake: Unexpected error while running command. +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_no_stress_ng +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_no_stress_ng ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_non_default +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_non_default ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_default +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_default ... ok + ERROR [ironic_python_agent.burnin] stress-ng (vm) failed with error Unexpected error while running command. Command: None Exit code: - -Stdout: 'boom' +Stdout: None Stderr: None -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/efi_utils.py", line 185, in manage_uefi - _run_efibootmgr(valid_efi_bootloaders, efi_dev, efi_part, - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/efi_utils.py", line 351, in _run_efibootmgr - boot_records = list(get_boot_records()) - ^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/efi_utils.py", line 282, in get_boot_records - efi_output = utils.execute('efibootmgr', '-v', binary=True) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "", line 3, in execute - File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ - return self._mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1202, in _execute_mock_call - raise result -oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_no_stress_ng +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_no_stress_ng ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_non_default +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_non_default ... ok +ironic_python_agent.tests.unit.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_exc +ironic_python_agent.tests.unit.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_exc ... ok +ironic_python_agent.tests.unit.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_fix_not_required +ironic_python_agent.tests.unit.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_fix_not_required ... ok +ironic_python_agent.tests.unit.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_fix_required +ironic_python_agent.tests.unit.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_fix_required ... ok +ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_custom_attempts +ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_custom_attempts ... ok + WARNING [ironic_python_agent.disk_utils] Failed to verify partition tables on device /dev/fake: Unexpected error while running command. Command: None Exit code: - -Stdout: 'boom' +Stdout: None Stderr: None -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure_after_mount -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure_after_mount ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_found_csv -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_found_csv ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_get_boot_records -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_get_boot_records ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_no_partition -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_no_partition ... ok -ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_write_rescue_password -ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_write_rescue_password ... ok +ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_fails +ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_fails ... ok +ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_trigger +ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_trigger ... ok +ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test +ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test ... ok + WARNING [ironic_python_agent.inspector] failed to get system journal +ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test_fail +ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test_fail ... ok + WARNING [ironic_python_agent.inspector] Failed to gather vendor id, product id or pci class from PCI device bar: + WARNING [ironic_python_agent.inspector] Wrong format of vendor id, product id or pci class in PCI device baz: +ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_bad_pci_device_info +ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_bad_pci_device_info ... ok +ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success +ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success ... ok + WARNING [ironic_python_agent.inspector] Failed to gather numa_node id from PCI device foo: + WARNING [ironic_python_agent.inspector] Failed to gather numa_node id from PCI device bar: +ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success_numa_ioerror +ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success_numa_ioerror ... ok + ERROR [ironic_python_agent.utils] Failed to get list of PCI devices: +ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_wrong_path +ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_wrong_path ... ok +ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_correct_mac +ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_correct_mac ... ok +ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_pxelinux_mac +ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_pxelinux_mac ... ok +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_exceeds_2TB +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_exceeds_2TB ... ok +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_exceeds_2TB_nvme +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_exceeds_2TB_nvme ... ok +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_under_2TB +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_under_2TB ... ok +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_under_2TB_nvme +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_under_2TB_nvme ... ok +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_conf_drive_error_counting +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_conf_drive_error_counting ... ok +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_conf_drive_sz_exceed +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_conf_drive_sz_exceed ... ok +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_exists +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_exists ... ok +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_gpt +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_gpt ... ok +ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run_no_tls +ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run_no_tls ... ok +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_gpt_use_vfat +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_gpt_use_vfat ... ok +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test__wait_for_interface +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test__wait_for_interface ... ok +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_gpt_with_fallback +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_gpt_with_fallback ... ok +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test__wait_for_interface_expired +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test__wait_for_interface_expired ... ok +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_num_parts_exceed +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_num_parts_exceed ... ok ERROR [root] Command failed: foo_command, error: command execution failed Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run @@ -7531,430 +10333,55 @@ File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_agent.py", line 44, in foo_execute raise EXPECTED_ERROR RuntimeError: command execution failed + ERROR [root] Failed to create config drive on disk /dev/fake for node 12345678-1234-1234-1234-1234567890abcxyz. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_async_command_failure ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_async_command_failure ... ok +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_part_create_exc +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_part_create_exc ... ok ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_async_command_success ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_async_command_success ... ok - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00016808509826660156 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 0 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.00016808509826660156 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0005600452423095703 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 1 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0005600452423095703 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0008065700531005859 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 2 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0008065700531005859 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0010304450988769531 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 3 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0010304450988769531 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0012404918670654297 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 4 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0012404918670654297 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.001438140869140625 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 5 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.001438140869140625 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.001592397689819336 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 6 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.001592397689819336 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0017788410186767578 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 7 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0017788410186767578 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.001958608627319336 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 8 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.001958608627319336 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.002141714096069336 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_image_info_credential -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_image_info_credential ... ok - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 8.559226989746094e-05 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 0 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 8.559226989746094e-05 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0003533363342285156 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 1 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0003533363342285156 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0005619525909423828 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 2 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0005619525909423828 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0007603168487548828 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 3 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0007603168487548828 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0009443759918212891 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 4 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0009443759918212891 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0011630058288574219 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 5 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0011630058288574219 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0013546943664550781 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 6 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0013546943664550781 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0015630722045898438 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 7 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0015630722045898438 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0017414093017578125 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 8 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0017414093017578125 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.001917123794555664 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential ... ok - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00011038780212402344 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 0 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.00011038780212402344 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0006716251373291016 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 1 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0006716251373291016 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0009953975677490234 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 2 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0009953975677490234 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0013153553009033203 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 3 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0013153553009033203 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0015494823455810547 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 4 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0015494823455810547 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0017986297607421875 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 5 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0017986297607421875 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0019958019256591797 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 6 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0019958019256591797 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0021920204162597656 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 7 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0021920204162597656 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0023772716522216797 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 8 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0023772716522216797 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.002546072006225586 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential_second -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential_second ... ok - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0010733604431152344 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - WARNING [ironic_python_agent.extensions.standby] Image download failed, 0 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0010733604431152344 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.001476287841796875 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - WARNING [ironic_python_agent.extensions.standby] Image download failed, 1 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.001476287841796875 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.001832723617553711 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - WARNING [ironic_python_agent.extensions.standby] Image download failed, 2 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.001832723617553711 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.002149343490600586 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - WARNING [ironic_python_agent.extensions.standby] Image download failed, 3 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.002149343490600586 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0024671554565429688 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - WARNING [ironic_python_agent.extensions.standby] Image download failed, 4 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0024671554565429688 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.002765178680419922 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - WARNING [ironic_python_agent.extensions.standby] Image download failed, 5 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.002765178680419922 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0030579566955566406 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - WARNING [ironic_python_agent.extensions.standby] Image download failed, 6 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0030579566955566406 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.003363370895385742 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - WARNING [ironic_python_agent.extensions.standby] Image download failed, 7 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.003363370895385742 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00373077392578125 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - WARNING [ironic_python_agent.extensions.standby] Image download failed, 8 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.00373077392578125 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0040934085845947266 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_status -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_status ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_basic_auth_conf_success -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_basic_auth_conf_success ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_basic_auth_image_info_success -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_basic_auth_image_info_success ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_proxy -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_proxy ... ok - ERROR [ironic_python_agent.extensions.standby] Image failed to verify against checksum. location: /tmp/tmpwokeel8t/fake_id; image ID: fake_id; image checksum: fake-checksum; verification checksum: invalid-checksum -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_verify_fails -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_verify_fails ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_image_info_user_pass_none -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_image_info_user_pass_none ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_image_info_user_pass_success -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_image_info_user_pass_success ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_oslo_conf_user_pass_none -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_oslo_conf_user_pass_none ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_oslo_conf_user_pass_success -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_oslo_conf_user_pass_success ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_get_partition_uuids -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_get_partition_uuids ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_image_location -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_image_location ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_nvme_device -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_nvme_device ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_ok -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_ok ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_software_raid -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_software_raid ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_wholedisk -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_wholedisk ... ok -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi ... ok -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi_no_iscsi -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi_no_iscsi ... ok -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__load_ipmi_modules -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__load_ipmi_modules ... ok - ERROR [root] Error performing deploy step erase_devices -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/deploy.py", line 77, in execute_deploy_step - result = hardware.dispatch_to_managers(step['step'], node, ports, - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "", line 3, in dispatch_to_managers - File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ - return self._mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call - raise effect -ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot - ERROR [root] Command failed: execute_deploy_step, error: Block device caused unknown error: I'm a teapot -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/deploy.py", line 77, in execute_deploy_step - result = hardware.dispatch_to_managers(step['step'], node, ports, - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "", line 3, in dispatch_to_managers - File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ - return self._mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call - raise effect -ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot - ERROR [root] Rescue Operation failed when writing the hashed rescue password to the password file. Error -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/rescue.py", line 48, in write_rescue_password - with open(PASSWORD_FILE, 'w') as f: - ^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ - return self._mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call - raise effect -OSError -ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_write_rescue_password_ioerror -ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_write_rescue_password_ioerror ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image ... ok +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_part_create_fail +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_part_create_fail ... ok ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid ... ok +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_convert_to_sparse +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_convert_to_sparse ... ok ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid_invalid_node ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid_invalid_node ... ok +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_gpt_disk_label +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_gpt_disk_label ... ok ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid_unassociated ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid_unassociated ... ok +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_configdrive_partition +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_configdrive_partition ... ok +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_ephemeral_partition +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_ephemeral_partition ... ok +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_root_partition +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_root_partition ... ok ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_indexerror ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_indexerror ... ok +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_swap_partition +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_swap_partition ... ok ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv4 ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv4 ... ok +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_ppc64le_prep_part +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_ppc64le_prep_part ... ok ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv6 ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv6 ... ok - ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - ERROR [ironic_python_agent.extensions.standby] Flushing file system buffers failed. Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - WARNING [ironic_python_agent.extensions.standby] Failed to sync file system buffers: Command execution failed: Flushing file system buffers failed. Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - WARNING [ironic_python_agent.extensions.standby] poweroff command failed with error Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None, falling back to sysrq-trigger - ERROR [root] Command failed: power_off, error: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None. -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1041, in _run_shutdown_command - utils.execute("echo o > /proc/sysrq-trigger", shell=True) - File "", line 3, in execute - File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ - return self._mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call - raise effect -oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1057, in power_off - self._run_shutdown_command('poweroff') - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1045, in _run_shutdown_command - raise errors.SystemRebootError(e.exit_code, e.stdout, e.stderr) -ironic_python_agent.errors.SystemRebootError: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None. - ERROR [root] Malformed deploy_step, no "step" key: {} - ERROR [root] Command failed: execute_deploy_step, error: Malformed deploy_step, no "step" key: {} -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/deploy.py", line 73, in execute_deploy_step - raise ValueError(msg) -ValueError: Malformed deploy_step, no "step" key: {} - ERROR [root] Tried to execute fake.fake_sync_command, agent is still executing Command name: name, params: {}, status: RUNNING, result: None. - ERROR [root] Clean version mismatch for command execute_deploy_step - ERROR [root] Invalid content error: Invalid request body: baz -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 268, in execute_command - result = ext.execute(command_part, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ - return self._mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call - raise effect -ironic_python_agent.errors.InvalidContentError: Invalid request body: baz - ERROR [root] Command execution error: Command execution failed: foo bar baz -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 268, in execute_command - result = ext.execute(command_part, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ - return self._mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call - raise effect -ironic_python_agent.errors.CommandExecutionError: Command execution failed: foo bar baz -ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_fail -ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_fail ... ok -ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_no_step -ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_no_step ... ok -ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_tuple_result -ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_tuple_result ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_busy -ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_busy ... ok -ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_version_mismatch -ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_version_mismatch ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command -ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command ... ok -ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_with_args -ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_with_args ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_invalid_content -ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_invalid_content ... ok -ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_get_deploy_steps -ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_get_deploy_steps ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_other_exception -ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_other_exception ... ok -ironic_python_agent.tests.unit.extensions.test_log.TestLogExtension.test_collect_system_logs -ironic_python_agent.tests.unit.extensions.test_log.TestLogExtension.test_collect_system_logs ... ok -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_missing -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_missing ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_power_off -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_power_off ... ok +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_preserve_ephemeral +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_preserve_ephemeral ... ok ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv6_linklocal ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv6_linklocal ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_md5 -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_md5 ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_success -ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_success ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_invalid_command -ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_invalid_command ... ok - ERROR [ironic_python_agent.utils] Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - ERROR [root] Command failed: power_off, error: Error syncing system clock: Failed to sync hardware clock: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/utils.py", line 825, in sync_clock - execute('ntpdate', CONF.ntp_server) - File "", line 3, in execute - File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ - return self._mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call - raise effect -oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1096, in _sync_clock - utils.sync_clock(ignore_errors=ignore_errors) - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/utils.py", line 832, in sync_clock - raise errors.CommandExecutionError(msg) -ironic_python_agent.errors.CommandExecutionError: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1057, in power_off - self._run_shutdown_command('poweroff') - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1016, in _run_shutdown_command - self._sync_clock(ignore_errors=True) - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1106, in _sync_clock - raise errors.ClockSyncError(msg) -ironic_python_agent.errors.ClockSyncError: Error syncing system clock: Failed to sync hardware clock: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_power_off_with_ntp_server -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_power_off_with_ntp_server ... ok - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda1. Skipping -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_partuuid_success -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_partuuid_success ... ok - ERROR [root] Extension do not found -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 267, in execute_command - ext = self.get_extension(extension_part) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 238, in get_extension - ext = self.ext_mgr[extension_name].obj - ~~~~~~~~~~~~^^^^^^^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/stevedore/extension.py", line 340, in __getitem__ - return self._extensions_by_name[name] - ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ -KeyError: 'do' -ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_unknown_extension -ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_unknown_extension ... ok - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sdb. Skipping - WARNING [ironic_python_agent.dmi_inspector] Failed to parse Handle type in dmi output: list index out of range -ironic_python_agent.tests.unit.test_agent.TestFromConfig.test_override_urls -ironic_python_agent.tests.unit.test_agent.TestFromConfig.test_override_urls ... ok - ERROR [root] Unexpected exception performing service step erase_devices. RuntimeError: boom -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/service.py", line 77, in execute_service_step - result = hardware.dispatch_to_managers(step['step'], node, ports, - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "", line 3, in dispatch_to_managers - File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ - return self._mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call - raise effect -RuntimeError: boom -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_bad_data -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_bad_data ... ok - ERROR [ironic_python_agent.utils] failed to run dmidecode: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - ERROR [root] Duplicate componentFlavor MT_0000000540 - ERROR [root] Invalid parameters for image {'url': 'http://10.10.10.10/firmware_images/fw2.bin', 'checksum': 'a94e683ea16d9ae44768f0a65942234c', 'checksumType': 'sha512', 'component': 'MT_0000000652', 'version': '24.34.1002'},please provide the following parameters url, checksum, checksumType, componentFlavor, version - ERROR [ironic_python_agent.format_inspector] Format inspector failed, aborting: fail - ERROR [ironic_python_agent.format_inspector] Format inspector failed, aborting: fail +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_uefi +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_uefi ... ok +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_status +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_status ... ok +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_without_image +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_without_image ... ok ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve @@ -8014,7 +10441,7 @@ ^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e -urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) +urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: @@ -8028,7 +10455,7 @@ File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) +urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: @@ -8047,8 +10474,10 @@ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) -requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) +requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run ... ok ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve @@ -8108,7 +10537,7 @@ ^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e -urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) +urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: @@ -8122,7 +10551,7 @@ File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) +urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: @@ -8141,693 +10570,10 @@ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) -requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) +requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_apply_net_firmware_update -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_apply_net_firmware_update ... ok -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_sha256 -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_sha256 ... ok -ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition -ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images ... ok -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_failure -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_failure ... ok -ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_not_found -ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_not_found ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_sha512 -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_sha512 ... ok -ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_only_boot_flag_gpt -ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_only_boot_flag_gpt ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images_duplicate_component_flavor_exception -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images_duplicate_component_flavor_exception ... ok -ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_only_boot_flag_mbr -ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_only_boot_flag_mbr ... ok -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_ok -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_ok ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_validate_images_schema -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_validate_images_schema ... ok -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_bios -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_bios ... ok -ironic_python_agent.tests.unit.test_encoding.TestSerializable.test_baseclass_serialize -ironic_python_agent.tests.unit.test_encoding.TestSerializable.test_baseclass_serialize ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_validate_images_schema_invalid_parameter -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_validate_images_schema_invalid_parameter ... ok -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_cpu -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_cpu ... ok -ironic_python_agent.tests.unit.test_encoding.TestSerializable.test_childclass_serialize -ironic_python_agent.tests.unit.test_encoding.TestSerializable.test_childclass_serialize ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestUpdateNvidiaNicFirmwareImage.test_update_nvidia_nic_firmware_image_exception -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestUpdateNvidiaNicFirmwareImage.test_update_nvidia_nic_firmware_image_exception ... ok -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_memory -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_memory ... ok -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_capture_region -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_capture_region ... ok -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data ... ok -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_get_inspector -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_get_inspector ... ok -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_file_like -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_file_like ... ok -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_status -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_status ... ok -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_file_like_eats_error -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_file_like_eats_error ... ok -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_iter_like -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_iter_like ... ok -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_iter_like_eats_error -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_iter_like_eats_error ... ok -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run ... ok -ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_save_api_client -ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_save_api_client ... ok -ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_update_node_cache -ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_update_node_cache ... ok ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_agent_token ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_agent_token ... ok - ERROR [root] Encountered issue attempting to validate the supplied configuration drive. Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boom' -Stderr: None - WARNING [ironic_lib.utils] Failed to unlink /tmp/tmpv3e93v8c/tmpcqj68bn7, error: [Errno 21] Is a directory: '/tmp/tmpv3e93v8c/tmpcqj68bn7' -ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_failed -ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_failed ... ok - WARNING [ironic_lib.utils] Failed to unlink /tmp/tmpao6oe4_6/tmp_zo_60vz, error: [Errno 21] Is a directory: '/tmp/tmpao6oe4_6/tmp_zo_60vz' -ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_work -ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_work ... ok - WARNING [ironic_lib.utils] Failed to unlink /tmp/tmpaw3vqvzl/tmpfwc9jdly, error: [Errno 21] Is a directory: '/tmp/tmpaw3vqvzl/tmpfwc9jdly' - WARNING [ironic_lib.utils] Failed to unlink /tmp/tmpaw3vqvzl/tmpmzo9va31, error: [Errno 21] Is a directory: '/tmp/tmpaw3vqvzl/tmpmzo9va31' -ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive -ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive ... ok - ERROR [root] We were unable to make a new filesystem for the configuration drive. Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boom' -Stderr: None - WARNING [ironic_lib.utils] Failed to unlink /tmp/tmpzru6ogpo/tmpymkcpk8p, error: [Errno 21] Is a directory: '/tmp/tmpzru6ogpo/tmpymkcpk8p' - WARNING [ironic_lib.utils] Failed to unlink /tmp/tmpzru6ogpo/tmpl1puci43, error: [Errno 21] Is a directory: '/tmp/tmpzru6ogpo/tmpl1puci43' -ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive_fails_once_invalid -ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive_fails_once_invalid ... ok - WARNING [root] We were unable to examine the configuration drive, bypassing. Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boom' -Stderr: None -ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive_graceful_fail -ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive_graceful_fail ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_fallback_bios -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_fallback_bios ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_fallback_uefi -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_fallback_uefi ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_driver_internal_info -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_driver_internal_info ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_dict -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_dict ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_json_str -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_json_str ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_str -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_str ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_implicit_with_secure_boot -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_implicit_with_secure_boot ... ok - WARNING [ironic_python_agent.dmi_inspector] Failed to process memory dmi data: 'Handle' -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_invalid_cap -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_invalid_cap ... ok - ERROR [root] Command failed: execute_service_step, error: Service step failed: Unexpected exception performing service step erase_devices. RuntimeError: boom -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/service.py", line 77, in execute_service_step - result = hardware.dispatch_to_managers(step['step'], node, ports, - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "", line 3, in dispatch_to_managers - File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ - return self._mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call - raise effect -RuntimeError: boom - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/service.py", line 88, in execute_service_step - raise errors.ServicingError(msg) -ironic_python_agent.errors.ServicingError: Service step failed: Unexpected exception performing service step erase_devices. RuntimeError: boom -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data_error_handle -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data_error_handle ... ok -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_exception -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_exception ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_override_with_instance_info -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_override_with_instance_info ... ok - WARNING [ironic_python_agent.dmi_inspector] Failed to process memory dmi data: 'Number Of Devices' -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data_error_number_of_devices -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data_error_number_of_devices ... ok - ERROR [root] Error performing service step erase_devices -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/service.py", line 77, in execute_service_step - result = hardware.dispatch_to_managers(step['step'], node, ports, - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "", line 3, in dispatch_to_managers - File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ - return self._mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call - raise effect -ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot - ERROR [root] Command failed: execute_service_step, error: Block device caused unknown error: I'm a teapot -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/service.py", line 77, in execute_service_step - result = hardware.dispatch_to_managers(step['step'], node, ports, - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "", line 3, in dispatch_to_managers - File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ - return self._mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call - raise effect -ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot -ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_journald -ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_journald ... ok -ironic_python_agent.tests.unit.test_errors.TestErrors.test_RESTError -ironic_python_agent.tests.unit.test_errors.TestErrors.test_RESTError ... ok -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_fail -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_fail ... ok -ironic_python_agent.tests.unit.test_errors.TestErrors.test_RESTError_details -ironic_python_agent.tests.unit.test_errors.TestErrors.test_RESTError_details ... ok - ERROR [root] Malformed service_step, no "step" key: {} -ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_journald_with_logfile -ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_journald_with_logfile ... ok - ERROR [root] Command failed: execute_service_step, error: Malformed service_step, no "step" key: {} -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/service.py", line 74, in execute_service_step - raise ValueError(msg) -ValueError: Malformed service_step, no "step" key: {} -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_no_step -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_no_step ... ok - ERROR [root] Command failed: sleep, error: An error occurred: An unexpected error occurred. Please try back later. -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/extensions/test_flow.py", line 41, in sleep - time.sleep(sleep_info['time']) - File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ - return self._mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call - raise effect -ironic_python_agent.errors.RESTError: An error occurred: An unexpected error occurred. Please try back later. - ERROR [root] Command failed: start_flow, error: Command execution failed: fake.sleep was failed -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/flow.py", line 44, in start_flow - raise errors.CommandExecutionError( -ironic_python_agent.errors.CommandExecutionError: Command execution failed: fake.sleep was failed -ironic_python_agent.tests.unit.test_errors.TestErrors.test_error_classes -ironic_python_agent.tests.unit.test_errors.TestErrors.test_error_classes ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum ... ok - WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boom' -Stderr: None - WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boom' -Stderr: None - WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boom' -Stderr: None - WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boom' -Stderr: None - WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boom' -Stderr: None -ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_non_journald -ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_non_journald ... ok - ERROR [root] Failed Prerequisite check. Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - ERROR [root] Clean version mismatch for command execute_service_step -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image ... ok -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_advertise_address_provided -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_advertise_address_provided ... ok -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_tuple_result -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_tuple_result ... ok -ironic_python_agent.tests.unit.test_errors.TestErrors.test_error_string -ironic_python_agent.tests.unit.test_errors.TestErrors.test_error_string ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_empty_file -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_empty_file ... ok -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestCheckPrereq.test_check_prereq -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestCheckPrereq.test_check_prereq ... ok - ERROR [root] Command failed: sleep, error: foo -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/extensions/test_flow.py", line 41, in sleep - time.sleep(sleep_info['time']) - File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ - return self._mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1202, in _execute_mock_call - raise result -Exception: foo - ERROR [root] Command failed: prepare_image, error: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests! -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 980, in prepare_image - _validate_partitioning(device) - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 794, in _validate_partitioning - disk_utils.partprobe(device) - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/disk_utils.py", line 665, in partprobe - utils.execute('partprobe', device, attempts=attempts) - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/base.py", line 89, in do_not_call - raise Exception( -Exception: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests! - WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boom' -Stderr: None - WARNING [ironic_python_agent.agent] No route to host 1.2.1.2, route record: Error: some error text -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_failed -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_failed ... ok - ERROR [root] Command failed: start_flow, error: Command execution failed: fake.sleep was failed -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/flow.py", line 44, in start_flow - raise errors.CommandExecutionError( -ironic_python_agent.errors.CommandExecutionError: Command execution failed: fake.sleep was failed - ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version - response = self._request('GET', '/') - ^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 90, in _request - resp = self.session.request(method, - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "", line 3, in request - File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ - return self._mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call - raise effect -Exception: Boom -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_empty_file_md5 -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_empty_file_md5 ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestCheckPrereq.test_check_prereq_exception -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestCheckPrereq.test_check_prereq_exception ... ok -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_version_mismatch -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_version_mismatch ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_non_journald_with_logfile -ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_non_journald_with_logfile ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_already_set -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_already_set ... ok -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata ... ok -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_4096 -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_4096 ... ok -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_ebr -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_ebr ... ok -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_sgdisk_fail -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_sgdisk_fail ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_device_extractor -ironic_python_agent.tests.unit.test_utils.TestUtils.test_device_extractor ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_bad_partition -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_bad_partition ... ok - ERROR [root] Failed to move file: /firmware_images/fw1.bin, -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_failed -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_failed ... ok -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_retry -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_retry ... ok -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_with_args -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_with_args ... ok -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed_on_second_command -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed_on_second_command ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_error -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_error ... ok - WARNING [ironic_python_agent.agent] Cannot get route to host fc00:1111::1: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boom' -Stderr: None - WARNING [ironic_python_agent.agent] No route to host 1.2.1.2, route record: Error: some error text - WARNING [ironic_python_agent.agent] Cannot get route to host fc00:1111::1: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boom' -Stderr: None -ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_dict -ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_dict ... ok -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_tiny_partition -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_tiny_partition ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file_not_found -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file_not_found ... ok -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_several_urls_and_retries -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_several_urls_and_retries ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_failed_md5 -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_failed_md5 ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_configdrive -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_configdrive ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_fresh -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_fresh ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_json_string -ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_json_string ... ok -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_wipefs_fail -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_wipefs_fail WARNING [ironic_python_agent.extensions.standby] Failed to call get_disk_identifier: Unable to obtain the root_uuid parameter: The hexdump tool may be missing in IPA: - ... ok -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_get_service_steps -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_get_service_steps ... ok -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_success -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_success WARNING [ironic_python_agent.utils] Ignoring malformed capability 'test:world:2'. Format should be 'key:val'. - ... ok - WARNING [ironic_python_agent.utils] Ignoring malformed capability 'badformat'. Format should be 'key:val'. -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_set_via_conf -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_set_via_conf ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_hexdump -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_hexdump ... ok - ERROR [root] Failed to open URL data: HTTP Error 500: Internal Error -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_wipefs_not_support_force -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_wipefs_not_support_force ... ok -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_host -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_host ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_old_format_caps -ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_old_format_caps ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_md5 -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_md5 ... ok -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_empty_command_map -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_empty_command_map ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test__query_device -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test__query_device ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup ... ok -ironic_python_agent.tests.unit.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_exc -ironic_python_agent.tests.unit.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_exc ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http_err -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http_err ... ok - WARNING [ironic_python_agent.ironic_api_client] Got invalid node data in response to query for node with addresses '00:0c:29:8c:11:b1,00:0c:29:8c:11:b2' from http://agent-api.ironic.example.org: {'node_node': 'also_not_node'} -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_raw_and_stream_false -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_raw_and_stream_false ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_md5 -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_md5 ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_command_output -ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_command_output ... ok -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_ip -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_ip ... ok - ERROR [root] Failed to open URL data: -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed ... ok -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_missing_command -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_missing_command ... ok -ironic_python_agent.tests.unit.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_fix_not_required -ironic_python_agent.tests.unit.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_fix_not_required ... ok - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sdb. Skipping - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md1. Skipping -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_to_find_extension -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_to_find_extension ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed_with_reset -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed_with_reset ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output -ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output ... ok -ironic_python_agent.tests.unit.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_fix_required -ironic_python_agent.tests.unit.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_fix_required ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_body -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_body ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http_url_err -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http_url_err ... ok -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_ipv6 -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_ipv6 ... ok - WARNING [ironic_python_agent.ironic_api_client] Failed looking up node with addresses '00:0c:29:8c:11:b1,00:0c:29:8c:11:b2' at http://agent-api.ironic.example.org. Check if inspection has completed? Error 400: {"node": {"uuid": "deadbeef-dabb-ad00-b105-f00d00bab10c"}} -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success_raid -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success_raid ... ok - WARNING [root] Can't find field vendor for device lo in device class net -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_sha256 -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_sha256 ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_raw_stream_true -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_raw_stream_true ... ok -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_block_uuid -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_block_uuid ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_fail -ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_fail ... ok -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_success -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_success ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_get_nic_psid -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_get_nic_psid ... ok - WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_code -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_code ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_https -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_https ... ok - WARNING [ironic_python_agent.ironic_api_client] Got invalid node data in response to query for node with addresses '00:0c:29:8c:11:b1,00:0c:29:8c:11:b2' from http://agent-api.ironic.example.org: {'heartbeat_timeout': 300} -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_with_network_interface -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_with_network_interface ... ok -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_block_uuid_fallback_to_uuid -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_block_uuid_fallback_to_uuid ... ok -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_wrong_block_type -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_wrong_block_type ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_sha512 -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_sha512 ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_is_image_changed_true -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_is_image_changed_true ... ok - WARNING [ironic_python_agent.inspector] Failed to gather vendor id, product id or pci class from PCI device bar: - WARNING [ironic_python_agent.inspector] Wrong format of vendor id, product id or pci class in PCI device baz: -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__add_multi_bootloaders -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__add_multi_bootloaders ... ok - WARNING [root] Can't find field vendor for device lo in device class net -ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_with_lines -ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_with_lines ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_data -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_data ... ok -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_invalid_url_scheme -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_invalid_url_scheme ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output ... ok - WARNING [ironic_python_agent.extensions.image] Falling back to fstab entry addition label of UUID. We could not identify which UUID or PARTUUID identifier label should be used, thus UUID will be used. - WARNING [ironic_python_agent.ironic_api_client] Got invalid heartbeat from the API: {'node': {'uuid': 'deadbeef-dabb-ad00-b105-f00d00bab10c'}} -ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_bad_pci_device_info -ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_bad_pci_device_info ... ok - ERROR [root] Mismatch provided checksum a94e683ea16d9ae44768f0a65942234d for image http://10.10.10.10/firmware_images/fw1.bin -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_unknown_file -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_unknown_file ... ok -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_with_network_interface_failed -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_with_network_interface_failed ... ok -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_no_logical_partitions -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_no_logical_partitions ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_with_units -ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_with_units ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_no_heartbeat_timeout -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_no_heartbeat_timeout ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__append_uefi_to_fstab_handles_error -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__append_uefi_to_fstab_handles_error ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image_raw_and_stream_false -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image_raw_and_stream_false ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_checksum -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_checksum ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output_no_data -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output_no_data ... ok -ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success -ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_unknown_file_md5 -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_unknown_file_md5 ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_ssl_client_options -ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_ssl_client_options ... ok -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_wrong_partition_table -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_wrong_partition_table ... ok - ERROR [root] The provided psid MT_0000000227 does not match the image psid MT_0000000228 -ironic_python_agent.tests.unit.test_base.DontBlockExecuteTestCase.test_no_exception_raised_for_execute -ironic_python_agent.tests.unit.test_base.DontBlockExecuteTestCase.test_no_exception_raised_for_execute ... ok - ERROR [ironic_python_agent.disk_utils] Unable to stat device /dev/disk/by-path/ip-1.2.3.4:5678-iscsi-iqn.fake-lun-9 after attempting to verify 2 times. -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_node_locked -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_node_locked ... ok - WARNING [ironic_python_agent.inspector] Failed to gather numa_node id from PCI device foo: - WARNING [ironic_python_agent.inspector] Failed to gather numa_node id from PCI device bar: -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_bios -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_bios ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image_raw_stream_true -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image_raw_stream_true ... ok - ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - ERROR [ironic_python_agent.extensions.standby] Flushing file system buffers failed. Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - WARNING [ironic_python_agent.extensions.standby] Failed to sync file system buffers: Command execution failed: Flushing file system buffers failed. Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - WARNING [ironic_python_agent.extensions.standby] reboot command failed with error Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None, falling back to sysrq-trigger -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output_with_running_fw -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output_with_running_fw ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_disks_too_small -ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_disks_too_small ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_invalid_checksum -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_invalid_checksum ... ok - ERROR [ironic_python_agent.disk_utils] Unable to stat device /dev/disk/by-path/ip-1.2.3.4:5678-iscsi-iqn.fake-lun-9 after attempting to verify 3 times. - ERROR [root] Command failed: run_image, error: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None. -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1043, in _run_shutdown_command - utils.execute("echo b > /proc/sysrq-trigger", shell=True) - File "", line 3, in execute - File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ - return self._mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call - raise effect -oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1051, in run_image - self._run_shutdown_command('reboot') - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1045, in _run_shutdown_command - raise errors.SystemRebootError(e.exit_code, e.stdout, e.stderr) -ironic_python_agent.errors.SystemRebootError: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None. -ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success_numa_ioerror -ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success_numa_ioerror ... ok -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_attempts -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_attempts ... ok -ironic_python_agent.tests.unit.test_hardware.TestHardwareManagerLoading.test_get_managers -ironic_python_agent.tests.unit.test_hardware.TestHardwareManagerLoading.test_get_managers ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_component_flavor -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_component_flavor ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_no_root -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_no_root ... ok - ERROR [ironic_python_agent.utils] Failed to get list of PCI devices: -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_transient_exceptions -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_transient_exceptions ... ok - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0010290145874023438 seconds. Error: Received status code 401 from http://example.org, expected 200. Response body: Unauthorized Response headers: - ERROR [root] The provided firmware version 20.34.1012 does not match image firmware version 20.35.1012 -ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_primary_sort -ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_primary_sort ... ok -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_raises -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_raises ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_fail -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_fail ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_image -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_image ... ok - ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - ERROR [ironic_python_agent.extensions.standby] Flushing file system buffers failed. Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - WARNING [ironic_python_agent.extensions.standby] Failed to sync file system buffers: Command execution failed: Flushing file system buffers failed. Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - WARNING [ironic_python_agent.extensions.standby] reboot command failed with error Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None, falling back to sysrq-trigger - WARNING [ironic_python_agent.extensions.standby] Unable to connect to http://example.org, retrying. Error: Error downloading image: Download of image fake_id failed: Received status code 500 from http://example.org, expected 200. Response body: Oops Response headers: - WARNING [ironic_python_agent.extensions.standby] Unable to connect to http://example.org, retrying. Error: Error downloading image: Download of image fake_id failed: Received status code 500 from http://example.org, expected 200. Response body: Oops Response headers: - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0016446113586425781 seconds. Error: Received status code 500 from http://example.org, expected 200. Response body: Oops Response headers: -ironic_python_agent.tests.unit.test_hardware.TestHardwareManagerLoading.test_get_managers_detail -ironic_python_agent.tests.unit.test_hardware.TestHardwareManagerLoading.test_get_managers_detail ... ok -ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_wrong_path -ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_wrong_path ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_fw_version -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_fw_version ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_prep -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_prep ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_unknown_exception -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_unknown_exception ... ok - WARNING [ironic_python_agent.numa_inspector] Failed to get some NUMA information (Error in NUMA node data format: An unexpected error occurred. Please try back later.) -ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_secondary_sort -ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_secondary_sort ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_fails -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_fails ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries ... ok - WARNING [ironic_python_agent.extensions.standby] Unable to connect to http://example.org, retrying. Error: - WARNING [ironic_python_agent.extensions.standby] Unable to connect to http://example.org, retrying. Error: Error downloading image: Download of image fake_id failed: Received status code 500 from http://example.org, expected 200. Response body: Response headers: -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_works -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_works ... ok ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve @@ -8887,7 +10633,7 @@ ^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e -urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) +urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: @@ -8901,7 +10647,7 @@ File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) +urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: @@ -8920,107 +10666,10 @@ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) -requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) +requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS -ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_number -ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_number ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_failure -ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_failure ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi ... ok - WARNING [ironic_python_agent.numa_inspector] Failed to get some NUMA information (Error in NUMA node data format: An unexpected error occurred. Please try back later.) -ironic_python_agent.tests.unit.test_utils.TestUtils.test_gzip_and_b64encode -ironic_python_agent.tests.unit.test_utils.TestUtils.test_gzip_and_b64encode ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_unknown_exception_fallback -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_unknown_exception_fallback ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_invalid -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_invalid ... ok - ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries_success -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries_success ... ok ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_listen_host_port ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_listen_host_port ... ok -ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_number_nvme -ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_number_nvme ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_no_nics_dirs -ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_no_nics_dirs ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_is_journalctl_present -ironic_python_agent.tests.unit.test_utils.TestUtils.test_is_journalctl_present ... ok - WARNING [ironic_python_agent.numa_inspector] Failed to get list of NUMA nodes, NUMA node path does not exist: /sys/devices/system/node/ - ERROR [root] Command failed: install_bootloader, error: meow -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/image.py", line 721, in install_bootloader - _install_grub2(device, - File "", line 3, in _install_grub2 - File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ - return self._mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call - raise effect -OSError: meow -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_with_uuid -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_with_uuid ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid ... ok - ERROR [ironic_python_agent.disk_utils] Security: Unable to safety check image -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNics.test_nvidia_nics -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNics.test_nvidia_nics ... ok -ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_path -ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_path ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_no_numa_dirs -ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_no_numa_dirs ... ok - WARNING [ironic_python_agent.extensions.standby] poweroff command failed with error Unexpected error while running command. -Command: None -Exit code: - -Stdout: '' -Stderr: None, falling back to sysrq-trigger -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_grub_failure_api_override -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_grub_failure_api_override ... ok - ERROR [ironic_python_agent.disk_utils] Security: Image failed safety check -ironic_python_agent.tests.unit.test_utils.TestUtils.test_is_journalctl_present_false -ironic_python_agent.tests.unit.test_utils.TestUtils.test_is_journalctl_present_false ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_ipv4 -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_ipv4 ... ok -ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_fail_format_error -ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_fail_format_error ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_poweroff_sysrq -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_poweroff_sysrq ... ok - WARNING [ironic_python_agent.extensions.standby] reboot command has been ignored, falling back to sysrq-trigger - ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow -ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_success -ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_success ... ok -ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on -ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_ipv6 -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_ipv6 ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_reboot_sysrq -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_reboot_sysrq ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_secure_boot_overriden_with_instance_info_caps -ironic_python_agent.tests.unit.test_utils.TestUtils.test_secure_boot_overriden_with_instance_info_caps ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure ... ok -ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_fail_safety_check -ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_fail_safety_check ... ok - ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_cores_info -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_cores_info ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type -ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type ... ok -ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on_wrong_path -ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on_wrong_path ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_protocol -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_protocol ... ok -ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_pass -ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_pass ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure_api_override -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure_api_override ... ok - ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve @@ -9080,7 +10729,7 @@ ^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e -urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) +urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: @@ -9094,7 +10743,7 @@ File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) +urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: @@ -9113,31 +10762,10 @@ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) -requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) +requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS -ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_correct_mac -ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_correct_mac ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_disk_label_ignored_with_uefi -ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_disk_label_ignored_with_uefi ... ok - WARNING [root] Device /dev/fake1 is inaccessible, skipping... Error: nope -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_409_status_code -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_409_status_code ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_memory_info -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_memory_info ... ok ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_raise_keyboard_interrupt ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_raise_keyboard_interrupt ... ok -ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_pxelinux_mac -ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_pxelinux_mac ... ok -ironic_python_agent.tests.unit.test_hardware.TestCollectSystemLogs.test__collect_udev -ironic_python_agent.tests.unit.test_hardware.TestCollectSystemLogs.test__collect_udev ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_gpt -ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_gpt ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_agent_version_unsupported -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_agent_version_unsupported ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_manage_failure -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_manage_failure ... ok WARNING [root] Can't find field vendor for device lo in device class net ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): @@ -9198,7 +10826,7 @@ ^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e -urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) +urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: @@ -9212,7 +10840,7 @@ File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) +urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: @@ -9231,8 +10859,25 @@ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) -requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) +requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) + WARNING [ironic_python_agent.agent] Ironic does not support automated TLS +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_inspection +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_inspection ... ok + ERROR [ironic_lib.exception] Exception in string format operation (arguments ) +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/ironic_lib/exception.py", line 134, in __init__ + message = self._msg_fmt % kwargs + ~~~~~~~~~~~~~~^~~~~~~~ +KeyError: 'service' + WARNING [ironic_python_agent.agent] Could not get baremetal endpoint from mDNS, will not heartbeat + WARNING [root] Can't find field vendor for device lo in device class net WARNING [ironic_python_agent.agent] Ironic does not support automated TLS +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_inspection_without_apiurl +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_inspection_without_apiurl ... ok +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhd +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhd ... ok +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhd_invalid +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhd_invalid ... ok ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve @@ -9292,7 +10937,7 @@ ^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e -urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) +urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: @@ -9306,7 +10951,7 @@ File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) +urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: @@ -9325,94 +10970,24 @@ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) -requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) +requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_1 -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_1 ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2 -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2 ... ok -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_inspection -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_inspection ... ok -ironic_python_agent.tests.unit.test_hardware.TestCollectSystemLogs.test_collect_system_logs -ironic_python_agent.tests.unit.test_hardware.TestCollectSystemLogs.test_collect_system_logs ... ok - ERROR [ironic_python_agent.extensions.image] Installing GRUB2 boot loader to device /dev/fake failed with Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boom' -Stderr: None. - WARNING [ironic_python_agent.extensions.image] Unable to umount vfat partitions. Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boom' -Stderr: None - WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/dev. Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boom' -Stderr: None - WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/proc. Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boom' -Stderr: None - WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/run. Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boom' -Stderr: None - WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/sys. Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boom' -Stderr: None -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_nics_info -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_nics_info ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_with_disk_label -ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_with_disk_label ... ok - WARNING [root] The root device was not detected in 27 seconds -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_2 -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_2 ... ok -ironic_python_agent.tests.unit.test_agent.TestBaseAgentVMediaToken.test_run_agent_token_vmedia -ironic_python_agent.tests.unit.test_agent.TestBaseAgentVMediaToken.test_run_agent_token_vmedia ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_command_fail -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_command_fail ... ok +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_sleep +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_sleep ... ok +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_ssl +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_ssl ... ok ERROR [ironic_lib.exception] Exception in string format operation (arguments ) Traceback (most recent call last): File "/usr/lib/python3/dist-packages/ironic_lib/exception.py", line 134, in __init__ message = self._msg_fmt % kwargs ~~~~~~~~~~~~~~^~~~~~~~ KeyError: 'service' -ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_with_instance_disk_label -ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_with_instance_disk_label ... ok WARNING [ironic_python_agent.agent] Could not get baremetal endpoint from mDNS, will not heartbeat -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_3 -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_3 ... ok -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout ... ok -ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_empty -ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_empty ... ok - WARNING [root] The root device was not detected in 45 seconds WARNING [root] Can't find field vendor for device lo in device class net + ERROR [ironic_python_agent.agent] Neither ipa-api-url nor inspection_callback_urlfound, please check your pxe append parameters. WARNING [ironic_python_agent.agent] Ironic does not support automated TLS -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_thread_dirs -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_thread_dirs ... ok -/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_tls_utils.py:57: CryptographyDeprecationWarning: Properties that return a naïve datetime object have been deprecated. Please switch to not_valid_before_utc. - self.assertLess(cert.not_valid_before, -/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_tls_utils.py:59: CryptographyDeprecationWarning: Properties that return a naïve datetime object have been deprecated. Please switch to not_valid_after_utc. - self.assertGreater(cert.not_valid_after, -ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_fields -ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_fields ... ok -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_configured -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_configured ... ok -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_inspection_without_apiurl -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_inspection_without_apiurl ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_prep -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_prep ... ok - WARNING [root] The root device was not detected in 27 seconds -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_invalid_status_code -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_invalid_status_code ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_cores_info -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_cores_info ... ok +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_without_inspection_and_apiurl +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_without_inspection_and_apiurl ... ok ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve @@ -9472,7 +11047,7 @@ ^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e -urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) +urllib3.exceptions.NameResolutionError: : Failed to resolve 'example.com' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: @@ -9486,7 +11061,7 @@ File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) +urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='example.com', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'example.com' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: @@ -9505,130 +11080,10 @@ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) -requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) - WARNING [ironic_python_agent.agent] Ironic does not support automated TLS -ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_normal -ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_normal ... ok -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_sleep -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_sleep ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_connection_error -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_connection_error ... ok -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_unconfigured -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_unconfigured ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_softraid_bios -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_softraid_bios ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr -ironic_python_agent.tests.unit.test_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_memory_info -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_memory_info ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_exception -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_exception ... ok -ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test__generate -ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test__generate ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr_no_bootloaders -ironic_python_agent.tests.unit.test_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr_no_bootloaders ... ok - WARNING [ironic_python_agent.ironic_api_client] Connection error when accessing 2001:db8::1/v1/heartbeat/meow, trying the next URL. Error: - WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/md/esp using the install command which does not place Secure Boot signed binaries. - WARNING [ironic_python_agent.extensions.image] Ignoring GRUB2 boot loader installation failure: Unexpected error while running command. -Command: grub2-install -Exit code: 1 -Stdout: '' -Stderr: 'grub2-install: error: this utility cannot be used for EFI platforms because it does not support UEFI Secure Boot.\n'. - WARNING [ironic_python_agent.extensions.image] Ignoring GRUB2 boot loader installation failure: Unexpected error while running command. -Command: grub2-install -Exit code: 1 -Stdout: '' -Stderr: 'grub2-install: error: this utility cannot be used for EFI platforms because it does not support UEFI Secure Boot.\n'. -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_nics_info -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_nics_info ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_several_urls -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_several_urls ... ok -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_ssl -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_ssl ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format ... ok -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_no_wait_for_disks -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_no_wait_for_disks ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_node -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_node ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_softraid_uefi_gpt -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_softraid_uefi_gpt ... ok -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks ... ok -ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_equal -ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_equal ... ok -ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test_generate -ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test_generate ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format_cores_info -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format_cores_info ... ok -/bin/sh: 1: mkisofs: not found - WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. - ERROR [ironic_lib.exception] Exception in string format operation (arguments ) -Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/ironic_lib/exception.py", line 134, in __init__ - message = self._msg_fmt % kwargs - ~~~~~~~~~~~~~~^~~~~~~~ -KeyError: 'service' -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_node_retries -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_node_retries ... ok - WARNING [ironic_python_agent.agent] Could not get baremetal endpoint from mDNS, will not heartbeat -ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_ok -ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_ok ... ok -ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_hash -ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_hash ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format_memory_info -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format_memory_info ... ok - WARNING [root] Can't find field vendor for device lo in device class net - ERROR [ironic_python_agent.agent] Neither ipa-api-url nor inspection_callback_urlfound, please check your pxe append parameters. +requests.exceptions.ConnectionError: HTTPSConnectionPool(host='example.com', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'example.com' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi ... ok -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_configured -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_configured ... ok -ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_notequal -ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_notequal ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_valid_format -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_valid_format ... ok - WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. - WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' - WARNING [root] Device /dev/sda1 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda1' - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda1. Skipping - WARNING [ironic_python_agent.extensions.image] Falling back to fstab entry addition label of UUID. We could not identify which UUID or PARTUUID identifier label should be used, thus UUID will be used. -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_bad_iso_qcow2 -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_bad_iso_qcow2 ... skipped 'mkisofs not installed' -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_fstab -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_fstab ... ok -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_without_inspection_and_apiurl -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_without_inspection_and_apiurl ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_no_nics_dir -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_no_nics_dir ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_timeout -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_timeout ... ok -ironic_python_agent.tests.unit.test_multi_hardware.TestNoHardwareManagerLoading.test_no_managers_found -ironic_python_agent.tests.unit.test_multi_hardware.TestNoHardwareManagerLoading.test_no_managers_found ... ok -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_nonconfigured -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_nonconfigured ... ok - ERROR [ironic_python_agent.extensions.image] Installing GRUB2 boot loader to device /dev/fake failed with Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'error' -Stderr: None. -ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_doesnt_exist_disabled -ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_doesnt_exist_disabled ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_memory_unit -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_memory_unit ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_mount_fails -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_mount_fails ... ok -ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_disabled -ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_disabled ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_ip6 -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_ip6 ... ok -ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found -ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_numa_format_memory_info -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_numa_format_memory_info ... ok +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_url_from_mdns_by_default +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_url_from_mdns_by_default ... ok ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve @@ -9688,7 +11143,7 @@ ^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e -urllib3.exceptions.NameResolutionError: : Failed to resolve 'example.com' ([Errno -2] Name or service not known) +urllib3.exceptions.NameResolutionError: : Failed to resolve 'example.com' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: @@ -9702,7 +11157,7 @@ File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='example.com', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'example.com' ([Errno -2] Name or service not known)")) +urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='example.com', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'example.com' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: @@ -9721,45 +11176,10 @@ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) -requests.exceptions.ConnectionError: HTTPSConnectionPool(host='example.com', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'example.com' ([Errno -2] Name or service not known)")) +requests.exceptions.ConnectionError: HTTPSConnectionPool(host='example.com', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'example.com' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_threaddir_format_cores_info -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_threaddir_format_cores_info ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_token -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_token ... ok -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_url_from_mdns_by_default -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_url_from_mdns_by_default ... ok - WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. - WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' - WARNING [root] Device /dev/sda1 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda1' - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda1. Skipping - WARNING [ironic_python_agent.extensions.image] Falling back to fstab entry addition label of UUID. We could not identify which UUID or PARTUUID identifier label should be used, thus UUID will be used. -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_verify_ca -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_verify_ca ... ok -ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_safe -ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_safe ... ok -ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_DeployFail_exc -ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_DeployFail_exc ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_no_fstab -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_no_fstab ... ok -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info ... ok -ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_unsafe -ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_unsafe ... ok -ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_absent -ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_absent ... ok -ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found_with_dev -ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found_with_dev ... ok - WARNING [ironic_python_agent.netutils] LLDP timed out, remaining interfaces: [('eth0', ), ('eth1', )] - WARNING [ironic_python_agent.disk_utils] Unable to probe for partitions on device /dev/fake, the partitioning table may be broken. Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader ... ok -ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_exc -ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_exc ... ok +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_url_from_mdns_explicitly +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_url_from_mdns_explicitly ... ok ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve @@ -9819,7 +11239,7 @@ ^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e -urllib3.exceptions.NameResolutionError: : Failed to resolve 'example.com' ([Errno -2] Name or service not known) +urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: @@ -9833,7 +11253,7 @@ File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='example.com', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'example.com' ([Errno -2] Name or service not known)")) +urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: @@ -9852,97 +11272,13 @@ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) -requests.exceptions.ConnectionError: HTTPSConnectionPool(host='example.com', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'example.com' ([Errno -2] Name or service not known)")) +requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_url_from_mdns_explicitly -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_url_from_mdns_explicitly ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test__get_actual_component_devices -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test__get_actual_component_devices ... ok -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_empty -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_empty ... ok -ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_present -ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_present ... ok - WARNING [ironic_python_agent.netutils] Trailing byte received in an LLDP package: b'5' -ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_not_found -ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_not_found ... ok - ERROR [ironic_python_agent.utils] foo - ERROR [ironic_python_agent.utils] bar - ERROR [ironic_python_agent.utils] baz - ERROR [ironic_python_agent.utils] foo -ironic_python_agent.tests.unit.test_utils.TestFailures.test_get_error -ironic_python_agent.tests.unit.test_utils.TestFailures.test_get_error ... ok -ironic_python_agent.tests.unit.test_utils.TestFailures.test_raise -ironic_python_agent.tests.unit.test_utils.TestFailures.test_raise ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test__get_actual_component_devices_broken_raid0 -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test__get_actual_component_devices_broken_raid0 ... ok -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_malformed -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_malformed ... ok -ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_present_uppercase -ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_present_uppercase ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device ... ok -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_multiple -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_multiple ... ok -ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_exc -ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_exc ... ok - WARNING [ironic_python_agent.extensions.image] Failed to copy grub.cfg file for EFI boot operation. Error copy failed - WARNING [ironic_python_agent.extensions.image] Failed to copy grub.cfg file for EFI boot operation. Error copy failed - WARNING [ironic_python_agent.extensions.image] Failed to copy grubenv file. Error: copy failed - WARNING [ironic_python_agent.netutils] LLDP timed out, remaining interfaces: [('eth1', )] -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_one_empty_interface -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_one_empty_interface ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_create_device -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_create_device ... ok +ironic_python_agent.tests.unit.test_agent.TestBaseAgentVMediaToken.test_run_agent_token_vmedia +ironic_python_agent.tests.unit.test_agent.TestBaseAgentVMediaToken.test_run_agent_token_vmedia ... ok ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test__heartbeat_expected ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test__heartbeat_expected ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader_grubcfg_fails -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader_grubcfg_fails ... ok - WARNING [ironic_python_agent.raid_utils] Found /dev/sdb1 to be missing from /dev/md0 ... re-adding! -ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_false -ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_false ... ok - ERROR [ironic_python_agent.netutils] Socket for network interface eth0 said that it was ready to read we were unable to read from the socket while trying to get LLDP packet. Skipping this network interface. -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/netutils.py", line 197, in _get_lldp_info - lldp_info[interface[0]] = _receive_lldp_packets(s) - ^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/netutils.py", line 160, in _receive_lldp_packets - pkt = sock.recv(1600) - ^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ - return self._mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call - raise effect -OSError: BOOM -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_read_device -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_read_device ... ok -ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_true -ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_true ... ok -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_socket_recv_error -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_socket_recv_error ... ok -ironic_python_agent.tests.unit.test_utils.TestRemoveKeys.test_remove_keys -ironic_python_agent.tests.unit.test_utils.TestRemoveKeys.test_remove_keys ... ok -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_from_file_reads_minimum -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_from_file_reads_minimum ... ok - WARNING [ironic_python_agent.raid_utils] Found /dev/sdb1 to be missing from /dev/md0 ... re-adding! -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_missing_device -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_missing_device ... ok -/bin/sh: 1: mkisofs: not found -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader_with_grubcfg -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader_with_grubcfg ... ok -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets ... ok - ERROR [ironic_python_agent.netutils] Failed to open all RawPromiscuousSockets, attempting to close any opened sockets. -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_with_volume_name -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_with_volume_name ... ok -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets_bind_fail -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets_bind_fail ... ok -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_iso_9660 -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_iso_9660 ... skipped 'mkisofs not installed' - ERROR [ironic_python_agent.agent] error sending heartbeat to + ERROR [ironic_python_agent.agent] error sending heartbeat to Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/agent.py", line 148, in do_heartbeat self.api.heartbeat( @@ -9955,695 +11291,59 @@ File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call raise effect Exception: uh oh! -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_get_volume_name_of_raid_device -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_get_volume_name_of_raid_device ... ok - ERROR [ironic_python_agent.extensions.standby] Timeout reached waiting for a chunk of data from a remote server. -/bin/sh: 1: mkisofs: not found - WARNING [ironic_python_agent.extensions.standby] Image download failed, 0 of 2: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Error downloading image: Download of image fake_id failed: Timed out reading next chunk from webserver ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test_heartbeat ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test_heartbeat ... ok - ERROR [ironic_python_agent.disk_utils] Security: Detected image format was qcow3, but only raw, qcow2 are allowed -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_get_volume_name_of_raid_device_invalid -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_get_volume_name_of_raid_device_invalid ... ok -ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_mismatch -ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_mismatch ... ok -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets_exception -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets_exception ... ok -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_iso_udf -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_iso_udf ... skipped 'mkisofs not installed' - WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. -ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_mismatch_but_disabled -ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_mismatch_but_disabled ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_bios_gpt -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_bios_gpt ... ok - ERROR [ironic_python_agent.disk_utils] Security: Detected image format was qcow3, but only raw, qcow2 are allowed -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_wrap_ipv6 -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_wrap_ipv6 ... ok -ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_type_disallowed -ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_type_disallowed ... ok -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_wrap_ipv6_with_ipv4 -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_wrap_ipv6_with_ipv4 ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_no_loader -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_no_loader ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_bios_msdos -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_bios_msdos ... ok -ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_happy_qcow2 -ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_happy_qcow2 ... ok - WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. -ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_happy_raw -ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_happy_raw ... ok -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_convert_to_sparse -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_convert_to_sparse ... ok -ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_safety_check_fail_but_disabled -ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_safety_check_fail_but_disabled ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_preserve_failure -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_preserve_failure ... ok -ironic_python_agent.tests.unit.test_disk_utils.PopulateImageTestCase.test_populate_qcow2_image -ironic_python_agent.tests.unit.test_disk_utils.PopulateImageTestCase.test_populate_qcow2_image ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt_efi_provided -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt_efi_provided ... ok -ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run -ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run ... ok -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_gpt_disk_label -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_gpt_disk_label ... ok -ironic_python_agent.tests.unit.test_disk_utils.PopulateImageTestCase.test_populate_raw_image -ironic_python_agent.tests.unit.test_disk_utils.PopulateImageTestCase.test_populate_raw_image ... ok - WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. - WARNING [ironic_python_agent.disk_utils] Failed to verify partition tables on device /dev/fake: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_configdrive_partition -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_configdrive_partition ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_preserve_failure2 -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_preserve_failure2 ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt_esp_not_found -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt_esp_not_found ... ok -ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_custom_attempts -ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_custom_attempts ... ok -ironic-python-agent: Copying configuration from /tmp/tmpogy_7mif/etc/ironic-python-agent to /etc/ironic-python-agent -ironic-python-agent: Copying configuration from /tmp/tmpogy_7mif/etc/ironic-python-agent.d to /etc/ironic-python-agent.d -ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_fails -ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_fails ... ok -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy ... ok -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_ephemeral_partition -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_ephemeral_partition ... ok -ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_trigger -ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_trigger ... ok -ironic-python-agent: Copying configuration from /tmp/tmp2l9ceisc/etc/ironic-python-agent to /etc/ironic-python-agent -ironic-python-agent: Copying configuration from /tmp/tmp2l9ceisc/etc/ironic-python-agent.d to /etc/ironic-python-agent.d -ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders -ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders ... ok -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_root_partition -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_root_partition ... ok - WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy_mounted -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy_mounted ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders_no_csv -ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders_no_csv ... ok - ERROR [ironic_python_agent.extensions.image] Installing GRUB2 boot loader to device /dev/fake failed with Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'error' -Stderr: None. - ERROR [ironic_python_agent.extensions.image] Umounting efi system partition failed. Attempted 3 times. Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'error' -Stderr: None -ironic-python-agent: /some/path/etc/ironic-python-agent not found -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_umount_fails -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_umount_fails ... ok -ironic-python-agent: /some/path/etc/ironic-python-agent.d not found -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_mounted_no_files -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_mounted_no_files ... ok -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_swap_partition -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_swap_partition ... ok -ironic-python-agent: /tmp/tmpsmi6cpso/etc/ironic-python-agent not found -ironic-python-agent: /tmp/tmpsmi6cpso/etc/ironic-python-agent.d not found -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_windows_efi_bootloaders -ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_windows_efi_bootloaders ... ok -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_files -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_files ... ok -ironic-python-agent: No virtual media device detected -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_vmedia -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_vmedia ... ok -ironic-python-agent: Cannot use configuration from virtual media as the agent was not booted from virtual media. -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_vmedia_found_not_booted_from_vmedia -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_vmedia_found_not_booted_from_vmedia ... ok -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_ppc64le_prep_part -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_ppc64le_prep_part ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__no_efi_bootloaders -ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__no_efi_bootloaders ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_empty -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_empty ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_not_bootable -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_not_bootable ... ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete ... ok -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_preserve_ephemeral -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_preserve_ephemeral ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_uefi_mode -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_uefi_mode ... ok - WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_uefi -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_uefi ... ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete_not_exists -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete_not_exists ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_find_partition -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_find_partition ... ok - WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_without_image -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_without_image ... ok +ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_save_api_client +ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_save_api_client ... ok +ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_update_node_cache +ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_update_node_cache ... ok +ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_empty +ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_empty ... ok +ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_invalid_type_in_param +ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_invalid_type_in_param ... ok +ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_invalid_type_on_node +ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_invalid_type_on_node ... ok +ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_ok +ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_ok ... ok +ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_verify_false +ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_verify_false ... ok ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_given_partition -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_given_partition ... ok ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_disabled ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_disabled ... ok ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_flags ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_flags ... ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content ... ok ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_flags_disabled ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_flags_disabled ... ok +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries_on_50X_error +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries_on_50X_error ... ok ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_just_fails ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_just_fails ... ok - WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_just_fails_disabled ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_just_fails_disabled ... ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_modes -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_modes ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_with_entry_removal -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_with_entry_removal ... ok ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries ... ok ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error ... ok - WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error_disabled ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error_disabled ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_with_entry_removal_lenovo -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_with_entry_removal_lenovo ... ok ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails ... ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_modes_exists -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_modes_exists ... ok ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails_disabled ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails_disabled ... ok - WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. - WARNING [ironic_python_agent.extensions.image] efibootmgr is not available in the ramdisk - ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_disabled ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_disabled ... ok - ERROR [root] Command failed: install_bootloader, error: -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/image.py", line 721, in install_bootloader - _install_grub2(device, - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/image.py", line 167, in _install_grub2 - root_partition = partition_utils.get_partition(device, uuid=root_uuid) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/partition_utils.py", line 615, in get_partition - ipa_utils.rescan_device(device) - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/utils.py", line 921, in rescan_device - execute('partx', '-av', device, attempts=3, delay_on_retry=True) - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/utils.py", line 77, in execute - return ironic_utils.execute(*cmd, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "", line 3, in do_not_call - File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ - return self._mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call - raise effect -FileNotFoundError -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test_install_bootloader_failure -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test_install_bootloader_failure ... ok -ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute -ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute ... ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_on -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_on ... ok -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_chronyd -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_chronyd ... ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_owner -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_owner ... ok -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_none -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_none ... ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_owner_and_group -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_owner_and_group ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestUpdatenvidiaNicFirmwareSettings.test_update_nvidia_nic_firmware_settings_exception -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestUpdatenvidiaNicFirmwareSettings.test_update_nvidia_nic_firmware_settings_exception ... ok -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_ntpdate -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_ntpdate ... ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url ... ok -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_chrony -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_chrony ... ok - ERROR [ironic_python_agent.utils] Failed to sync time using chrony to ntp server: 192.168.1.1: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: 'time verboten' -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url_formatting -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url_formatting ... ok -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_params_validation -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_params_validation ... ok -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_chrony_failure -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_chrony_failure ... ok - ERROR [ironic_python_agent.utils] Unable to sync clock, available methods of 'ntpdate' or 'chrony' not found. -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_no_wait -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_no_wait ... ok -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_none -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_none ... ok -ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_retries -ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_retries ... ok -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp ... ok - ERROR [ironic_python_agent.utils] Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp_raises_exception -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp_raises_exception ... ok -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_with_false_wait -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_with_false_wait ... ok -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp_server_is_none -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp_server_is_none ... ok -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive ... ok -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_bad_status_code -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_bad_status_code ... ok -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_bad_url -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_bad_url ... ok -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_base64_error -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_base64_error ... ok -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_with_true_wait -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_with_true_wait ... ok -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_validation -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_validation ... ok -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_with_token -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_with_token ... ok -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_with_token_invalid -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_with_token_invalid ... ok -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_agent_status -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_agent_status ... ok -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_result -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_result ... ok -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_command_results -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_command_results ... ok -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_not_found -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_not_found ... ok -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_root -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_root ... ok -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qcow2 -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qcow2 ... ok - WARNING [ironic_python_agent.format_inspector] Found unknown feature bit in byte 7: 0b0/0b0 - WARNING [ironic_python_agent.format_inspector] Found unknown feature bit in byte 0: 0b0/0b1111 -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_v1_root -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_v1_root ... ok -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qcow2_feature_flag_checks -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qcow2_feature_flag_checks ... ok -ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_gpt -ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_gpt ... ok -ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_msdos -ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_msdos ... ok - WARNING [ironic_python_agent.disk_utils] Unable to get partition table type for device hello -ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_unknown -ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_unknown ... ok -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qcow2_invalid -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qcow2_invalid ... ok -ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_correct -ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_correct ... ok -ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_correct_gpt_nvme -ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_correct_gpt_nvme ... ok -ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_incorrect -ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_incorrect ... ok -ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_incorrect_gpt -ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_incorrect_gpt ... ok - WARNING [ironic_python_agent.efi_utils] Invalid sgdisk line: I am a teaport - WARNING [ironic_python_agent.efi_utils] No UUID information provided in sgdisk output for partition 1 on device /dev/fake -ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_broken -ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_broken ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_ok -ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_ok ... ok -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorsTargeted.test_vhd_table_over_limit -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorsTargeted.test_vhd_table_over_limit ... ok -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorsTargeted.test_vhd_table_under_limit -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorsTargeted.test_vhd_table_under_limit ... ok -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_base64_string -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_base64_string ... ok -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_binary -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_binary ... ERROR [ironic_python_agent.utils] collector failed: boom -ok -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collector_failed -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collector_failed ... ok -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_gzip_error -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_gzip_error ... ok - ERROR [ironic_python_agent.extensions.standby] Timeout reached waiting for a chunk of data from a remote server. - WARNING [ironic_python_agent.extensions.standby] Image download failed, 1 of 2: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Error downloading image: Download of image fake_id failed: Timed out reading next chunk from webserver -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collectors_option -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collectors_option ... ok -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_insecure -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_insecure ... ok -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qcow2_safety_checks -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qcow2_safety_checks ... ok -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_disabled -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_disabled ... ok -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_ssl -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_ssl ... ok -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qed_always_unsafe -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qed_always_unsafe ... ok -ironic_python_agent.tests.unit.test_utils.TestUnmountOfConfig.test__unmount_any_config_drives -ironic_python_agent.tests.unit.test_utils.TestUnmountOfConfig.test__unmount_any_config_drives ... ok - ERROR [ironic_python_agent.utils] boom -ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run_no_tls -ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run_no_tls ... ok -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_extensions_failed -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_extensions_failed ... ok -ironic_python_agent.tests.unit.test_base.BlockExecuteTestCase.test_can_mock_execute -ironic_python_agent.tests.unit.test_base.BlockExecuteTestCase.test_can_mock_execute ... ok -ironic_python_agent.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute -ironic_python_agent.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute ... ok -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_inspector_error -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_inspector_error ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status ... ok - ERROR [ironic_python_agent.burnin] SMART test on /dev/sdj failed with 'string' -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status_missing -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status_missing ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_default -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_default ... ok -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_mdns -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_mdns ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_default -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_default ... ok - ERROR [ironic_python_agent.burnin] fio (disk) failed with error Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_fio -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_fio ... ok -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_ok -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_ok ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_smart_test -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_smart_test ... ok -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_ok_with_ironic_url -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_ok_with_ironic_url ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestGetNextFreeRaidDevice.test_no_device -ironic_python_agent.tests.unit.test_raid_utils.TestGetNextFreeRaidDevice.test_no_device ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestGetNextFreeRaidDevice.test_ok -ironic_python_agent.tests.unit.test_raid_utils.TestGetNextFreeRaidDevice.test_ok ... ok -POST: /v1/commands {'name': 'do_things', 'params': []} -GOT: -POST: /v1/commands {'name': 'do_things', 'params': {'key': 'value'}} -GOT: -POST: /v1/commands?wait=false {'name': 'do_things', 'params': {'key': 'value'}} -GOT: -POST: /v1/commands?wait=true {'name': 'do_things', 'params': {'key': 'value'}} -GOT: -POST: /v1/commands {} -GOT: -POST: /v1/commands?wait=false?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 {'name': 'do_things', 'params': {'key': 'value', 'wait': False, 'agent_token': '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789'}} -GOT: -POST: /v1/commands?wait=false?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 {'name': 'do_things', 'params': {'key': 'value', 'wait': False, 'agent_token': '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789'}} -GOT: -GET: /v1/status None -GOT: -GET: /v1/commands/abc123 None -GOT: -GET: /v1/commands None -GOT: -GET: /v1/foo None -GOT: -GET: / None -GOT: -GET: /v1 None -GOT: -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vdi -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vdi ... ok -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vdi_invalid -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vdi_invalid ... ok -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhd -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhd ... ok -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhd_invalid -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhd_invalid ... ok - ERROR [ironic_python_agent.extensions.standby] Timeout reached waiting for a chunk of data from a remote server. -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_socket_read_timeout -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_socket_read_timeout ... ok - WARNING [ironic_python_agent.extensions.standby] Image download failed, 0 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! - WARNING [ironic_python_agent.extensions.standby] Image download failed, 1 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! - WARNING [ironic_python_agent.extensions.standby] Image download failed, 2 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! - WARNING [ironic_python_agent.extensions.standby] Image download failed, 3 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! - WARNING [ironic_python_agent.extensions.standby] Image download failed, 4 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! - WARNING [ironic_python_agent.extensions.standby] Image download failed, 5 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! - WARNING [ironic_python_agent.extensions.standby] Image download failed, 6 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! - WARNING [ironic_python_agent.extensions.standby] Image download failed, 7 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! - WARNING [ironic_python_agent.extensions.standby] Image download failed, 8 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_write_error -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_write_error ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync ... ok - ERROR [ironic_python_agent.extensions.standby] Flushing file system buffers failed. Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync_error -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync_error ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_checksum -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_checksum ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_urls -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_urls ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_invalid_checksum -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_invalid_checksum ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_invalid_urls -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_invalid_urls ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_legacy_md5_checksum -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_legacy_md5_checksum ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_legacy_md5_checksum_enabled -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_legacy_md5_checksum_enabled ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_missing_field -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_missing_field ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_no_hash_algo -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_no_hash_algo ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_no_hash_value -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_no_hash_value ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_sha256 -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_sha256 ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_ignore_none_md5 -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_ignore_none_md5 ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_with_new_hash_fields -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_with_new_hash_fields ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_without_md5 -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_without_md5 ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_url -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_url ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_empty_password -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_empty_password ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_empty_user -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_empty_user ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_none_password -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_none_password ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_none_user -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_none_user ... ok - ERROR [ironic_python_agent.extensions.standby] Unable to verify image fake_id with available checksums. Please make sure the specified 'os_hash_algo' (currently algo-beyond-milky-way) is supported by this ramdisk, or provide a md5 checksum via the 'checksum' field -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_fails_if_unknown_is_used -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_fails_if_unknown_is_used ... ok - ERROR [ironic_python_agent.extensions.standby] Image failed to verify against checksum. location: /foo/bar; image ID: fake_id; image checksum: fake-checksum; verification checksum: invalid-checksum -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure ... ok - ERROR [ironic_python_agent.extensions.standby] Image failed to verify against checksum. location: /foo/bar; image ID: fake_id; image checksum: fake-sha512-value; verification checksum: invalid-checksum -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_with_new_hash_fields -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_with_new_hash_fields ... ok - ERROR [ironic_python_agent.extensions.standby] Unable to verify image fake_id with available checksums. Please make sure the specified 'os_hash_algo' (currently unsupported-algorithm) is supported by this ramdisk, or provide a md5 checksum via the 'checksum' field -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_without_fallback -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_without_fallback ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_with_md5_fallback -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_with_md5_fallback ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_with_new_hash_fields -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_with_new_hash_fields ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_without_md5 -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_without_md5 ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_fails -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_fails ... ok - ERROR [ironic_lib.exception] Exception in string format operation (arguments ) -Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/ironic_lib/exception.py", line 134, in __init__ - message = self._msg_fmt % kwargs - ~~~~~~~~~~~~~~^~~~~~~~ -KeyError: 'reason' -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_gpt_fails -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_gpt_fails ... ok - ERROR [ironic_python_agent.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests! -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_exception -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_exception ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_exception_image_mb -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_exception_image_mb ... ok - ERROR [ironic_python_agent.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests! -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid ... ok - ERROR [ironic_python_agent.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests! -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid_uefi -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid_uefi ... ok -ironic_python_agent.tests.unit.test_disk_utils.GetDeviceByteSizeTestCase.test_get_dev_byte_size -ironic_python_agent.tests.unit.test_disk_utils.GetDeviceByteSizeTestCase.test_get_dev_byte_size ... ok -ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_enabled_no_results -ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_enabled_no_results ... ok -ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_node_indicates_skip -ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_node_indicates_skip ... ok -ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_not_enabled -ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_not_enabled ... ok -ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_raises -ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_raises ... ok - ERROR [ironic_python_agent.inspector] inspector url error 400: , proceeding with lookup -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_error -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_error ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_1st -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_1st ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_2nd -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_2nd ... ok -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_timeout -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_timeout ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_defaults -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_defaults ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_no_defaults -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_no_defaults ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_raise_missing_config -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_raise_missing_config ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_raise_wrong_config -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_raise_wrong_config ... ok - ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boom' -Stderr: None -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_fio -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_fio ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_partner -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_partner ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_role -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_role ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader ... ok - ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. -Command: None -Exit code: 16 -Stdout: 'Connection timeout' -Stderr: None - ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. -Command: None -Exit code: 16 -Stdout: 'Connection timeout' -Stderr: None - ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. -Command: None -Exit code: 16 -Stdout: 'Connection refused' -Stderr: None -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader_loop -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader_loop ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader_w_logfile -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader_w_logfile ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_unknown_role -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_unknown_role ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer_w_logfile -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer_w_logfile ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_default -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_default ... ok - ERROR [ironic_python_agent.burnin] stress-ng (cpu) failed with error Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_no_stress_ng -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_no_stress_ng ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_non_default -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_non_default ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_default -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_default ... ok - ERROR [ironic_python_agent.burnin] stress-ng (vm) failed with error Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_no_stress_ng -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_no_stress_ng ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_non_default -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_non_default ... ok -ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available -ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available ... ok -ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_dev_becomes_avail_busybox -ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_dev_becomes_avail_busybox ... ok -ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_dev_becomes_avail_psmisc -ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_dev_becomes_avail_psmisc ... ok -ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_device_in_use_busybox -ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_device_in_use_busybox ... ok -ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_device_in_use_psmisc -ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_device_in_use_psmisc ... ok - WARNING [ironic_python_agent.disk_utils] Failed to check the device fake-dev with fuser: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: 'fake' -ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_no_device -ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_no_device ... ok - WARNING [ironic_python_agent.disk_utils] Failed to check the device fake-dev with fuser: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: 'fake' -ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_no_fuser -ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_no_fuser ... ok -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhdx -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhdx ... ok -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhdx_invalid -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhdx_invalid ... ok -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries_on_50X_error -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries_on_50X_error ... ok -ironic_python_agent.tests.unit.test_hardware.TestListHardwareInfo.test_caching -ironic_python_agent.tests.unit.test_hardware.TestListHardwareInfo.test_caching ... ok +/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_tls_utils.py:57: CryptographyDeprecationWarning: Properties that return a naïve datetime object have been deprecated. Please switch to not_valid_before_utc. + self.assertLess(cert.not_valid_before, +/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_tls_utils.py:59: CryptographyDeprecationWarning: Properties that return a naïve datetime object have been deprecated. Please switch to not_valid_after_utc. + self.assertGreater(cert.not_valid_after, +ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test__generate +ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test__generate ... ok +ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test_generate +ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test_generate ... ok ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retry_on_50X_and_succeed ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retry_on_50X_and_succeed ... ok WARNING [ironic_python_agent.inspector] Connection error when accessing url1, trying the next URL. Error: -ironic_python_agent.tests.unit.test_multi_hardware_clean_steps.TestMultipleHardwareManagerCleanSteps.test_clean_step_ordering -ironic_python_agent.tests.unit.test_multi_hardware_clean_steps.TestMultipleHardwareManagerCleanSteps.test_clean_step_ordering ... ok -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_exceeds_2TB -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_exceeds_2TB ... ok -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_exceeds_2TB_nvme -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_exceeds_2TB_nvme ... ok -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_under_2TB -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_under_2TB ... ok -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_under_2TB_nvme -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_under_2TB_nvme ... ok -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_conf_drive_error_counting -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_conf_drive_error_counting ... ok -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_conf_drive_sz_exceed -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_conf_drive_sz_exceed ... ok -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_exists -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_exists ... ok -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_gpt -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_gpt ... ok -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_gpt_use_vfat -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_gpt_use_vfat ... ok -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_gpt_with_fallback -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_gpt_with_fallback ... ok -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_num_parts_exceed -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_num_parts_exceed ... ok - ERROR [root] Failed to create config drive on disk /dev/fake for node 12345678-1234-1234-1234-1234567890abcxyz. Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_part_create_exc -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_part_create_exc ... ok ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_several_urls ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_several_urls ... ok ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_ok @@ -10655,85 +11355,20 @@ WARNING [ironic_python_agent.inspector] Connection error when accessing http://url1/v1/continue_inspection, trying the next URL. Error: ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_use_several_api_urls ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_use_several_api_urls ... ok -ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_cache_hardware_info -ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_cache_hardware_info ... ok - WARNING [ironic_python_agent.inspector] no suitable root device detected -ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_no_root_disk -ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_no_root_disk ... ok -ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_ok -ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_ok ... ok -ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_all -ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_all ... ok -ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_boot_only -ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_boot_only ... ok -ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_disabled -ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_disabled ... ok -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_both_succeed -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_both_succeed ... ok -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_both_succeed -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_both_succeed ... ok -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_part_create_fail -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_part_create_fail ... ok -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_generic_method_only -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_generic_method_only ... ok -ironic_python_agent.tests.unit.test_partition_utils.RealFilePartitioningTestCase.test_different_sizes -ironic_python_agent.tests.unit.test_partition_utils.RealFilePartitioningTestCase.test_different_sizes ... skipped "parted utility was not found: [Errno 2] No such file or directory: 'parted'" -ironic_python_agent.tests.unit.test_partition_utils.RealFilePartitioningTestCase.test_whole_disk -ironic_python_agent.tests.unit.test_partition_utils.RealFilePartitioningTestCase.test_whole_disk ... skipped "parted utility was not found: [Errno 2] No such file or directory: 'parted'" -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_mainline_fails -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_mainline_fails ... ok -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_mainline_only -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_mainline_only ... ok -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_manager_method_not_found -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_manager_method_not_found ... ok +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhdx +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhdx ... ok +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhdx_invalid +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhdx_invalid ... ok ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk ... ok - ERROR [root] Unexpected error dispatching unexpected_fail to manager : A problem was encountered -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/hardware.py", line 3468, in dispatch_to_all_managers - response = getattr(manager, method)(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 32, in wrapper - return fn(self, *args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 101, in unexpected_fail - raise RuntimeError('A problem was encountered') -RuntimeError: A problem was encountered -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_method_fails -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_method_fails ... ok -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_generic_method_only -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_generic_method_only ... ok -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_mainline_fails -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_mainline_fails ... ok -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_mainline_method_only -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_mainline_method_only ... ok -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_manager_method_not_found -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_manager_method_not_found ... ok - ERROR [root] Unexpected error dispatching unexpected_fail to manager : A problem was encountered -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/hardware.py", line 3512, in dispatch_to_managers - return getattr(manager, method)(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 32, in wrapper - return fn(self, *args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 101, in unexpected_fail - raise RuntimeError('A problem was encountered') -RuntimeError: A problem was encountered -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_method_fails -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_method_fails ... ok -ironic-python-agent: line 1. -ironic-python-agent: line 2 message -ironic_python_agent.tests.unit.test_utils.TestCheckEarlyLogging.test_early_logging_goes_to_logger -ironic_python_agent.tests.unit.test_utils.TestCheckEarlyLogging.test_early_logging_goes_to_logger ... ok 5+0 records in 5+0 records out -5242880 bytes (5.2 MB, 5.0 MiB) copied, 1.71965 s, 3.0 MB/s +5242880 bytes (5.2 MB, 5.0 MiB) copied, 0.0175741 s, 298 MB/s ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_mem_limit ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_mem_limit ... ok 5+0 records in 5+0 records out -5242880 bytes (5.2 MB, 5.0 MiB) copied, 0.0633423 s, 82.8 MB/s +5242880 bytes (5.2 MB, 5.0 MiB) copied, 0.0168662 s, 311 MB/s ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_mem_limit_stream_optimized ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_mem_limit_stream_optimized ... ok ERROR [ironic_python_agent.format_inspector] Format inspector failed, aborting: Wrong descriptor location @@ -10757,641 +11392,57 @@ ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_invalid_type ... ok ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_stream_optimized ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_stream_optimized ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_enabled_set_password_exception -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_enabled_set_password_exception ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_enabled_unlock_exception -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_enabled_unlock_exception ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_erase_exec_exception -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_erase_exec_exception ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__find_pstore_mount_point -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__find_pstore_mount_point ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__find_pstore_mount_point_no_pstore -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__find_pstore_mount_point_no_pstore ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__get_device_info -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__get_device_info ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__get_md_uuid -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__get_md_uuid ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_linux_raid_member -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_linux_raid_member ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_linux_raid_member_false -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_linux_raid_member_false ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device ... ok - WARNING [root] Could not determine if /dev/sdfake is aread-only device. Error: -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_error -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_error ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_false -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_false ... ok - WARNING [root] Could not determine if /dev/sdfake1 is aread-only device. Error: -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_partition_error -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_partition_error ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_partition_ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_partition_ok ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_exists -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_exists ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_exists_no_match -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_exists_no_match ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_path_doesnt_exist -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_path_doesnt_exist ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration_no_delete -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration_no_delete ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_steps_exist -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_steps_exist ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_invalid -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_invalid ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_nvram -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_nvram ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_nvram_defaults -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_nvram_defaults ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data_decode_exception -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data_decode_exception ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data_netutils_exception -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data_netutils_exception ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures_raid5 -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures_raid5 ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures_raid6 -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures_raid6 ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_efi -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_efi ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_empty_target_raid_config -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_empty_target_raid_config ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_failure_with_nvme -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_failure_with_nvme ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_force_gpt_with_disk_label -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_force_gpt_with_disk_label ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_invalid_hints -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_invalid_hints ... ok - WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' - WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' - WARNING [root] Device /dev/sdb is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdb' - WARNING [root] Device /dev/md0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/md0' - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping - WARNING [root] Can't find field vendor for device md0 in device class block -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_invalid_raid_config -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_invalid_raid_config ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_max_is_first_logical -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_max_is_first_logical ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_mismatching_hints -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_mismatching_hints ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_no_max -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_no_max ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_partitions_detected -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_partitions_detected ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_raid_5 -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_raid_5 ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_raid_6 -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_raid_6 ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_skip_list_existing_device_does_not_match -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_skip_list_existing_device_does_not_match ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_complete_skip_list -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_complete_skip_list ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_hints -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_hints ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_nvme -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_nvme ... ok - WARNING [root] Failed to remove partitions on /dev/sda: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'No md superblock detected' -Stderr: None - WARNING [root] Failed to remove partitions on /dev/sdb: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'No md superblock detected' -Stderr: None -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration ... ok - ERROR [root] Unable to clean all softraid correctly. Remaining ['/dev/md0'] -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_failure_blocks_remaining -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_failure_blocks_remaining ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_partition -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_partition ... ok - WARNING [root] RAID device /dev/md1 will not be deleted - WARNING [root] Software RAID device /dev/md1 is not going to be deleted as its volume name - small - is on the skip list - WARNING [root] Software RAID device /dev/md1 was not deleted - WARNING [root] Holder disk /dev/sda contains logical disk on the skip list. Deleting just partitions: ['1'] - WARNING [root] Holder disk /dev/sdb contains logical disk on the skip list. Deleting just partitions: ['1'] -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_skip_list -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_skip_list ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_deploy_steps_exist -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_deploy_steps_exist ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_erase_disabled -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_erase_disabled ... ok - ERROR [root] Failed to invoke secure erase, fallback to shred is not enabled: Error erasing block device: An unknown error occurred erasing block device /dev/sda -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_failed -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_failed ... ok - WARNING [root] Failed to invoke secure erase, falling back to shred: Error erasing block device: An unknown error occurred erasing block device /dev/sda -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_failed_continued -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_failed_continued ... ok - ERROR [root] Failed to invoke secure erase, fallback to shred is not enabled: Error erasing block device: Block device /dev/sda is frozen and cannot be erased -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_frozen -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_frozen ... ok - ERROR [root] Failed to invoke secure erase, fallback to shred is not enabled: Error erasing block device: Block device /dev/sda already has a security password set -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_enabled -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_enabled ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_enabled_unlock_attempt -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_enabled_unlock_attempt ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_unlock_fallback_pass -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_unlock_fallback_pass ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_success -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_success ... ok - WARNING [root] Unable to execute `smartctl` utility: boom -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_success_no_smartctl -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_success_no_smartctl ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nosecurity_shred -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nosecurity_shred ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_notsupported_shred -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_notsupported_shred ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_crypto_success -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_crypto_success ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_failed -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_failed ... ok - ERROR [root] nvme-cli did not return any supported format modes for device: /dev/nvme0n1 -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_format_unsupported -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_format_unsupported ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_userdata_success -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_userdata_success ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_0_pass_no_zeroize -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_0_pass_no_zeroize ... ok - ERROR [root] Erasing block device /dev/sda failed with error -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_fail_oserror -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_fail_oserror ... ok - ERROR [root] Erasing block device /dev/sda failed with error Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_fail_processerror -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_fail_processerror ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_uses_internal_info -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_uses_internal_info ... ok - WARNING [root] Refusing to permit ATA Secure Erase as direct ATA commands via the `smartctl` utility with device /dev/sda do not succeed. -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_smartctl_fails_security_fallback_to_shred -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_smartctl_fails_security_fallback_to_shred ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_smartctl_unsupported_shred -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_smartctl_unsupported_shred ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_virtual_media -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_virtual_media ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_concurrency -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_concurrency ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_concurrency_pool_size -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_concurrency_pool_size ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_express -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_express ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_express_stops_on_safety_failure -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_express_stops_on_safety_failure ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata ... ok - ERROR [root] Failed to erase the metadata on device "/dev/sdb". Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'Booo00000ooommmmm' -Stderr: None -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata_error -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata_error ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata_safety_check -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata_safety_check ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default_protected_device -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default_protected_device ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_without_disk -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_without_disk ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_pstore -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_pstore ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_ok ... ok - WARNING [root] Executable 'biosdevname' not found -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_oserror -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_oserror ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err3 -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err3 ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err4 -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err4 ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_invalid -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_invalid ... ok - WARNING [root] Invalid IP address meow: 'meow' does not appear to be an IPv4 or IPv6 address -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_iterate_channels -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_iterate_channels ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_no_ipmi_device -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_no_ipmi_device ... ok - WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address - WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address - WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address - WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address - WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address - WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address - WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address - WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address - WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address - WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address - WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_not_available -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_not_available ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_random_error -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_random_error ... ok - WARNING [root] Cannot get BMC address: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_virt -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_virt ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_zeroed -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_zeroed ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_invalid -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_invalid ... ok - WARNING [root] Invalid ipmitool output meow -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_iterate_channels -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_iterate_channels ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_no_ipmi_device -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_no_ipmi_device ... ok - WARNING [root] Invalid ipmitool output - WARNING [root] Invalid ipmitool output - WARNING [root] Invalid ipmitool output - WARNING [root] Invalid ipmitool output - WARNING [root] Invalid ipmitool output - WARNING [root] Invalid ipmitool output - WARNING [root] Invalid ipmitool output - WARNING [root] Invalid ipmitool output - WARNING [root] Invalid ipmitool output - WARNING [root] Invalid ipmitool output - WARNING [root] Invalid ipmitool output -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_not_available -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_not_available ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_random_error -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_random_error ... ok - WARNING [root] Cannot get BMC MAC address: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_virt -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_virt ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_zeroed -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_zeroed ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_channel_7 -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_channel_7 ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_dynamic_address -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_dynamic_address ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_enables -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_enables ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_get_address -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_get_address ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_ipmitool_invalid_stdout_format -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_ipmitool_invalid_stdout_format ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_no_ipmi_device -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_no_ipmi_device ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_not_enabled -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_not_enabled ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_static_address_both -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_static_address_both ... ok - WARNING [root] Cannot get BMC v6 address: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_virt -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_virt ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_bios -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_bios ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_pxe_interface -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_pxe_interface ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_uefi -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_uefi ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_clean_steps -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_clean_steps ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_component_devices -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_component_devices ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_illegal_flags -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_illegal_flags ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_max_mhz_and_flag_fallback -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_max_mhz_and_flag_fallback ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_max_mhz_flag_fallback -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_max_mhz_flag_fallback ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_multi -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_multi ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_no_flags -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_no_flags ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_broken_raid0 -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_broken_raid0 ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_poisoned_output -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_poisoned_output ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_unexpected_devices -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_unexpected_devices ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_nvme -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_nvme ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_whole_device -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_whole_device ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_arm64_lshw -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_arm64_lshw ... ok - WARNING [root] Could not get real physical RAM from lshw: -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_exception -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_exception ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_list -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_list ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_bank_size -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_bank_size ... ok - ERROR [root] Cannot fetch total memory size using psutil version 5 -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/hardware.py", line 1648, in get_memory - total = int(psutil.virtual_memory().total) - ^^^^^^^^^^^^^^^^^^^^^^^ - File "", line 3, in virtual_memory - File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ - return self._mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call - raise effect -AttributeError - ERROR [root] Cannot fetch total memory size using psutil version 5 -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/hardware.py", line 1648, in get_memory - total = int(psutil.virtual_memory().total) - ^^^^^^^^^^^^^^^^^^^^^^^ - File "", line 3, in virtual_memory - File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__ - return self._mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call - raise effect -AttributeError -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v1 -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v1 ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v2 -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v2 ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_v1 -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_v1 ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_v2 -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_v2 ... ok - WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' - WARNING [root] Device /dev/sdb is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdb' - WARNING [root] Device /dev/sdc is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdc' - WARNING [root] Device /dev/sdd is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdd' - WARNING [root] Can't find field vendor for device sdd in device class block - WARNING [root] Device /dev/dm-0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-0' - WARNING [root] Can't find field vendor for device dm-0 in device class block -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device ... ok - WARNING [root] Using hint {'vendor': 'basic vendor'} skipping devices: /dev/sda,/dev/sdb -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_complete_skip_list -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_complete_skip_list ... ok - WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' - WARNING [root] Device /dev/sdb is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdb' -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_fails -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_fails ... ok - WARNING [root] We have identified a multipath device sda, this is being ignored in favor of dm-0 and its related child devices. - WARNING [root] We have identified a multipath device sda2, this is being ignored in favor of dm-0 and its related child devices. - WARNING [root] We have identified a multipath device sda3, this is being ignored in favor of dm-0 and its related child devices. - WARNING [root] We have identified a multipath device sda1, this is being ignored in favor of dm-0 and its related child devices. - WARNING [root] Device /dev/dm-0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-0' - WARNING [root] Can't find field vendor for device dm-0 in device class block - WARNING [root] We have identified a multipath device sdb, this is being ignored in favor of dm-0 and its related child devices. - WARNING [root] We have identified a multipath device sdb2, this is being ignored in favor of dm-0 and its related child devices. - WARNING [root] We have identified a multipath device sdb3, this is being ignored in favor of dm-0 and its related child devices. - WARNING [root] We have identified a multipath device sdb1, this is being ignored in favor of dm-0 and its related child devices. - WARNING [root] Device /dev/sdc is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdc' - WARNING [root] Device /dev/dm-1 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-1' - WARNING [root] Can't find field vendor for device dm-1 in device class block -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_multipath -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_multipath ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_no_root_device -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_no_root_device ... ok - WARNING [root] We have identified a multipath device sda, this is being ignored in favor of dm-0 and its related child devices. - WARNING [root] We have identified a multipath device sda2, this is being ignored in favor of dm-0 and its related child devices. - WARNING [root] We have identified a multipath device sda3, this is being ignored in favor of dm-0 and its related child devices. - WARNING [root] We have identified a multipath device sda1, this is being ignored in favor of dm-0 and its related child devices. - WARNING [root] Device /dev/dm-0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-0' - WARNING [root] Can't find field vendor for device dm-0 in device class block - WARNING [root] We have identified a multipath device sdb, this is being ignored in favor of dm-0 and its related child devices. - WARNING [root] We have identified a multipath device sdb2, this is being ignored in favor of dm-0 and its related child devices. - WARNING [root] We have identified a multipath device sdb3, this is being ignored in favor of dm-0 and its related child devices. - WARNING [root] We have identified a multipath device sdb1, this is being ignored in favor of dm-0 and its related child devices. - WARNING [root] Device /dev/sdc is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdc' - WARNING [root] Device /dev/dm-1 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-1' - WARNING [root] Can't find field vendor for device dm-1 in device class block -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_not_multipath -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_not_multipath ... ok - WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' - WARNING [root] Device /dev/sdb is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdb' - WARNING [root] Device /dev/md0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/md0' - WARNING [root] Can't find field vendor for device md0 in device class block -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_raid -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_raid ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_by_path -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_by_path ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_iinfo -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_iinfo ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_model -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_model ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_name -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_name ... ok - WARNING [ironic_lib.utils] No device found that matches the root device hints {'model': 'fastable sd131 7', 'wwn': 'fake-wwn', 'serial': 'fake-serial', 'vendor': 'fake-vendor', 'size': 10} -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_no_device_found -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_no_device_found ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_rotational -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_rotational ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_serial -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_serial ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_not_int -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_not_int ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_str -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_str ... ok - WARNING [root] Using hint {'vendor': 'fake-vendor'} skipping devices: /dev/sdb - WARNING [ironic_lib.utils] No device found that matches the root device hints {'wwn': 'fake-wwn'} -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_skip_list -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_skip_list ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_vendor -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_vendor ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_wwn -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_wwn ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_skip_list_non_exist -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_skip_list_non_exist ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_just_raids -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_just_raids ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_no_skip_list -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_no_skip_list ... ok - WARNING [root] Using hint {'name': '/dev/sdj'} skipping devices: /dev/sdj -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_with_skip_list -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_with_skip_list ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info ... ok - WARNING [root] Could not retrieve vendor info from lshw: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info_failure -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info_failure ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info_lshw_list -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info_lshw_list ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_usb_devices -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_usb_devices ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_ipmi_device_exists -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_ipmi_device_exists ... ok - WARNING [root] Device /dev/sda is inaccessible, skipping... Error: - WARNING [root] Device /dev/sdb is not supported by pyudev, skipping... Error: No block device with number 1234 - WARNING [root] Device /dev/sdc is inaccessible, skipping... Error: - WARNING [root] We have identified a multipath device sdd, this is being ignored in favor of dm-0 and its related child devices. - WARNING [root] Device /dev/dm-0 is inaccessible, skipping... Error: -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device ... ok - WARNING [root] We have identified a multipath device sdd, this is being ignored in favor of dm-0 and its related child devices. -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_all_serial -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_all_serial ... ok - WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sdb. Skipping -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_hctl_fail -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_hctl_fail ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_only_udev -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_only_udev ... ok - WARNING [root] We have identified a multipath device sdd, this is being ignored in favor of dm-0 and its related child devices. -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_udev -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_udev ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_no_skip_list -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_no_skip_list ... ok - WARNING [root] Using hint {'name': '/dev/sdj'} skipping devices: /dev/sdj - WARNING [root] Using hint {'name': '/dev/hdaa'} skipping devices: /dev/hdaa -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_complete_skip_list -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_complete_skip_list ... ok - WARNING [root] Using hint {'name': '/dev/sdj'} skipping devices: /dev/sdj -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_skip_list -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_skip_list ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_skip_list_non_exist -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_skip_list_non_exist ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_including_partitions -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_including_partitions ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_hardware_info -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_hardware_info ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_normal_vs_enhanced_security_erase -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_normal_vs_enhanced_security_erase ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_service_steps_exist -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_service_steps_exist ... ok - WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' - WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' - WARNING [root] Device /dev/sdb is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdb' - WARNING [root] Device /dev/md0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/md0' - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping - WARNING [root] Can't find field vendor for device md0 in device class block -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_MAX_MAX -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_MAX_MAX ... ok - WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' - WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' - WARNING [root] Device /dev/sdb is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdb' - WARNING [root] Device /dev/md0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/md0' - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping - WARNING [root] Can't find field vendor for device md0 in device class block -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_duplicate_volume_name -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_duplicate_volume_name ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_no_of_raids -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_no_of_raids ... ok - WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' - WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' - WARNING [root] Device /dev/sdb is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdb' - WARNING [root] Device /dev/md0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/md0' - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping - WARNING [root] Can't find field vendor for device md0 in device class block -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_raid_level -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_raid_level ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_no_configuration -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_no_configuration ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_valid_raid1 -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_valid_raid1 ... ok - WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' - WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' - WARNING [root] Device /dev/sdb is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdb' - WARNING [root] Device /dev/md0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/md0' - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping - WARNING [root] Can't find field vendor for device md0 in device class block -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_valid_raid1_raidN -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_valid_raid1_raidN ... ok -ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_already_running -ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_already_running ... ok - WARNING [root] Attempted to invoke multipath utilities, but we encountered an error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'lacking kernel support' -Stderr: None -ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_lacking_support -ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_lacking_support ... ok - WARNING [root] Attempted to invoke multipath utilities, but we encountered an error: -ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_ll_fails -ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_ll_fails ... ok -ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_mpathconf -ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_mpathconf ... ok -ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_no_multipath -ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_no_multipath ... ok - WARNING [root] Attempted to determine if multipath tools were present. Not detected. Error recorded: -ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_not_found_mpath_config -ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_not_found_mpath_config ... ok -ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_with_config -ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_with_config ... ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_empty -ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_empty ... ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_invalid_type_in_param -ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_invalid_type_in_param ... ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_invalid_type_on_node -ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_invalid_type_on_node ... ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_ok ... ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_verify_false -ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_verify_false ... ok -ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test -ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test ... ok - WARNING [ironic_python_agent.inspector] failed to get system journal -ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test_fail -ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test_fail ... ok -ironic_python_agent.tests.unit.test_inspector.TestMisc.test_default_collector_loadable -ironic_python_agent.tests.unit.test_inspector.TestMisc.test_default_collector_loadable ... ok -ironic_python_agent.tests.unit.test_inspector.TestMisc.test_raise_on_wrong_collector -ironic_python_agent.tests.unit.test_inspector.TestMisc.test_raise_on_wrong_collector ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestFindESPRAID.test_esp_raid -ironic_python_agent.tests.unit.test_raid_utils.TestFindESPRAID.test_esp_raid ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestFindESPRAID.test_no_esp_raid -ironic_python_agent.tests.unit.test_raid_utils.TestFindESPRAID.test_no_esp_raid ... ok +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorsTargeted.test_vhd_table_over_limit +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorsTargeted.test_vhd_table_over_limit ... ok +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorsTargeted.test_vhd_table_under_limit +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorsTargeted.test_vhd_table_under_limit ... ok + WARNING [root] The root device was not detected in 27 seconds +ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout +ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout ... ok + WARNING [root] The root device was not detected in 45 seconds +ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_configured +ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_configured ... ok + WARNING [root] The root device was not detected in 27 seconds +ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_unconfigured +ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_unconfigured ... ok +ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_no_wait_for_disks +ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_no_wait_for_disks ... ok +ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks +ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks ... ok +ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_configured +ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_configured ... ok +ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_nonconfigured +ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_nonconfigured ... ok +ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_enabled_no_results +ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_enabled_no_results ... ok +ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_node_indicates_skip +ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_node_indicates_skip ... ok +ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_not_enabled +ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_not_enabled ... ok +ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_raises +ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_raises ... ok +ironic-python-agent: line 1. +ironic-python-agent: line 2 message +ironic_python_agent.tests.unit.test_utils.TestCheckEarlyLogging.test_early_logging_goes_to_logger +ironic_python_agent.tests.unit.test_utils.TestCheckEarlyLogging.test_early_logging_goes_to_logger ... ok ---------------------------------------------------------------------- -Ran 1023 tests in 785.692s +Ran 1023 tests in 23.306s OK (skipped=5) + stestr slowest -Test id Runtime (s) ------------------------------------------------------------------------------------------------------------------- ----------- -ironic_python_agent.tests.unit.test_agent.TestFromConfig.test_override_urls 27.845 -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_cache_and_write_image_configdirve 24.470 -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_cannot_find_dev 18.810 -ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_exception 18.726 -ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk 18.548 -ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_disconnected 18.248 -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support 17.539 -ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_fail 15.188 -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_power_off 14.910 -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_missing 14.557 +Test id Runtime (s) +--------------------------------------------------------------------------------------------------------------------------------- ----------- +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhdx 5.045 +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries 4.007 +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_1st 3.078 +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_socket_read_timeout 3.017 +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_timeout 2.009 +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries_on_50X_error 2.005 +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retry_on_50X_and_succeed 2.005 +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_mem_limit_stream_optimized 1.906 +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_mem_limit 1.684 +ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qcow2 1.583 + rm -rf .stestr mkdir -p /build/reproducible-path/ironic-python-agent-9.14.0/debian/ironic-python-agent/etc/ironic-python-agent PYTHONPATH=/build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages oslo-config-generator \ @@ -11419,8 +11470,8 @@ make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions dh_python3 --shebang=/usr/bin/python3 -I: dh_python3 tools:113: replacing shebang in debian/ironic-python-agent/usr/bin/ironic-collect-introspection-data I: dh_python3 tools:113: replacing shebang in debian/ironic-python-agent/usr/bin/ironic-python-agent +I: dh_python3 tools:113: replacing shebang in debian/ironic-python-agent/usr/bin/ironic-collect-introspection-data make[1]: Leaving directory '/build/reproducible-path/ironic-python-agent-9.14.0' debian/rules override_dh_installinit make[1]: Entering directory '/build/reproducible-path/ironic-python-agent-9.14.0' @@ -11433,20 +11484,21 @@ cat /usr/share/openstack-pkg-tools/init-script-template >>$MYINIT.init ; \ pkgos-gen-systemd-unit $i ; \ done -+ ls -1 debian/ironic-python-agent.init.in -+ echo debian/ironic-python-agent.init.in -+ sed s/.init.in// +++ ls -1 debian/ironic-python-agent.init.in ++ for i in `ls -1 debian/*.init.in` +++ echo debian/ironic-python-agent.init.in +++ sed s/.init.in// + MYINIT=debian/ironic-python-agent + cp debian/ironic-python-agent.init.in debian/ironic-python-agent.init + cat /usr/share/openstack-pkg-tools/init-script-template + pkgos-gen-systemd-unit debian/ironic-python-agent.init.in -/usr/bin/pkgos-gen-systemd-unit: 22: debian/ironic-python-agent.init.in: modprobe: not found +debian/ironic-python-agent.init.in: line 22: modprobe: command not found # If there's a service.in file, use that one instead of the generated one set -e ; set -x ; for i in `ls -1 debian/*.service.in`; do \ MYPKG=`echo $i | sed s/.service.in//` ; \ cp $MYPKG.service.in $MYPKG.service ; \ done -+ ls -1 debian/*.service.in +++ ls -1 'debian/*.service.in' ls: cannot access 'debian/*.service.in': No such file or directory # Generate the systemd unit if there's no already existing .service.in set -e ; set -x ; for i in `ls debian/*.init.in` ; do \ @@ -11455,13 +11507,14 @@ pkgos-gen-systemd-unit $i ; \ fi \ done -+ ls debian/ironic-python-agent.init.in -+ echo debian/ironic-python-agent.init.in -+ sed s/.init.in/.service.in/ +++ ls debian/ironic-python-agent.init.in ++ for i in `ls debian/*.init.in` +++ echo debian/ironic-python-agent.init.in +++ sed s/.init.in/.service.in/ + MYINIT=debian/ironic-python-agent.service.in -+ [ -e debian/ironic-python-agent.service.in ] ++ '[' -e debian/ironic-python-agent.service.in ']' + pkgos-gen-systemd-unit debian/ironic-python-agent.init.in -/usr/bin/pkgos-gen-systemd-unit: 22: debian/ironic-python-agent.init.in: modprobe: not found +debian/ironic-python-agent.init.in: line 22: modprobe: command not found dh_installinit --error-handler=true make[1]: Leaving directory '/build/reproducible-path/ironic-python-agent-9.14.0' debian/rules override_dh_installsystemd @@ -11475,20 +11528,21 @@ cat /usr/share/openstack-pkg-tools/init-script-template >>$MYINIT.init ; \ pkgos-gen-systemd-unit $i ; \ done -+ ls -1 debian/ironic-python-agent.init.in -+ echo debian/ironic-python-agent.init.in -+ sed s/.init.in// +++ ls -1 debian/ironic-python-agent.init.in ++ for i in `ls -1 debian/*.init.in` +++ echo debian/ironic-python-agent.init.in +++ sed s/.init.in// + MYINIT=debian/ironic-python-agent + cp debian/ironic-python-agent.init.in debian/ironic-python-agent.init + cat /usr/share/openstack-pkg-tools/init-script-template + pkgos-gen-systemd-unit debian/ironic-python-agent.init.in -/usr/bin/pkgos-gen-systemd-unit: 22: debian/ironic-python-agent.init.in: modprobe: not found +debian/ironic-python-agent.init.in: line 22: modprobe: command not found # If there's a service.in file, use that one instead of the generated one set -e ; set -x ; for i in `ls -1 debian/*.service.in`; do \ MYPKG=`echo $i | sed s/.service.in//` ; \ cp $MYPKG.service.in $MYPKG.service ; \ done -+ ls -1 debian/*.service.in +++ ls -1 'debian/*.service.in' ls: cannot access 'debian/*.service.in': No such file or directory # Generate the systemd unit if there's no already existing .service.in set -e ; set -x ; for i in `ls debian/*.init.in` ; do \ @@ -11497,13 +11551,14 @@ pkgos-gen-systemd-unit $i ; \ fi \ done -+ ls debian/ironic-python-agent.init.in -+ echo debian/ironic-python-agent.init.in -+ sed s/.init.in/.service.in/ +++ ls debian/ironic-python-agent.init.in ++ for i in `ls debian/*.init.in` +++ echo debian/ironic-python-agent.init.in +++ sed s/.init.in/.service.in/ + MYINIT=debian/ironic-python-agent.service.in -+ [ -e debian/ironic-python-agent.service.in ] ++ '[' -e debian/ironic-python-agent.service.in ']' + pkgos-gen-systemd-unit debian/ironic-python-agent.init.in -/usr/bin/pkgos-gen-systemd-unit: 22: debian/ironic-python-agent.init.in: modprobe: not found +debian/ironic-python-agent.init.in: line 22: modprobe: command not found dh_installsystemd make[1]: Leaving directory '/build/reproducible-path/ironic-python-agent-9.14.0' dh_installlogrotate -O--buildsystem=pybuild @@ -11535,12 +11590,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/4069899/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/4069899/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env -I: removing directory /srv/workspace/pbuilder/1995177 and its subdirectories -I: Current time: Wed Jan 21 19:13:48 -12 2026 -I: pbuilder-time-stamp: 1769066028 +I: removing directory /srv/workspace/pbuilder/4069899 and its subdirectories +I: Current time: Fri Dec 20 14:53:41 +14 2024 +I: pbuilder-time-stamp: 1734656021