Diff of the two buildlogs: -- --- b1/build.log 2025-06-30 01:44:35.993593035 +0000 +++ b2/build.log 2025-06-30 01:47:10.622630208 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Sat Aug 1 20:03:54 -12 2026 -I: pbuilder-time-stamp: 1785657834 +I: Current time: Mon Jun 30 15:44:39 +14 2025 +I: pbuilder-time-stamp: 1751247879 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration @@ -25,52 +25,84 @@ dpkg-source: info: applying fix-syntax-warning.patch I: using fakeroot in build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/2559179/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/9561/tmp/hooks/D01_modify_environment starting +debug: Running on codethink04-arm64. +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 Jun 30 01:44 /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/9561/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/9561/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='arm64' - 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]="aarch64-unknown-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=arm64 + DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' - DISTRIBUTION='trixie' - HOME='/root' - HOST_ARCH='arm64' + DIRSTACK=() + DISTRIBUTION=trixie + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=aarch64 + HOST_ARCH=arm64 IFS=' ' - INVOCATION_ID='8a8a5c4f88fe4c608955af1fe6b08b2c' - 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='2559179' - PS1='# ' - PS2='> ' + INVOCATION_ID=a902cb7ebdbc4b118c09b8cfb9223a92 + LANG=C + LANGUAGE=nl_BE:nl + LC_ALL=C + MACHTYPE=aarch64-unknown-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=9561 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.AFIABSqI/pbuilderrc_2jMR --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.AFIABSqI/b1 --logfile b1/build.log ironic-python-agent_10.2.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' - http_proxy='http://192.168.101.4:3128' + 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.AFIABSqI/pbuilderrc_r2Jm --distribution trixie --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.AFIABSqI/b2 --logfile b2/build.log ironic-python-agent_10.2.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' + http_proxy=http://192.168.101.4:3128 I: uname -a - Linux codethink03-arm64 6.1.0-37-cloud-arm64 #1 SMP Debian 6.1.140-1 (2025-05-22) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-37-cloud-arm64 #1 SMP Debian 6.1.140-1 (2025-05-22) aarch64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 May 12 2025 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/2559179/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 May 12 19:25 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/9561/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -418,7 +450,7 @@ Get: 250 http://deb.debian.org/debian trixie/main arm64 python3-werkzeug all 3.1.3-2 [207 kB] Get: 251 http://deb.debian.org/debian trixie/main arm64 python3-zeroconf all 0.147.0-1 [82.2 kB] Get: 252 http://deb.debian.org/debian trixie/main arm64 qemu-utils arm64 1:10.0.2+ds-1 [1861 kB] -Fetched 70.3 MB in 1s (108 MB/s) +Fetched 70.3 MB in 1s (130 MB/s) Preconfiguring packages ... 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 ... 19964 files and directories currently installed.) @@ -1224,8 +1256,8 @@ Setting up tzdata (2025b-3) ... Current default time zone: 'Etc/UTC' -Local time is now: Sun Aug 2 08:05:04 UTC 2026. -Universal Time is now: Sun Aug 2 08:05:04 UTC 2026. +Local time is now: Mon Jun 30 01:45:13 UTC 2025. +Universal Time is now: Mon Jun 30 01:45:13 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up libconfig11:arm64 (1.7.3-2) ... @@ -1477,7 +1509,11 @@ fakeroot is already the newest version (1.37.1.1-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-10.2.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_10.2.0-3_source.changes +I: user script /srv/workspace/pbuilder/9561/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for trixie +I: user script /srv/workspace/pbuilder/9561/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/ironic-python-agent-10.2.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_10.2.0-3_source.changes dpkg-buildpackage: info: source package ironic-python-agent dpkg-buildpackage: info: source version 10.2.0-3 dpkg-buildpackage: info: source distribution unstable @@ -1603,21 +1639,26 @@ touch ironic_python_agent/metrics_lib/__init__.py 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-// +++ sed s/python-// +++ echo ironic-python-agent + PY_MODULE_NAME=ironic-agent -+ py3versions -vr +++ py3versions -vr + PYTHON3S=3.13 -+ [ yes = yes ] ++ '[' 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-10.2.0/debian/tmp /usr/lib/python3/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! @@ -1688,6 +1729,64 @@ [pbr] AUTHORS complete (0.0s) running build running build_py +creating build/lib/ironic_python_agent/tests +copying ironic_python_agent/tests/__init__.py -> build/lib/ironic_python_agent/tests +creating 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_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_tls_utils.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_qemu_img.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_numa_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_clean_steps.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_mdns.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_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 +copying ironic_python_agent/tests/unit/test_errors.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_dmi_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 +copying ironic_python_agent/tests/unit/test_disk_partitioner.py -> build/lib/ironic_python_agent/tests/unit +copying ironic_python_agent/tests/unit/test_device_hints.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_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_agent.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/__init__.py -> build/lib/ironic_python_agent/tests/unit +creating 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_standby.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_poll.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_flow.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_clean.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/__init__.py -> build/lib/ironic_python_agent/tests/unit/extensions +creating 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/base.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/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/test_cna.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 +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/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 creating build/lib/ironic_python_agent/extensions copying ironic_python_agent/extensions/system.py -> build/lib/ironic_python_agent/extensions copying ironic_python_agent/extensions/standby.py -> build/lib/ironic_python_agent/extensions @@ -1701,21 +1800,19 @@ 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/__init__.py -> build/lib/ironic_python_agent/extensions +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/agent.py -> build/lib/ironic_python_agent/cmd +copying ironic_python_agent/cmd/__init__.py -> build/lib/ironic_python_agent/cmd creating build/lib/ironic_python_agent/api copying ironic_python_agent/api/app.py -> build/lib/ironic_python_agent/api 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_image.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_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_poll.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_flow.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_clean.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/__init__.py -> build/lib/ironic_python_agent/tests/unit/extensions +creating build/lib/ironic_python_agent/metrics_lib +copying ironic_python_agent/metrics_lib/metrics_utils.py -> build/lib/ironic_python_agent/metrics_lib +copying ironic_python_agent/metrics_lib/metrics_statsd.py -> build/lib/ironic_python_agent/metrics_lib +copying ironic_python_agent/metrics_lib/metrics_collector.py -> build/lib/ironic_python_agent/metrics_lib +copying ironic_python_agent/metrics_lib/metrics.py -> build/lib/ironic_python_agent/metrics_lib +copying ironic_python_agent/metrics_lib/__init__.py -> build/lib/ironic_python_agent/metrics_lib copying ironic_python_agent/version.py -> build/lib/ironic_python_agent copying ironic_python_agent/utils.py -> build/lib/ironic_python_agent copying ironic_python_agent/tls_utils.py -> build/lib/ironic_python_agent @@ -1741,60 +1838,6 @@ copying ironic_python_agent/burnin.py -> build/lib/ironic_python_agent copying ironic_python_agent/agent.py -> build/lib/ironic_python_agent copying ironic_python_agent/__init__.py -> build/lib/ironic_python_agent -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/test_cna.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 -creating build/lib/ironic_python_agent/metrics_lib -copying ironic_python_agent/metrics_lib/metrics_utils.py -> build/lib/ironic_python_agent/metrics_lib -copying ironic_python_agent/metrics_lib/metrics_statsd.py -> build/lib/ironic_python_agent/metrics_lib -copying ironic_python_agent/metrics_lib/metrics_collector.py -> build/lib/ironic_python_agent/metrics_lib -copying ironic_python_agent/metrics_lib/metrics.py -> build/lib/ironic_python_agent/metrics_lib -copying ironic_python_agent/metrics_lib/__init__.py -> build/lib/ironic_python_agent/metrics_lib -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/agent.py -> build/lib/ironic_python_agent/cmd -copying ironic_python_agent/cmd/__init__.py -> build/lib/ironic_python_agent/cmd -creating 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/base.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/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 -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 -copying ironic_python_agent/tests/__init__.py -> build/lib/ironic_python_agent/tests -copying ironic_python_agent/tests/unit/test_efi_utils.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_utils.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_raid_utils.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_partition_utils.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_netutils.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/test_multi_hardware.py -> build/lib/ironic_python_agent/tests/unit -copying ironic_python_agent/tests/unit/test_mdns.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_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 -copying ironic_python_agent/tests/unit/test_errors.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_dmi_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 -copying ironic_python_agent/tests/unit/test_disk_partitioner.py -> build/lib/ironic_python_agent/tests/unit -copying ironic_python_agent/tests/unit/test_device_hints.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_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_agent.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/__init__.py -> build/lib/ironic_python_agent/tests/unit running egg_info creating ironic_python_agent.egg-info writing ironic_python_agent.egg-info/PKG-INFO @@ -1814,20 +1857,6 @@ running install_lib creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -creating /build/reproducible-path/ironic-python-agent-10.2.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-10.2.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-10.2.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-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers -creating /build/reproducible-path/ironic-python-agent-10.2.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-10.2.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-10.2.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-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd -creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib -copying build/lib/ironic_python_agent/metrics_lib/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib -copying build/lib/ironic_python_agent/metrics_lib/metrics.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib -copying build/lib/ironic_python_agent/metrics_lib/metrics_collector.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib -copying build/lib/ironic_python_agent/metrics_lib/metrics_statsd.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib -copying build/lib/ironic_python_agent/metrics_lib/metrics_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib copying build/lib/ironic_python_agent/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.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-10.2.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-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent @@ -1853,13 +1882,61 @@ copying build/lib/ironic_python_agent/tls_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.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-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/version.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib +copying build/lib/ironic_python_agent/metrics_lib/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib +copying build/lib/ironic_python_agent/metrics_lib/metrics.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib +copying build/lib/ironic_python_agent/metrics_lib/metrics_collector.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib +copying build/lib/ironic_python_agent/metrics_lib/metrics_statsd.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib +copying build/lib/ironic_python_agent/metrics_lib/metrics_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib +creating /build/reproducible-path/ironic-python-agent-10.2.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-10.2.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-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api +creating /build/reproducible-path/ironic-python-agent-10.2.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-10.2.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-10.2.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-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd +creating /build/reproducible-path/ironic-python-agent-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions +copying build/lib/ironic_python_agent/extensions/system.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions +creating /build/reproducible-path/ironic-python-agent-10.2.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-10.2.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-10.2.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-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers creating /build/reproducible-path/ironic-python-agent-10.2.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-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests creating /build/reproducible-path/ironic-python-agent-10.2.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-10.2.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-10.2.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-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers +creating /build/reproducible-path/ironic-python-agent-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers +creating /build/reproducible-path/ironic-python-agent-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.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-10.2.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-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit @@ -1888,52 +1965,7 @@ copying build/lib/ironic_python_agent/tests/unit/test_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.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-10.2.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-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers -creating /build/reproducible-path/ironic-python-agent-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers -creating /build/reproducible-path/ironic-python-agent-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions -creating /build/reproducible-path/ironic-python-agent-10.2.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-10.2.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-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api -creating /build/reproducible-path/ironic-python-agent-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions -copying build/lib/ironic_python_agent/extensions/system.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib/metrics.py to metrics.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib/metrics_collector.py to metrics_collector.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib/metrics_statsd.py to metrics_statsd.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib/metrics_utils.py to metrics_utils.cpython-313.pyc +copying build/lib/ironic_python_agent/tests/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests byte-compiling /build/reproducible-path/ironic-python-agent-10.2.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-10.2.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-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/burnin.py to burnin.cpython-313.pyc @@ -1959,10 +1991,50 @@ byte-compiling /build/reproducible-path/ironic-python-agent-10.2.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-10.2.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-10.2.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-10.2.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-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib/metrics.py to metrics.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib/metrics_collector.py to metrics_collector.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib/metrics_statsd.py to metrics_statsd.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib/metrics_utils.py to metrics_utils.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/system.py to system.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_image.py to test_image.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.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-10.2.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-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/dmi_inspector_data.py to dmi_inspector_data.cpython-313.pyc @@ -1991,46 +2063,17 @@ byte-compiling /build/reproducible-path/ironic-python-agent-10.2.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-10.2.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-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_efi_utils.py to test_efi_utils.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_image.py to test_image.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.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-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/system.py to system.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/__init__.py to __init__.cpython-313.pyc running install_egg_info Copying ironic_python_agent.egg-info to /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent-10.2.0.egg-info Skipping SOURCES.txt running install_scripts Installing ironic-collect-introspection-data script to /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/bin Installing ironic-python-agent script to /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/bin -+ pwd -+ rm -rf /build/reproducible-path/ironic-python-agent-10.2.0/debian/python*/usr/lib/python*/dist-packages/*.pth -+ pwd -+ rm -rf /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python*/dist-packages/*.pth +++ pwd ++ rm -rf '/build/reproducible-path/ironic-python-agent-10.2.0/debian/python*/usr/lib/python*/dist-packages/*.pth' +++ pwd ++ rm -rf '/build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python*/dist-packages/*.pth' # Failing under riscv: # extensions.test_standby.TestStandbyExtension.test_execute_bootc_install pkgos-dh_auto_test --no-py2 'ironic_python_agent\.tests\.unit\.(?!test_inspector\.TestWaitForDhcp\.test_timeout|extensions\.test_standby\.TestStandbyExtension\.test_execute_bootc_install)' @@ -2040,89 +2083,45 @@ + 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 ++ for i in $@ ++ case "${1}" in +++ py3versions -vr + PYTHON3S=3.13 -+ [ yes = no ] -+ [ no = yes ] -+ [ 3.13 = disabled ] -+ + echo 3.13 -cut -d. -f1 ++ '[' yes = no ']' ++ '[' no = yes ']' ++ for pyvers in ${PYTHON3S} ++ '[' 3.13 = disabled ']' +++ cut -d. -f1 +++ echo 3.13 + PYMAJOR=3 -+ echo ===> Testing with python (python3) ++ echo '===> Testing with python (python3)' ===> Testing with python (python3) -+ pwd -+ [ -d /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages ] -+ [ -z ] -+ pwd -+ echo Implicitly adding PYTHONPATH=/build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages +++ pwd ++ '[' -d /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages ']' ++ '[' -z '' ']' +++ pwd ++ echo 'Implicitly adding PYTHONPATH=/build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages' Implicitly adding PYTHONPATH=/build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages -+ pwd +++ pwd + export PYTHONPATH=/build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages -+ [ -e .stestr.conf ] -+ [ -x /usr/bin/python3-stestr ] ++ PYTHONPATH=/build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages ++ '[' -e .stestr.conf ']' ++ '[' -x /usr/bin/python3-stestr ']' + STESTR=stestr + rm -rf .stestr -+ + subunit2pyunitPYTHON=python3.13 stestr run --parallel --subunit ironic_python_agent\.tests\.unit\.(?!test_inspector\.TestWaitForDhcp\.test_timeout|extensions\.test_standby\.TestStandbyExtension\.test_execute_bootc_install) - -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.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.disk_utils] Security: Detected image format was qcow3, but only raw, gpt, qcow2 are allowed -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 - ERROR [ironic_python_agent.disk_utils] Security: Detected image format was qcow3, but only raw, gpt, qcow2 are allowed -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_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_format_unknown_happy -ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_unknown_happy ... 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_disk_utils.GetAndValidateImageFormat.test_happy_qcow2 -ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_happy_qcow2 ... 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.extensions.test_image.TestImageExtension.test__add_multi_bootloaders -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__add_multi_bootloaders ... 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_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_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__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_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.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.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_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_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_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 ++ subunit2pyunit ++ PYTHON=python3.13 ++ stestr run --parallel --subunit 'ironic_python_agent\.tests\.unit\.(?!test_inspector\.TestWaitForDhcp\.test_timeout|extensions\.test_standby\.TestStandbyExtension\.test_execute_bootc_install)' ERROR [root] Tried to execute fake.fake_sync_command, agent is still executing Command name: name, params: {}, status: RUNNING, result: None. - WARNING [ironic_python_agent.dmi_inspector] Failed to parse Handle type in dmi output: list index out of range - ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow - 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.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 ERROR [root] Invalid content error: Invalid request body: baz Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 268, in execute_command @@ -2136,27 +2135,47 @@ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect ironic_python_agent.errors.InvalidContentError: Invalid request body: baz - ERROR [root] Failed Prerequisite check. Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - ERROR [root] Command failed: install_bootloader, error: meow +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 + ERROR [root] Command execution error: Command execution failed: foo bar baz +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-10.2.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 1169, in __call__ + return self._mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call + raise effect +ironic_python_agent.errors.CommandExecutionError: Command execution failed: foo bar baz +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_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 [root] Extension do not found +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-10.2.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-10.2.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 + 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-10.2.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-10.2.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 "/build/reproducible-path/ironic-python-agent-10.2.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 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ @@ -2165,11 +2184,62 @@ ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect -OSError: meow - ERROR [root] Command execution error: Command execution failed: foo bar baz +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-10.2.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-10.2.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-10.2.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 + ERROR [root] Command failed: sleep, error: foo +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-10.2.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-10.2.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 1169, in __call__ + return self._mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1232, 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-10.2.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-10.2.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 + WARNING [root] Something went wrong when readlink for interface eth2. Error: fake +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.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.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.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 + ERROR [root] Unexpected exception performing deploy step erase_devices. RuntimeError: boom +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/deploy.py", line 76, 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 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ @@ -2178,7 +2248,201 @@ ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect -ironic_python_agent.errors.CommandExecutionError: 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-10.2.0/ironic_python_agent/extensions/deploy.py", line 76, 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 1169, in __call__ + return self._mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1228, 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-10.2.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-10.2.0/ironic_python_agent/extensions/deploy.py", line 87, 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.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_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.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_detect_hardware_error +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_error ... 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.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_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] Error performing deploy step erase_devices +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/deploy.py", line 76, 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 1169, in __call__ + return self._mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1228, 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-10.2.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-10.2.0/ironic_python_agent/extensions/deploy.py", line 76, 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 1169, in __call__ + return self._mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1228, 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.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.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_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_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.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_evaluate_hardware_support_no_mlnx +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support_no_mlnx ... ok + 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-10.2.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-10.2.0/ironic_python_agent/extensions/deploy.py", line 72, in execute_deploy_step + raise ValueError(msg) +ValueError: Malformed deploy_step, no "step" key: {} +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_device_hints.MatchRootDeviceTestCase.test_find_devices_all +ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_find_devices_all ... 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 + ERROR [root] Command failed: fake_async_command, error: An error occurred: failed +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-10.2.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-10.2.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_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.test_device_hints.MatchRootDeviceTestCase.test_find_devices_name +ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_find_devices_name ... ok + WARNING [ironic_python_agent.device_hints] The attribute "model" of the device "/dev/sda" has an empty value. Skipping device. + WARNING [ironic_python_agent.device_hints] No device found that matches the root device hints {'model': 'foo'} +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.test_device_hints.MatchRootDeviceTestCase.test_find_devices_none +ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_find_devices_none ... 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.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_empty_device_attribute +ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_empty_device_attribute ... 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.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_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints +ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints ... ok + ERROR [root] Clean version mismatch for command execute_deploy_step +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.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_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints2 +ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints2 ... 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_deploy.TestDeployExtension.test_execute_deploy_step_version_mismatch +ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_version_mismatch ... ok + WARNING [ironic_python_agent.device_hints] The attribute "rotational" (with value "None") of device "/dev/sda" is not a valid Boolean. Skipping device. +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. + WARNING [ironic_python_agent.device_hints] No device found that matches the root device hints {'size': '>=50', 'model': 's==foo'} +ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints3 +ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints3 ... 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.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_no_device_found +ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_no_device_found ... 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_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_no_operators +ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_no_operators ... 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 + WARNING [ironic_python_agent.device_hints] The attribute "rotational" (with value "None") of device "/dev/sda" is not a valid Boolean. Skipping device. +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.extensions.test_poll.TestPollExtension.test_set_node_info_success +ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_set_node_info_success ... ok + WARNING [root] Failed to create rescue state file marker: Failed to write file +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.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_one_hint +ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_one_hint ... ok +ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_rotational +ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_rotational ... 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.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.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_finalize_rescue_write_failure +ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_finalize_rescue_write_failure ... ok +ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_rotational_convert_devices_bool +ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_rotational_convert_devices_bool ... 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 + 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_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.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.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_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.extensions.test_base.TestExtensionDecorators.test_command_map +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_command_map ... ok ERROR [root] Unexpected exception performing clean step erase_devices. RuntimeError: boom Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/clean.py", line 76, in execute_clean_step @@ -2194,6 +2458,10 @@ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect RuntimeError: boom +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_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 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-10.2.0/ironic_python_agent/extensions/clean.py", line 76, in execute_clean_step @@ -2218,20 +2486,59 @@ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/clean.py", line 87, 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 - WARNING [ironic_python_agent.dmi_inspector] Failed to process memory dmi data: 'Handle' - ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow - ERROR [root] Extension do not found +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_rescue.TestRescueExtension.test_hashed_passwords +ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_hashed_passwords ... 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_device +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_no_device ... 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 +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 + WARNING [ironic_python_agent.dmi_inspector] Failed to parse Handle type in dmi output: list index out of range +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 + 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 [ironic_python_agent.utils] failed to run dmidecode: 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-10.2.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-10.2.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.dmi_inspector] Failed to process memory dmi data: 'Number Of Devices' + File "/build/reproducible-path/ironic-python-agent-10.2.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 1169, in __call__ + return self._mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call + raise effect +OSError +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_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_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.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.TestExtensionDecorators.test_sync_command_name +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_name ... ok ERROR [root] Error performing clean step erase_devices Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/clean.py", line 76, in execute_clean_step @@ -2264,71 +2571,8 @@ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot - WARNING [ironic_python_agent.disk_utils] Unable to get partition table type for device hello -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.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_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_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.test_encoding.TestEncoder.test_encoder -ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_encoder ... 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 -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_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_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_inspector.TestWaitForDhcp.test_all -ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_all ... 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.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_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_inspector.TestWaitForDhcp.test_boot_only -ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_boot_only ... 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_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_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_inspector.TestWaitForDhcp.test_disabled -ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_disabled ... 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.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_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.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.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_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.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.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 + 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 [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): @@ -2337,6 +2581,20 @@ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/clean.py", line 73, in execute_clean_step raise ValueError(msg) ValueError: Malformed clean_step, no "step" key: {} +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_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_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.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_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_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_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.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 @@ -2345,250 +2603,70 @@ ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data ... 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_sync_command_validation_failure +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_validation_failure ... 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.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.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.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.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_disk_utils.GetPartitionTableTypeTestCase.test_unknown -ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_unknown ... 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_efi_utils.TestGetPartitionPathByNumber.test_broken -ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_broken ... 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_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_nics_info -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_nics_info ... ok - ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow -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.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_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_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_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_efi_utils.TestGetPartitionPathByNumber.test_ok -ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_ok ... 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.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_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.TestInjectFiles.test_empty -ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_empty ... 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_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.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.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_errors.TestErrors.test_RESTError_details -ironic_python_agent.tests.unit.test_errors.TestErrors.test_RESTError_details ... 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_inject_files.TestInjectFiles.test_ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_ok ... 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_inject_files.TestInjectFiles.test_verify_false -ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_verify_false ... 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 - ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow -ironic_python_agent.tests.unit.test_errors.TestErrors.test_error_classes -ironic_python_agent.tests.unit.test_errors.TestErrors.test_error_classes ... 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-10.2.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-10.2.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 1169, in __call__ - return self._mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1228, 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-10.2.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-10.2.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_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_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_flow.TestFlowExtension.test_sleep_flow_failed -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed ... ok - ERROR [root] Clean version mismatch for command execute_clean_step - WARNING [root] Mismatched hardware managers versions. Agent version: {'specific': '1'}, node version: {'not_specific': '1'} -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_errors.TestErrors.test_error_string -ironic_python_agent.tests.unit.test_errors.TestErrors.test_error_string ... 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.TestMisc.test_default_collector_loadable -ironic_python_agent.tests.unit.test_inspector.TestMisc.test_default_collector_loadable ... 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 - ERROR [root] Command failed: sleep, error: foo -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.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-10.2.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 1169, in __call__ - return self._mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1232, in _execute_mock_call - raise result -Exception: foo - ERROR [root] Command failed: start_flow, error: Command execution failed: fake.sleep was failed +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 +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step ... 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 [root] Command failed: fake_async_command, error: An error occurred: failed Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.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-10.2.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.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.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_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_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.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_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_hardware.TestVersions.test_get_current_versions -ironic_python_agent.tests.unit.test_hardware.TestVersions.test_get_current_versions ... 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-10.2.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-10.2.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 1169, in __call__ - return self._mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call - raise effect -Exception: Boom -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 - WARNING [root] Failed to create rescue state file marker: Failed to write file - 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.inspector] Failed to gather vendor id, product id or pci class from PCI device bar: - WARNING [ironic_python_agent.extensions.image] Unable to umount vfat partitions. Error: Unexpected error while running command. + File "/build/reproducible-path/ironic-python-agent-10.2.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.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_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_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_inject_files.TestValidateFiles.test_unknown_fields +ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_unknown_fields ... 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 + 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.inspector] Wrong format of vendor id, product id or pci class in PCI device baz: - WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/dev. 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: 'boom' Stderr: None - WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/proc. 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: 'boom' Stderr: None - WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/run. 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: 'boom' Stderr: None - WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/sys. 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: 'boom' Stderr: None - 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_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_rescue.TestRescueExtension.test_finalize_rescue -ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_finalize_rescue ... 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.extensions.test_rescue.TestRescueExtension.test_finalize_rescue_write_failure -ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_finalize_rescue_write_failure ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_errors_no_bootc -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_errors_no_bootc ... 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_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_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_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.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_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.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_luks -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_luks ... 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"}} - 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_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.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.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_device_hints.MatchRootDeviceTestCase.test_find_devices_all -ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_find_devices_all ... 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_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_wait_async_command_execution_failure +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_wait_async_command_execution_failure ... ok ERROR [root] Unexpected exception performing service step erase_devices. RuntimeError: boom Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/service.py", line 76, in execute_service_step @@ -2628,58 +2706,27 @@ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/service.py", line 87, 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_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 - 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.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_device_hints.MatchRootDeviceTestCase.test_find_devices_name -ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_find_devices_name ... 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.device_hints] The attribute "model" of the device "/dev/sda" has an empty value. Skipping device. - WARNING [ironic_python_agent.device_hints] No device found that matches the root device hints {'model': 'foo'} - 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-10.2.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 1169, in __call__ - return self._mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call - raise effect -OSError -ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_find_devices_none -ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_find_devices_none WARNING [ironic_python_agent.inspector] Failed to gather numa_node id from PCI device foo: - ... ok + ERROR [root] Clean version mismatch for command execute_clean_step + 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.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_exception ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_exception ... ok - WARNING [ironic_python_agent.inspector] Failed to gather numa_node id from PCI device bar: -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_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_empty_device_attribute -ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_empty_device_attribute ... 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_standby.TestStandbyExtension.test__download_container_and_bootc_install_no_selinux_keys_auth -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_no_selinux_keys_auth ... ok -ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints -ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints ... 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 ... ERROR [ironic_python_agent.utils] Failed to get list of PCI devices: -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_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_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.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_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.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_agent.TestAdvertiseAddress.test_route_retry +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_retry ... 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.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 ERROR [root] Error performing service step erase_devices Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/service.py", line 76, in execute_service_step @@ -2695,8 +2742,6 @@ File "/usr/lib/python3.13/unittest/mock.py", line 1228, 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_inspector.TestCollectPciDevicesInfo.test_success_numa_ioerror -ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success_numa_ioerror ... ok 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-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run @@ -2714,25 +2759,108 @@ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot - WARNING [ironic_python_agent.device_hints] The attribute "rotational" (with value "None") of device "/dev/sda" is not a valid Boolean. Skipping device. -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_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.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.TestNvidiaFirmwareImages.test_filter_images -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images ... ok - ERROR [root] Failed to move file: /firmware_images/fw1.bin, - 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 [root] duplicate settings for device ID 1017 + 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.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_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.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_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_partition_utils.IsHttpUrlTestCase.test__is_http_url +ironic_python_agent.tests.unit.test_partition_utils.IsHttpUrlTestCase.test__is_http_url ... 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.agent] No route to host fc00:1111::1, route record: Error: some error text + 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.MkfsTestCase.test_mkfs +ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs ... 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_utils.MkfsTestCase.test_mkfs_with_label +ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs_with_label ... 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 + ERROR [ironic_python_agent.utils] Failed to create a file system in /my/block/dev. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: 'fake' +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/utils.py", line 156, in mkfs + execute(*args, use_standard_locale=True) + ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 3, in do_not_call + File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ + return self._mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call + raise effect +oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: 'fake' + 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-10.2.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-10.2.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 1169, in __call__ + return self._mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call + raise effect +OSError: meow + ERROR [ironic_python_agent.utils] Failed to make file system. File system foo is not supported. +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/utils.py", line 156, in mkfs + execute(*args, use_standard_locale=True) + ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 3, in do_not_call + File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ + return self._mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call + raise effect +oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: 'No such file or directory' ERROR [root] Malformed service_step, no "step" key: {} - ERROR [root] There is no deviceID provided for this settings -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_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints2 -ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints2 ... 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-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run @@ -2740,108 +2868,69 @@ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/service.py", line 73, in execute_service_step raise ValueError(msg) ValueError: Malformed service_step, no "step" key: {} -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_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints3 -ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints3 ... 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.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.TestStandbyExtension.test__download_container_and_bootc_install_podman_errors -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_podman_errors ... 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.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.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.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.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_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.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.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_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_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.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 - ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command. +ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs_with_unexpected_error +ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs_with_unexpected_error ... ok +ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs_with_unsupported_fs +ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs_with_unsupported_fs ... 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 + WARNING [ironic_python_agent.utils] Unable to unmount temporary location /mnt/fake: Unexpected error while running command. Command: None Exit code: - -Stdout: 'boop' +Stdout: None Stderr: None -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.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_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_partition_utils.TestGetPartition.test -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test ... ok - ERROR [root] Failed to open URL data: HTTP Error 500: Internal Error -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.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.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.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_utils.MountedTestCase.test_failed_to_mount +ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_failed_to_mount ... ok +ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_failed_to_unmount +ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_failed_to_unmount ... ok +ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_temporary +ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_temporary ... 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.MountedTestCase.test_with_dest +ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_with_dest ... 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 + ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow +ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_with_opts +ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_with_opts ... 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.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 - 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_device_hints.ParseRootDeviceTestCase.test__append_operator_to_hints -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test__append_operator_to_hints ... 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.tests.unit.test_multi_hardware.TestNoHardwareManagerLoading.test_no_managers_found -ironic_python_agent.tests.unit.test_multi_hardware.TestNoHardwareManagerLoading.test_no_managers_found ... ok - ERROR [root] Failed to open URL data: +ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_with_type +ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_with_type ... 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_agent.TestAdvertiseAddress.test_route_with_host_v6 +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_host_v6 ... 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 + 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_invalid +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_with_token_invalid ... ok ERROR [root] Clean version mismatch for command execute_service_step - 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_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_standby.TestStandbyExtension.test__write_authorized_keys -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__write_authorized_keys ... 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.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_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_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.extensions.test_standby.TestStandbyExtension.test__write_container_auth -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__write_container_auth ... 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.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.extensions.test_standby.TestStandbyExtension.test__write_no_pivot_root -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__write_no_pivot_root ... 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_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_empty_value -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_empty_value ... 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_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_agent.TestAdvertiseAddress.test_route_with_ip +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_ip ... ok + ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow +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_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_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_execute_service_step_with_args ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_with_args ... 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 @@ -2915,7 +3004,7 @@ ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, 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: @@ -2933,7 +3022,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: @@ -2952,893 +3041,424 @@ 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.device_hints] No device found that matches the root device hints {'size': '>=50', 'model': 's==foo'} - 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 [root] No partition with UUID 11111111-2222-3333-4444-555555555555 found on device /dev/fake -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_integer -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_integer ... ok -ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_no_device_found -ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_no_device_found ... 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_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_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_multiple_values -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_multiple_values ... 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.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_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_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_partition_utils.TestGetPartition.test_label -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_label ... 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_agent.TestAdvertiseAddress.test_route_with_ipv6 +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_ipv6 ... 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.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.GetDeviceInformationTestCase.test_empty +ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_empty ... ok + WARNING [root] Can't find field vendor for device lo in device class net +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_locks_out_with_token +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_locks_out_with_token ... ok + ERROR [ironic_python_agent.burnin] SMART test on /dev/sdj failed with 'string' +ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_fields +ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_fields ... 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_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.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_disk_utils.GetDeviceInformationTestCase.test_normal +ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_normal ... ok +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 [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_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_efi_utils.TestGetPartitionPathByNumber.test_broken +ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_broken ... 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 + WARNING [root] Can't find field vendor for device lo in device class net + 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_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.TestGetPartitionPathByNumber.test_ok +ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_ok ... 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.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_errors.TestErrors.test_RESTError +ironic_python_agent.tests.unit.test_errors.TestErrors.test_RESTError ... ok +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test__append_operator_to_hints +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test__append_operator_to_hints ... ok +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_with_token +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_with_token ... 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_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_empty_value +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_empty_value ... ok +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_integer +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_integer ... 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_errors.TestErrors.test_error_classes +ironic_python_agent.tests.unit.test_errors.TestErrors.test_error_classes ... ok +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_multiple_values +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_multiple_values ... 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_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_errors.TestErrors.test_error_string +ironic_python_agent.tests.unit.test_errors.TestErrors.test_error_string ... 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_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_multiple_values_space ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_multiple_values_space ... 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.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.TestFromConfig.test_override_urls -ironic_python_agent.tests.unit.test_agent.TestFromConfig.test_override_urls ... 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.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_partition_utils.TestGetPartition.test_no_device_found -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_no_device_found ... 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_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_no_operator ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_no_operator ... 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_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata ... 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_partition_utils.TestGetPartition.test_partuuid -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_partuuid ERROR [root] Command failed: fake_async_command, error: An error occurred: failed -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.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-10.2.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 - ... 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_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_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_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_no_operators -ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_no_operators ... ok -ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_one_hint -ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_one_hint ... 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_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_ebr -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_ebr ... 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 -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.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 - 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.device_hints] The attribute "rotational" (with value "None") of device "/dev/sda" is not a valid Boolean. Skipping device. - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0001800060272216797 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.0001800060272216797 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.005681037902832031 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.005681037902832031 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.009678125381469727 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.009678125381469727 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - 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.01055455207824707 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.01055455207824707 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_sgdisk_fail -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_sgdisk_fail ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_single_value ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_single_value ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_empty_value ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_empty_value ... 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.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.017681121826171875 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.017681121826171875 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_in ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_in ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_no_op_no_space ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_no_op_no_space ... ok -ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_rotational -ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_rotational ... ok -ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_rotational_convert_devices_bool -ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_rotational_convert_devices_bool ... ok - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.021680355072021484 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.021680355072021484 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.022863149642944336 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.022863149642944336 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.029668807983398438 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.029668807983398438 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - 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. - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.033084869384765625 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.033084869384765625 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.03770613670349121 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00011491775512695312 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -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_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_fstab -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_fstab ... 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.00011491775512695312 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -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.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_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.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 - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.004738569259643555 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 ... 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_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_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 - 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.004738569259643555 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -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 - ERROR [root] The provided psid MT_0000000227 does not match the image psid MT_0000000228 -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_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 - ERROR [ironic_python_agent.disk_utils] Security: Image matched multiple potential formats -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/disk_utils.py", line 381, in _image_inspection - inspector_cls = format_inspector.detect_file_format(filename) - File "", line 3, in detect_file_format - File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ - return self._mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call - raise effect -oslo_utils.imageutils.format_inspector.ImageFormatError - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.008076906204223633 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.008076906204223633 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_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_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_no_op_space ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_no_op_space ... ok +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_with_token_invalid +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_with_token_invalid ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_op_no_space ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_op_no_space ... ok - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.01141357421875 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.01141357421875 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.01853156089782715 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.01853156089782715 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - ERROR [ironic_python_agent.disk_utils] Security: Image failed safety check -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/disk_utils.py", line 386, in _image_inspection - inspector_cls.safety_check() - ~~~~~~~~~~~~~~~~~~~~~~~~~~^^ - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_disk_utils.py", line 58, in safety_check - raise format_inspector.SafetyCheckFailed( - failures={'mockfail': format_inspector.SafetyViolation()} - ) -oslo_utils.imageutils.format_inspector.SafetyCheckFailed: Safety checks failed: mockfail - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.022502422332763672 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.022502422332763672 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.026493310928344727 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.026493310928344727 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.026908159255981445 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.026908159255981445 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. - 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 [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.030517578125 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.030517578125 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - 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_mount_fails -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_mount_fails ... 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.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_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_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.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.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 +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.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_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_op_space ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_op_space ... 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.test_partition_utils.WorkOnDiskTestCase.test_no_ephemeral_partition -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_ephemeral_partition ... ok - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0345001220703125 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - ERROR [root] The provided firmware version 20.34.1012 does not match image firmware version 20.35.1012 - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00011539459228515625 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.00011539459228515625 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -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_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_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_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_or ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_or ... 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.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_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr -ironic_python_agent.tests.unit.test_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr ... ok - WARNING [ironic_python_agent.raid_utils] Found /dev/sdb1 to be missing from /dev/md0 ... re-adding! -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_image.TestImageExtension.test__install_grub2_uefi_no_fstab -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_no_fstab ... ok - ERROR [ironic_python_agent.agent] error sending heartbeat to -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/agent.py", line 146, 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 1169, in __call__ - return self._mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call - raise effect -Exception: uh oh! - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.01464390754699707 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.01464390754699707 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.01863718032836914 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.01863718032836914 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.raid_utils] Found /dev/sdb1 to be missing from /dev/md0 ... re-adding! - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.022670745849609375 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.022670745849609375 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.02664971351623535 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.02664971351623535 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-10.2.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-10.2.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.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_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.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 + ERROR [root] Failed Prerequisite check. Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None + 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.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_standby.TestStandbyExtension.test__download_container_and_bootc_install +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install ... 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.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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_convert_rotational ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_convert_rotational ... 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.extensions.test_base.TestExtensionDecorators.test_sync_command_validation_failure -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_validation_failure ... 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_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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_convert_size ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_convert_size ... 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_agent.TestHeartbeater.test_heartbeat -ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test_heartbeat ... 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_hardware.TestExecuteBootCInstall.test_execute_bootc_install -ironic_python_agent.tests.unit.test_hardware.TestExecuteBootCInstall.test_execute_bootc_install ... ok - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.03063344955444336 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.03063344955444336 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.033326148986816406 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.033326148986816406 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.03865671157836914 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.03865671157836914 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -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_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 - 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.standby] URL: http://example.org; time: 0.04268312454223633 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -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.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 [root] No hardware manager was able to handle interface foobar - 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.04268312454223633 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.05066061019897461 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - 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.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.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_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_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_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 - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00013828277587890625 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [root] Attempted to invoke multipath utilities, but we encountered an error: - 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.00013828277587890625 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.010329246520996094 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.010329246520996094 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - 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.test_inject_files.TestFindAndMountPath.test_with_on_as_number +ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_number ... ok + ERROR [root] Duplicate componentFlavor MT_0000000540 ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_int_or ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_int_or ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_int_or_invalid ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_int_or_invalid ... 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_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.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_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.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.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.TestMultipathEnabled.test_enable_multipath_ll_fails -ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_ll_fails ... ok - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.01431417465209961 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.01431417465209961 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_by_path ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_by_path ... 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 [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 + 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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_hctl ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_hctl ... 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 [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.018273591995239258 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.018273591995239258 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.02230215072631836 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.02230215072631836 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -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 - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.022793292999267578 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.022793292999267578 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.026281118392944336 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.026281118392944336 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.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_mpathconf -ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_mpathconf ... ok - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.03031134605407715 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.03031134605407715 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.03427910804748535 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.03427910804748535 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [root] Cannot find detailed information about interface eth0 -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.extensions.standby] URL: http://example.org; time: 0.038303375244140625 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -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.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.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_model ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_model ... 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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_name ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_name ... 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 - WARNING [root] Attempted to determine if multipath tools were present. Not detected. Error recorded: - ERROR [root] Unexpected exception performing deploy step erase_devices. RuntimeError: boom -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/deploy.py", line 76, 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 1169, in __call__ - return self._mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1228, 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 -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/deploy.py", line 76, 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 1169, in __call__ - return self._mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1228, 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-10.2.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-10.2.0/ironic_python_agent/extensions/deploy.py", line 87, 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 - WARNING [ironic_python_agent.extensions.image] Failed to copy grub.cfg file for EFI boot operation. Error copy failed - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0007259845733642578 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - 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.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.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_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 - 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.0007259845733642578 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - WARNING [root] Cannot find detailed information about interface bond0 - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.013663530349731445 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.013663530349731445 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - ERROR [root] Error performing deploy step erase_devices -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/deploy.py", line 76, 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 1169, in __call__ - return self._mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1228, 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-10.2.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-10.2.0/ironic_python_agent/extensions/deploy.py", line 76, 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 1169, in __call__ - return self._mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1228, 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.017728328704833984 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.017728328704833984 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.021622180938720703 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.021622180938720703 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: -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_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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_rotational ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_rotational ... 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 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.02990436553955078 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - ... ok - 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.02990436553955078 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_serial ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_serial ... 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_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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_size -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_size ... 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_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.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_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_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.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_inject_files.TestValidateFiles.test_missing_path -ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_missing_path ... 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_partition_utils.WorkOnDiskTestCase.test_preserve_ephemeral -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_preserve_ephemeral ... ok - 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-10.2.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-10.2.0/ironic_python_agent/extensions/deploy.py", line 72, in execute_deploy_step - raise ValueError(msg) -ValueError: Malformed deploy_step, no "step" key: {} - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.04164862632751465 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - WARNING [root] Cannot find detailed information about interface eth0 - 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.04164862632751465 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: -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_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_api.TestIronicAPI.test_list_command_results +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_command_results ... ok + ERROR [root] duplicate settings for device ID 1017 +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.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] There is no deviceID provided for this settings +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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_size +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_size ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_vendor ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_vendor ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn ... 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 - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.04590868949890137 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.04590868949890137 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.0496368408203125 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.0496368408203125 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.05368494987487793 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.05368494987487793 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: -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.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_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_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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn_vendor_extension -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn_vendor_extension WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0553438663482666 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - ... ok - WARNING [root] Cannot find detailed information about interface eth0 +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn_vendor_extension ... ok +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn_with_extension +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn_with_extension ... ok +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_no_hints +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_no_hints ... 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_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_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.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.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.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.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp_error -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp_error ... ok - ERROR [root] Clean version mismatch for command execute_deploy_step - ERROR [ironic_python_agent.inspector] inspector url error 400: , proceeding with lookup +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_commands_with_token +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_commands_with_token ... 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_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.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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn_with_extension -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn_with_extension ... 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.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.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_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_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_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_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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_no_hints -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_no_hints ... 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_partition_utils.WorkOnDiskTestCase.test_without_image -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_without_image ... 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_deploy.TestDeployExtension.test_execute_deploy_step_with_args -ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_with_args ... 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/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. + 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.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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_non_existent_hint ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_non_existent_hint ... 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.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_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.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 - 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 -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_pci_address -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_pci_address ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_string_compare_operator_name ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_string_compare_operator_name ... 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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_string_or_space ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_string_or_space ... 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 WARNING [root] Cannot find detailed information about interface eth0 - ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_conductor_auth -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_conductor_auth ... 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 [ironic_python_agent.extensions.poll] Node lookup data can only be set when the Ironic Python Agent is running in standalone mode. - ERROR [root] Command failed: foo_command, error: command execution failed -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.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-10.2.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_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_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.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_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_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_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.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/tmptknheocy/fake_id; image ID: fake_id; image checksum: fake-checksum; verification checksum: invalid-checksum - 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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_with_operators ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_with_operators ... 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_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_raid_utils.TestFindESPRAID.test_esp_raid -ironic_python_agent.tests.unit.test_raid_utils.TestFindESPRAID.test_esp_raid ... 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.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_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.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.test_utils.ExecuteTestCase.test_execute_command_not_found -ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_command_not_found ... 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.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 - WARNING [root] Cannot find detailed information about interface eth0 -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_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_api.TestIronicAPI.test_list_commands_with_token_invalid +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_commands_with_token_invalid ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_without_operators ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_without_operators ... 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_inspector.TestCollectExtraHardware.test_benchmarks +ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_benchmarks ... 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_encoding.TestEncoder.test_encoder +ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_encoder ... ok +ironic_python_agent.tests.unit.test_hardware.TestExecuteBootCInstall.test_execute_bootc_install +ironic_python_agent.tests.unit.test_hardware.TestExecuteBootCInstall.test_execute_bootc_install ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_errors_no_bootc +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_errors_no_bootc ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_luks +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_luks ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_no_selinux_keys_auth +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_no_selinux_keys_auth ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_podman_errors +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_podman_errors ... 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_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 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 - WARNING [root] Cannot find detailed information about interface eth0.100 + 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_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.extensions.test_standby.TestStandbyExtension.test__message_format_partition_bios +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__message_format_partition_bios ... ok + WARNING [ironic_python_agent.inspector] Failed to gather vendor id, product id or pci class from PCI device bar: 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_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 - WARNING [root] Cannot find detailed information about interface eth0.101 -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_agent.TestBaseAgent.test_async_command_success -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_async_command_success ... 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_utils.ExecuteTestCase.test_execute_not_use_standard_locale -ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale ... ok -ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables -ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables ... 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/sda1 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda1' +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_not_found +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_not_found ... WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda1. Skipping +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.TestStandbyExtension.test_get_partition_uuids -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_get_partition_uuids ... 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 -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_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_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_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables -ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables ... 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 - WARNING [root] Cannot find detailed information about interface eth1.102 -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.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.TestCollectExtraHardware.test_parsing_failed +ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_parsing_failed ... 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_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_standby.TestStandbyExtension.test_image_location -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_image_location ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_load_auth_header_from_image_info -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_load_auth_header_from_image_info ... ok - WARNING [root] Cannot find detailed information about interface eth1.103 -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_load_auth_header_from_image_info_none -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_load_auth_header_from_image_info_none ... ok -ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_with_log_stdout_default -ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_with_log_stdout_default ... 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 + 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.inspector] Wrong format of vendor id, product id or pci class in PCI device baz: ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: 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-10.2.0/ironic_python_agent/extensions/standby.py", line 1086, in _run_shutdown_command - utils.execute("echo o > /proc/sysrq-trigger", shell=True) - ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "", line 3, in do_not_call - File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ - return self._mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1228, 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-10.2.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-10.2.0/ironic_python_agent/extensions/standby.py", line 1102, in power_off - self._run_shutdown_command('poweroff') - ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1090, 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.TriggerDeviceRescanTestCase.test_custom_attempts -ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_custom_attempts ... 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_utils.ExecuteTestCase.test_execute_with_log_stdout_false -ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_with_log_stdout_false ... 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_agent.TestBaseAgent.test_get_node_uuid_unassociated -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid_unassociated ... 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 +Stdout: 'boop' Stderr: None -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_api.TestIronicAPI.test_root +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_root ... 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_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.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_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_agent.TestHeartbeater.test__heartbeat_expected +ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test__heartbeat_expected ... 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_utils.ExecuteTestCase.test_execute_with_log_stdout_true -ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_with_log_stdout_true ... ok - ERROR [ironic_python_agent.utils] Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. +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_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.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_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.inspector] Failed to gather numa_node id from PCI device foo: +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.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.TestStandbyExtension.test__write_authorized_keys +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__write_authorized_keys ... ok + WARNING [ironic_python_agent.inspector] Failed to gather numa_node id from PCI device bar: +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_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_standby.TestStandbyExtension.test__write_container_auth +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__write_container_auth ... ok + 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.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. + ERROR [ironic_python_agent.utils] Failed to get list of PCI devices: + ERROR [root] Failed to query tool configuration of device : 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. + 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 [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_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_inspector.TestCollectPciDevicesInfo.test_wrong_path +ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_wrong_path ... 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.TestStandbyExtension.test__write_no_pivot_root +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__write_no_pivot_root ... 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.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_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.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 +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.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.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.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.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.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.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 + ERROR [ironic_python_agent.agent] error sending heartbeat to Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/utils.py", line 1018, in sync_clock - execute('ntpdate', CONF.ntp_server) - ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "", line 3, in do_not_call + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/agent.py", line 146, 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 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ @@ -3847,174 +3467,527 @@ ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect -oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. +Exception: uh oh! + ERROR [root] Failed to set configuration of device , ['SRIOV_EN=20']: 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-10.2.0/ironic_python_agent/extensions/standby.py", line 1135, in _sync_clock - utils.sync_clock(ignore_errors=ignore_errors) - ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/utils.py", line 1025, 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. +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.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_agent.TestHeartbeater.test_heartbeat +ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test_heartbeat ... 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 + ERROR [root] Configuraiton ESWITCH_HAIRPIN_TOT_BUFFER_SIZE[8] for device is not supported with current fw + ERROR [root] Encountered issue attempting to validate the supplied configuration drive. Error: Unexpected error while running command. Command: None Exit code: - -Stdout: None +Stdout: 'boom' Stderr: None - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.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-10.2.0/ironic_python_agent/extensions/standby.py", line 1102, in power_off - self._run_shutdown_command('poweroff') - ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1061, in _run_shutdown_command - self._sync_clock(ignore_errors=True) - ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1145, 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. + WARNING [ironic_python_agent.utils] Failed to unlink /tmp/tmp3zi0z2fi/tmpoqvguvdw, error: [Errno 21] Is a directory: '/tmp/tmp3zi0z2fi/tmpoqvguvdw' +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.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.test_partition_utils.RealFilePartitioningTestCase.test_whole_disk +ironic_python_agent.tests.unit.test_partition_utils.RealFilePartitioningTestCase.test_whole_disk ... ERROR [root] Configuraiton: UNSUPPORTED_PARAM is not supported by mstconfig, please update to the latest mstflint package. +skipped "parted utility was not found: [Errno 2] No such file or directory: 'parted'" +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.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.TestRunEfiBootmgr.test__run_efibootmgr +ironic_python_agent.tests.unit.test_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr ... 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 + WARNING [ironic_python_agent.utils] Failed to unlink /tmp/tmpdha6_nk0/tmpsp63946b, error: [Errno 21] Is a directory: '/tmp/tmpdha6_nk0/tmpsp63946b' +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.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.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.GetPartitionTableTypeTestCase.test_gpt +ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_gpt ... ok + WARNING [ironic_python_agent.disk_utils] Unable to get partition table type for device hello + WARNING [root] The root device was not detected in 27 seconds +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.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.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_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.GetPartitionTableTypeTestCase.test_msdos +ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_msdos ... ok +ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_unknown +ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_unknown ... ok + WARNING [ironic_python_agent.utils] Failed to unlink /tmp/tmp28e043ol/tmps5injy4t, error: [Errno 21] Is a directory: '/tmp/tmp28e043ol/tmps5injy4t' + WARNING [ironic_python_agent.utils] Failed to unlink /tmp/tmp28e043ol/tmpo8ko3_1t, error: [Errno 21] Is a directory: '/tmp/tmp28e043ol/tmpo8ko3_1t' +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_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_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 + 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 [root] We were unable to make a new filesystem for the configuration drive. Error: Unexpected error while running command. Command: None Exit code: - -Stdout: None +Stdout: 'boom' +Stderr: None + WARNING [ironic_python_agent.utils] Failed to unlink /tmp/tmpq7qbzi_c/tmpig3hwazq, error: [Errno 21] Is a directory: '/tmp/tmpq7qbzi_c/tmpig3hwazq' + WARNING [ironic_python_agent.utils] Failed to unlink /tmp/tmpq7qbzi_c/tmp9jc_b6v9, error: [Errno 21] Is a directory: '/tmp/tmpq7qbzi_c/tmp9jc_b6v9' +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_warning_on_mismatch +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_warning_on_mismatch ... 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_encoding.TestSerializableComparable.test_childclass_equal +ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_equal ... ok + WARNING [root] The root device was not detected in 45 seconds +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.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_encoding.TestSerializable.test_baseclass_serialize +ironic_python_agent.tests.unit.test_encoding.TestSerializable.test_baseclass_serialize ... 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.0005114078521728516 seconds. Error: Received status code 401 from http://example.org, expected 200. Response body: Unauthorized Response headers: + 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 + 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.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_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_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_encoding.TestSerializableComparable.test_childclass_hash +ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_hash ... ok +ironic_python_agent.tests.unit.test_encoding.TestSerializable.test_childclass_serialize +ironic_python_agent.tests.unit.test_encoding.TestSerializable.test_childclass_serialize ... ok + WARNING [root] The root device was not detected in 27 seconds + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00017452239990234375 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.00017452239990234375 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [root] No hardware manager was able to handle interface foobar +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_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.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 + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00923919677734375 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.00923919677734375 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [root] Cannot find detailed information about interface eth0 -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_disk_utils.TriggerDeviceRescanTestCase.test_fails -ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_fails ... 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_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 + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.014099836349487305 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_notequal +ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_notequal ... ok + 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.014099836349487305 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 + 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.01733231544494629 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.01733231544494629 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +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 + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.02122807502746582 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.02122807502746582 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_partition_image_with_preserve_failure2 +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_preserve_failure2 ... ok + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.025226116180419922 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.025226116180419922 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [root] Cannot find detailed information about interface eth0 + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.029282093048095703 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.029282093048095703 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +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_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] 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.0010895729064941406 seconds. Error: Received status code 500 from http://example.org, expected 200. Response body: Oops 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. + 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.standby] URL: http://example.org; time: 0.03325247764587402 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.03325247764587402 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_no_space_error_fatal +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_no_space_error_fatal ... 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.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.037862300872802734 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.037862300872802734 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [root] Cannot find detailed information about interface bond0 + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0412290096282959 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] Unable to connect to http://example.org, retrying. Error: + WARNING [root] Cannot find detailed information about interface eth0 +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_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_utils.ExecuteTestCase.test_execute_command_not_found +ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_command_not_found ... ok +ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale +ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale ... 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_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_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.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.TestEvaluateHardwareSupport.test_evaluate_hw_no_wait_for_disks +ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_no_wait_for_disks ... ok + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00011301040649414062 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.00011301040649414062 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.006409883499145508 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.006409883499145508 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + 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: + WARNING [root] Cannot find detailed information about interface eth0 + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.010414361953735352 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + 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.standby] Image download failed, 2 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.010414361953735352 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +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.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.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.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_inject_files.TestInjectFiles.test_invalid_type_in_param +ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_invalid_type_in_param ... ok + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.014412164688110352 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.014412164688110352 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config 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_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.TestStandbyExtension.test_power_off_with_ntp_server -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_power_off_with_ntp_server ... 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_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks +ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks ... ok + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.018413782119750977 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.018413782119750977 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.022679567337036133 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.022679567337036133 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables +ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables ... ok +ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables +ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables ... 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 [root] Cannot find detailed information about interface eth0 + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0264127254486084 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.0264127254486084 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_pci_address +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_pci_address ... ok + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.030408382415771484 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.030408382415771484 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [root] Device /dev/fake1 is inaccessible, skipping... Error: nope + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.034407854080200195 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.034407854080200195 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + 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.standby] URL: http://example.org; time: 0.03467750549316406 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +ironic_python_agent.tests.unit.test_hardware.TestCollectSystemLogs.test__collect_udev +ironic_python_agent.tests.unit.test_hardware.TestCollectSystemLogs.test__collect_udev ... 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 +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_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_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_utils.ExecuteTestCase.test_execute_with_log_stdout_default +ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_with_log_stdout_default ... ok + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00010514259338378906 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.00010514259338378906 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + 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.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_configured +ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_configured ... ok + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0065746307373046875 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.0065746307373046875 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.010622262954711914 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.010622262954711914 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +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_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces ... ok + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.014589071273803711 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.014589071273803711 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + 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.extensions.standby] URL: http://example.org; time: 0.01941657066345215 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.01941657066345215 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.022624731063842773 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.022624731063842773 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +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_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_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 [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.02662801742553711 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.02662801742553711 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + 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 [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.extensions.standby] URL: http://example.org; time: 0.030622243881225586 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.030622243881225586 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_with_log_stdout_false +ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_with_log_stdout_false ... 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 + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.03571486473083496 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.03571486473083496 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.04264020919799805 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +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.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.TestFullSync.test_full_sync +ironic_python_agent.tests.unit.test_hardware.TestFullSync.test_full_sync ... 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 + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00012946128845214844 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.00012946128845214844 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00040078163146972656 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.00040078163146972656 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + ERROR [root] Command failed: foo_command, error: command execution failed +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-10.2.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-10.2.0/ironic_python_agent/tests/unit/test_agent.py", line 44, in foo_execute + raise EXPECTED_ERROR +RuntimeError: command execution failed + WARNING [root] Cannot find detailed information about interface eth0 + ERROR [ironic_python_agent.inspector] inspector url error 400: , proceeding with lookup + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00707554817199707 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.00707554817199707 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [root] Mismatched hardware managers versions. Agent version: {'specific': '1'}, node version: {'not_specific': '1'} + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.010797500610351562 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.010797500610351562 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 +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_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_inspector.TestCallInspector.test_inspector_error +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_error ... 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_hardware.TestListNetworkInterfaces.test_list_network_vlan_invalid_int ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_invalid_int ... 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.TriggerDeviceRescanTestCase.test_trigger -ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_trigger ... 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_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_utils.MountedTestCase.test_failed_to_mount -ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_failed_to_mount ... 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_hardware.TestModuleFunctions.test__check_for_iscsi ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi ... ok - WARNING [ironic_python_agent.utils] Unable to unmount temporary location /mnt/fake: Unexpected error while running command. + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.014824628829956055 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.014824628829956055 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.018798351287841797 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.018798351287841797 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [root] Unable to tell the kernel to drop caches: + WARNING [root] Cannot flush buffers of device /dev/sda: 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_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_agent.TestBaseAgent.test_get_route_source_ipv4 -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv4 ... ok + WARNING [root] Cannot flush buffers of device /dev/nvme0n1: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.02304244041442871 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.02304244041442871 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_with_log_stdout_true +ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_with_log_stdout_true ... ok +ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_indexerror +ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_indexerror ... 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_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_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 -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image ... ok - ERROR [root] Command failed: prepare_image, error: Don't call utils.execute() / processutils.execute() or similar functions in tests! -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.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-10.2.0/ironic_python_agent/extensions/standby.py", line 1025, in prepare_image - _validate_partitioning(device) - ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 839, in _validate_partitioning - disk_utils.partprobe(device) - ~~~~~~~~~~~~~~~~~~~~^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/disk_utils.py", line 667, in partprobe - utils.execute('partprobe', device, attempts=attempts) - ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/base.py", line 88, in do_not_call - raise Exception( - "Don't call utils.execute() / " - "processutils.execute() or similar functions in tests!") -Exception: Don't call utils.execute() / processutils.execute() or similar functions in tests! -ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_failed_to_unmount -ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_failed_to_unmount ... 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_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.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.test_utils.MountedTestCase.test_temporary -ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_temporary ... 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.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 - 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_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.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.test_utils.MountedTestCase.test_with_dest -ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_with_dest ... 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.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__load_ipmi_modules_fail -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__load_ipmi_modules_fail ... 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_utils.MountedTestCase.test_with_opts -ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_with_opts ... 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.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. +ironic_python_agent.tests.unit.test_hardware.TestFullSync.test_optional_calls_fail +ironic_python_agent.tests.unit.test_hardware.TestFullSync.test_optional_calls_fail ... ok + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.026804685592651367 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.026804685592651367 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv4 +ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv4 ... 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: 0.030793190002441406 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.030793190002441406 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + 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.standby] URL: http://example.org; time: 0.03126788139343262 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +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_hardware.TestVersions.test_get_current_versions +ironic_python_agent.tests.unit.test_hardware.TestVersions.test_get_current_versions ... ok + ERROR [root] Flushing file system buffers failed: Unexpected error while running command. Command: None Exit code: - -Stdout: 'error' +Stdout: None Stderr: None -ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_with_type -ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_with_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 - 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_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_hardware.TestModuleFunctions.test__load_ipmi_modules_fail +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__load_ipmi_modules_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_hardware.TestFullSync.test_sync_fails +ironic_python_agent.tests.unit.test_hardware.TestFullSync.test_sync_fails ... 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.GetRouteSourceTestCase.test_get_route_source_ipv6 +ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6 ... 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_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_agent.TestBaseAgent.test_get_status -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_status ... 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_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_inspector.TestCollectDefault.test_ok -ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_ok ... 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 + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0007665157318115234 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.0007665157318115234 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda1. Skipping -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.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_image.TestImageExtension.test__is_bootloader_loaded -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded ... 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.extensions.standby] URL: http://example.org; time: 0.0056684017181396484 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.0056684017181396484 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: +ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal +ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal ... ok + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.009519577026367188 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.009519577026367188 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: + ERROR [root] Command failed: install_bootloader, error: +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-10.2.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-10.2.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-10.2.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-10.2.0/ironic_python_agent/partition_utils.py", line 618, in get_partition + utils.rescan_device(device) + ~~~~~~~~~~~~~~~~~~~^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/utils.py", line 1114, in rescan_device + execute('partx', '-av', device, attempts=3, delay_on_retry=True) + ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 3, in do_not_call + File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ + return self._mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call + raise effect +FileNotFoundError 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.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] Unexpected error dispatching unexpected_fail to manager : A problem was encountered + 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.extensions.standby] URL: http://example.org; time: 0.016968488693237305 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.016968488693237305 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: +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 [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.extensions.standby] URL: http://example.org; time: 0.025023460388183594 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.025023460388183594 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: + 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 +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success ... 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_utils.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal_allowed +ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal_allowed ... 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 + 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.) + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.02899622917175293 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.02899622917175293 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: +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_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] URL: http://example.org; time: 0.033437490463256836 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: +ok + 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.033437490463256836 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: +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_agent.TestBaseAgent.test_get_route_source_ipv4 +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv4 ... ok +ironic-python-agent: Copying configuration from /tmp/tmpziczjju1/etc/ironic-python-agent to /etc/ironic-python-agent +ironic-python-agent: Copying configuration from /tmp/tmpziczjju1/etc/ironic-python-agent.d to /etc/ironic-python-agent.d + WARNING [ironic_python_agent.numa_inspector] Failed to get list of NUMA nodes, NUMA node path does not exist: /sys/devices/system/node/ + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.03697395324707031 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.03697395324707031 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: + ERROR [root] Failed to move file: /firmware_images/fw1.bin, + 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-10.2.0/ironic_python_agent/hardware.py", line 3618, in dispatch_to_all_managers response = getattr(manager, method)(*args, **kwargs) @@ -4023,26 +3996,107 @@ File "/build/reproducible-path/ironic-python-agent-10.2.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 - 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.extensions.standby] URL: http://example.org; time: 0.040969133377075195 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.040969133377075195 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: +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.TestGetPartition.test +ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test ... 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.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 + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.04524397850036621 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: + 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: Copying configuration from /tmp/tmpdhthzub3/etc/ironic-python-agent to /etc/ironic-python-agent +ironic-python-agent: Copying configuration from /tmp/tmpdhthzub3/etc/ironic-python-agent.d to /etc/ironic-python-agent.d + ERROR [root] No partition with UUID 11111111-2222-3333-4444-555555555555 found on device /dev/fake +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: 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: /tmp/tmpww09bsmq/etc/ironic-python-agent not found +ironic-python-agent: /tmp/tmpww09bsmq/etc/ironic-python-agent.d not found +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.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.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_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_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.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_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.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_standby.TestImageDownload.test_download_image_and_checksum_warning_on_mismatch -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_warning_on_mismatch ... 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_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_utils.TestCopyConfigFromVmedia.test_copy_mounted +ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy_mounted ... 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_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_partition_utils.TestGetPartition.test_label +ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_label ... 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_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.TestCollectNumaTopologyInfo.test_collect_success +ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_success ... 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.TestCopyConfigFromVmedia.test_mounted_no_files +ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_mounted_no_files ... 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_raid_utils.TestGetNextFreeRaidDevice.test_no_device +ironic_python_agent.tests.unit.test_raid_utils.TestGetNextFreeRaidDevice.test_no_device ... 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_hardware.TestGenericHardwareManager.test__find_pstore_mount_point +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__find_pstore_mount_point ... ok +ironic-python-agent: Device sdh was disqualified as virtual media. Type: disk, Transport: sata +ironic-python-agent: No virtual media device detected +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_utils.TestCopyConfigFromVmedia.test_no_files +ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_files ... 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_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.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 +ironic-python-agent: Cannot use configuration from virtual media as the agent was not booted from virtual media. +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_conductor_auth +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_conductor_auth ... 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_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_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.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.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.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 @@ -4114,7 +4168,7 @@ ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, 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: @@ -4132,7 +4186,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: @@ -4151,41 +4205,47 @@ 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)")) -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.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 +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.standby] URL: http://example.org; time: 0.0004994869232177734 seconds. Error: Received status code 401 from http://example.org, expected 200. Response body: Unauthorized Response headers: -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_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__get_device_info +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__get_device_info ... 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.TestBaseAgent.test_run ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run ... 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_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_utils.BareMetalUtilsTestCase.test_unlink -ironic_python_agent.tests.unit.test_utils.BareMetalUtilsTestCase.test_unlink ... ok - WARNING [ironic_python_agent.utils] Failed to unlink /fake/path, error: 2 -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_no_space_error_fatal -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_no_space_error_fatal ... 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_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.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.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.0013272762298583984 seconds. Error: Received status code 500 from http://example.org, expected 200. Response body: Oops Response headers: -ironic_python_agent.tests.unit.test_utils.BareMetalUtilsTestCase.test_unlink_ENOENT -ironic_python_agent.tests.unit.test_utils.BareMetalUtilsTestCase.test_unlink_ENOENT ... 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.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_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_utils.TestClockSyncUtils.test_determine_time_method_ntpdate +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_ntpdate ... ok + ERROR [ironic_python_agent.extensions.standby] Image failed to verify against checksum. location: /tmp/tmpq2hivaga/fake_id; image ID: fake_id; image checksum: fake-checksum; verification checksum: invalid-checksum +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.extensions.test_standby.TestStandbyExtension.test_download_image_verify_fails +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_verify_fails ... ok + ERROR [ironic_python_agent.utils] Unable to sync clock, available methods of 'ntpdate' or 'chrony' not found. +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.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_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_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_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_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 [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 @@ -4257,7 +4317,7 @@ ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, 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: @@ -4275,7 +4335,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: @@ -4294,64 +4354,45 @@ 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: Copying configuration from /tmp/tmpl5s3kfag/etc/ironic-python-agent to /etc/ironic-python-agent - 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: + WARNING [root] Could not determine if /dev/sdfake is aread-only device. Error: 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 - 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: Copying configuration from /tmp/tmpl5s3kfag/etc/ironic-python-agent.d to /etc/ironic-python-agent.d -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_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.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 - 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-10.2.0/ironic_python_agent/hardware.py", line 3662, in dispatch_to_managers - return getattr(manager, method)(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-10.2.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-10.2.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: Copying configuration from /tmp/tmpo0c40o58/etc/ironic-python-agent to /etc/ironic-python-agent -ironic-python-agent: Copying configuration from /tmp/tmpo0c40o58/etc/ironic-python-agent.d to /etc/ironic-python-agent.d - 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.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_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_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.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_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_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_determine_time_method_none -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_none ... 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.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__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_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.TestCopyConfigFromVmedia.test_mounted_no_files -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_mounted_no_files ... 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_mdns.GetEndpointTestCase.test_binary_data -ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_binary_data ... 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.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 + 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 +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp ... 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_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_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_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.TestRemoveKeys.test_remove_keys +ironic_python_agent.tests.unit.test_utils.TestRemoveKeys.test_remove_keys ... 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_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.extensions.test_standby.TestStandbyExtension.test_load_auth_header_from_image_info +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_load_auth_header_from_image_info ... 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 @@ -4423,7 +4464,7 @@ ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, 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: @@ -4441,7 +4482,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: @@ -4460,114 +4501,21 @@ 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 [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: /tmp/tmp0w0j3nj1/etc/ironic-python-agent not found +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_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_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: /tmp/tmp0w0j3nj1/etc/ironic-python-agent.d not found - 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_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_agent.TestAgentStandalone.test_run -ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run ... 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.TestCopyConfigFromVmedia.test_no_files -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_files ... 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 [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: No virtual media device detected -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.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_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_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.extensions.standby] Failed to sync hardware clock: 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-10.2.0/ironic_python_agent/extensions/standby.py", line 1088, in _run_shutdown_command - utils.execute("echo b > /proc/sysrq-trigger", shell=True) - ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "", line 3, in do_not_call - File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ - return self._mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1228, 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-10.2.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-10.2.0/ironic_python_agent/extensions/standby.py", line 1096, in run_image - self._run_shutdown_command('reboot') - ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1090, 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: Cannot use configuration from virtual media as the agent was not booted from virtual media. -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.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_api.TestIronicAPI.test_execute_agent_command_with_token -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_with_token ... 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 -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_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 - 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_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 - 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_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_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_load_auth_header_from_image_info_none +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_load_auth_header_from_image_info_none ... 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 + ERROR [root] Failed to open URL data: HTTP Error 500: Internal Error +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.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.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 [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 @@ -4639,7 +4587,7 @@ ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, 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: @@ -4657,7 +4605,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: @@ -4676,47 +4624,30 @@ 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_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.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_api.TestIronicAPI.test_get_command_locks_out_with_token -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_locks_out_with_token ... ok + ERROR [root] Failed to open URL data: +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_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.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.TestUtils.test_boot_mode_fallback_uefi -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_fallback_uefi ... 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.mdns] None of addresses ['::2', '::3'] seem routable, using ::2 - 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: +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 + ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: 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-10.2.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-10.2.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-10.2.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-10.2.0/ironic_python_agent/partition_utils.py", line 618, in get_partition - utils.rescan_device(device) - ~~~~~~~~~~~~~~~~~~~^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/utils.py", line 1114, in rescan_device - execute('partx', '-av', device, attempts=3, delay_on_retry=True) - ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1086, in _run_shutdown_command + utils.execute("echo o > /proc/sysrq-trigger", shell=True) + ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 3, in do_not_call File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) @@ -4726,45 +4657,31 @@ ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect -FileNotFoundError -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_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.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.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_api.TestIronicAPI.test_get_command_with_token -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_with_token ... 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_mdns.GetEndpointTestCase.test_fallback -ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_fallback ... 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_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_api.TestIronicAPI.test_get_command_with_token_invalid -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_with_token_invalid ... ok - WARNING [root] Something went wrong when readlink for interface eth2. Error: fake -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_api.TestIronicAPI.test_list_command_results -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_command_results ... ok - WARNING [ironic_python_agent.extensions.standby] poweroff command failed with error Unexpected error while running command. +oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. Command: None Exit code: - -Stdout: '' -Stderr: None, falling back to sysrq-trigger -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_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 +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-10.2.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-10.2.0/ironic_python_agent/extensions/standby.py", line 1102, in power_off + self._run_shutdown_command('poweroff') + ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1090, 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_power_off +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_power_off ... 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.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_hardware.TestGenericHardwareManager.test_apply_configuration +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration ... 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 @@ -4836,7 +4753,7 @@ ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, 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: @@ -4854,7 +4771,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: @@ -4873,39 +4790,16 @@ 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.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_api.TestIronicAPI.test_list_commands_with_token -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_commands_with_token ... 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_api.TestIronicAPI.test_list_commands_with_token_invalid -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_commands_with_token_invalid ... 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_agent.TestBaseAgent.test_run_then_lockdown ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_then_lockdown ... ok - WARNING [ironic_python_agent.extensions.standby] reboot command has been ignored, falling back to sysrq-trigger -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_api.TestIronicAPI.test_not_found -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_not_found ... 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_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 +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_hardware.TestGenericHardwareManager.test_apply_configuration_no_delete +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration_no_delete ... ok WARNING [root] Can't find field vendor for device lo in device class net -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_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 + ERROR [root] Mismatch provided checksum a94e683ea16d9ae44768f0a65942234d for image http://10.10.10.10/firmware_images/fw1.bin 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 @@ -4977,7 +4871,7 @@ ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, 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: @@ -4995,7 +4889,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: @@ -5014,72 +4908,105 @@ 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_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_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_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. + 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_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.test_mdns.GetEndpointTestCase.test_https -ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_https ... 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_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 - WARNING [ironic_python_agent.utils] Ignoring malformed capability 'test:world:2'. Format should be 'key:val'. -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 'badformat'. Format should be 'key:val'. + 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-10.2.0/ironic_python_agent/utils.py", line 1018, in sync_clock + execute('ntpdate', CONF.ntp_server) + ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 3, in do_not_call + File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ + return self._mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1228, 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-10.2.0/ironic_python_agent/extensions/standby.py", line 1135, in _sync_clock + utils.sync_clock(ignore_errors=ignore_errors) + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/utils.py", line 1025, 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-10.2.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-10.2.0/ironic_python_agent/extensions/standby.py", line 1102, in power_off + self._run_shutdown_command('poweroff') + ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1061, in _run_shutdown_command + self._sync_clock(ignore_errors=True) + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1145, 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.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_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.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.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.TestGenericHardwareManager.test_clean_uefi_invalid +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_invalid ... 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 [root] The provided psid MT_0000000227 does not match the image psid MT_0000000228 WARNING [ironic_python_agent.agent] Could not get baremetal endpoint from mDNS, will not heartbeat -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_hardware.TestGenericHardwareManager.test_clean_uefi_nvram +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_nvram ... 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 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_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.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.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.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_mdns.GetEndpointTestCase.test_invalid_key -ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_invalid_key ... 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_hardware.TestGenericHardwareManager.test_clean_uefi_nvram_defaults +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_nvram_defaults ... ok + ERROR [root] The provided firmware version 20.34.1012 does not match image firmware version 20.35.1012 +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.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.TestGenericHardwareManager.test_collect_lldp_data +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data ... 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 @@ -5151,7 +5078,7 @@ ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, 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: @@ -5169,7 +5096,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: @@ -5188,50 +5115,127 @@ 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)")) -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.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 WARNING [ironic_python_agent.agent] Ironic does not support automated TLS - ... ok +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_sleep ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_sleep ... 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.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_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 + ERROR [root] Command failed: prepare_image, error: Don't call utils.execute() / processutils.execute() or similar functions in tests! +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-10.2.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-10.2.0/ironic_python_agent/extensions/standby.py", line 1025, in prepare_image + _validate_partitioning(device) + ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 839, in _validate_partitioning + disk_utils.partprobe(device) + ~~~~~~~~~~~~~~~~~~~~^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/disk_utils.py", line 667, in partprobe + utils.execute('partprobe', device, attempts=attempts) + ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/base.py", line 88, in do_not_call + raise Exception( + "Don't call utils.execute() / " + "processutils.execute() or similar functions in tests!") +Exception: Don't call utils.execute() / processutils.execute() or similar functions in tests! + 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-10.2.0/ironic_python_agent/hardware.py", line 3662, in dispatch_to_managers + return getattr(manager, method)(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-10.2.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-10.2.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_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_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.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.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.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_agent.TestAgentStandalone.test_run +ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run ... 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_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.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 ERROR [ironic_python_agent.agent] Neither ipa-api-url nor inspection_callback_urlfound, please check your pxe append parameters. -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 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.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.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 [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-10.2.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 do_not_call + File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ + return self._mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1228, 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_efi_utils.TestManageUefi.test_failure +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure ... 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_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.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_hardware.TestGenericHardwareManager.test_create_configuration +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration ... 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-10.2.0/ironic_python_agent/efi_utils.py", line 185, in manage_uefi + _run_efibootmgr(valid_efi_bootloaders, efi_dev, efi_part, + ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + efi_partition_mount_point) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-10.2.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-10.2.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 do_not_call + File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ + return self._mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1232, 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 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 @@ -5303,7 +5307,7 @@ ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, 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: @@ -5321,7 +5325,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: @@ -5340,22 +5344,51 @@ 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.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_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_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.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.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_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 + 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-10.2.0/ironic_python_agent/efi_utils.py", line 185, in manage_uefi + _run_efibootmgr(valid_efi_bootloaders, efi_dev, efi_part, + ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + efi_partition_mount_point) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-10.2.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-10.2.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 do_not_call + File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ + return self._mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1232, 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.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.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.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 @@ -5427,7 +5460,7 @@ ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, 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: @@ -5445,7 +5478,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: @@ -5464,250 +5497,86 @@ 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_mdns.GetEndpointTestCase.test_localhost_only -ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_localhost_only ... 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.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_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_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_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.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_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_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_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_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_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.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_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_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_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.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.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_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_disk_partitioner.DiskPartitionerTestCase.test_commit ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit ... 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_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_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_disk_utils.OtherFunctionTestCase.test_is_block_device_attempts -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_attempts ... 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_mdns.GetEndpointTestCase.test_not_found -ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_not_found ... 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_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_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_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_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 -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_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_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_disk_utils.ListPartitionsTestCase.test_correct -ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_correct ... ok -ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_simple -ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_simple ... 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_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_disk_utils.ListPartitionsTestCase.test_incorrect -ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_incorrect ... 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_disk_utils.ListPartitionsTestCase.test_incorrect_gpt -ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_incorrect_gpt ... 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_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_inject_files.TestInjectOne.test_url_formatting -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url_formatting ... ok - WARNING [ironic_python_agent.inspector] failed to get system journal -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_inspector.TestCollectLogs.test_fail -ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test_fail ... 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_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_utils.GetRouteSourceTestCase.test_get_route_source_indexerror -ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_indexerror ... ok -ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv4 -ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv4 ... ok -ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6 -ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6 ... ok -ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal -ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal ... ok -ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_skip_invalid -ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_skip_invalid ... ok -ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal_allowed -ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal_allowed ... 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: Device sdh was disqualified as virtual media. Type: other, Transport: usb -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: Excluding device sdh1 from virtual mediaconsideration as it is a partition. -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: Device sdh was disqualified as virtual media. Type: disk, Transport: sata -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: other, Transport: scsi -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.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: 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_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.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_mdns.GetEndpointTestCase.test_v6 -ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_v6 ... 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. + 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] Could not find the SCSI address (HCTL) for device /dev/sdb. Skipping + WARNING [root] Can't find field vendor for device sdb in device class block + 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_efi_utils.TestManageUefi.test_ok +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_ok ... 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_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_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.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.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: None +Stdout: 'lacking kernel support' 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: 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. -Command: None -Exit code: - -Stdout: None -Stderr: Noneironic_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_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: Did not identify any virtual media candidates devices. -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.GetAgentParamsTestCase.test__get_vmedia_device -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_device ... ok -ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_custom_port_and_path -ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_custom_port_and_path ... 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_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.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_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_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_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_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_mdns.GetEndpointTestCase.test_with_custom_port_path_and_protocol -ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_custom_port_path_and_protocol ... 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_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_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_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] foo - WARNING [ironic_python_agent.disk_utils] Failed to check the device fake-dev with fuser: Unexpected error while running command. +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_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_disconnected +ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_disconnected ... ok + ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command. Command: None Exit code: - Stdout: None -Stderr: 'fake' - ERROR [ironic_python_agent.utils] bar - ERROR [ironic_python_agent.utils] baz - ERROR [ironic_python_agent.utils] foo -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_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_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 -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.TestStreamingClient.test_ok -ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_ok ... ok - WARNING [ironic_python_agent.disk_utils] Failed to check the device fake-dev with fuser: Unexpected error while running command. +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: '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_mdns.GetEndpointTestCase.test_with_params -ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_params ... 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 - 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 +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-10.2.0/ironic_python_agent/efi_utils.py", line 131, in manage_uefi - utils.execute('mount', efi_partition, efi_partition_mount_point) - ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1088, in _run_shutdown_command + utils.execute("echo b > /proc/sysrq-trigger", shell=True) + ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 3, in do_not_call File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) @@ -5720,248 +5589,153 @@ oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. Command: None Exit code: - -Stdout: 'boom' -Stderr: None -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure ... 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' +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-10.2.0/ironic_python_agent/efi_utils.py", line 185, in manage_uefi - _run_efibootmgr(valid_efi_bootloaders, efi_dev, efi_part, - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - efi_partition_mount_point) - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-10.2.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-10.2.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 do_not_call - File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ - return self._mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1232, 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. + File "/build/reproducible-path/ironic-python-agent-10.2.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-10.2.0/ironic_python_agent/extensions/standby.py", line 1096, in run_image + self._run_shutdown_command('reboot') + ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1090, 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] Attempted to invoke multipath utilities, but we encountered an error: +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: 'no umount' +Stdout: None Stderr: None -ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_server -ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_server ... 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 - 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 - ERROR [ironic_python_agent.efi_utils] Could not configure UEFI boot on device /dev/fake: 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 +Stdout: None +Stderr: None, falling back to sysrq-trigger +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.TestGenericHardwareManager.test_create_configuration_mismatching_hints +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_mismatching_hints ... 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_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.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_fails +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_fails ... ok + WARNING [ironic_python_agent.inspector] no suitable root device detected +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_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.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_inspector.TestCollectDefault.test_no_root_disk +ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_no_root_disk ... ok + ERROR [ironic_python_agent.disk_utils] Security: Image matched multiple potential formats Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/efi_utils.py", line 185, in manage_uefi - _run_efibootmgr(valid_efi_bootloaders, efi_dev, efi_part, - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - efi_partition_mount_point) - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-10.2.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-10.2.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 do_not_call + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/disk_utils.py", line 381, in _image_inspection + inspector_cls = format_inspector.detect_file_format(filename) + File "", line 3, in detect_file_format File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1232, 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.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_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_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_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_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_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_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_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.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_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_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_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_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 - 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 -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device ... 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_python_agent.utils] Failed to unlink /tmp/tmpbk71bkcs/tmppwu3znbh, error: [Errno 21] Is a directory: '/tmp/tmpbk71bkcs/tmppwu3znbh' -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_partition_utils.GetConfigdriveTestCase.test_get_configdrive_ssl -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_ssl ... ok - WARNING [ironic_python_agent.utils] Failed to unlink /tmp/tmp8qammmjy/tmp2prs_v00, error: [Errno 21] Is a directory: '/tmp/tmp8qammmjy/tmp2prs_v00' - WARNING [root] Could not determine if /dev/sdfake1 is aread-only device. Error: - WARNING [ironic_python_agent.utils] Failed to unlink /tmp/tmpyvuomkqe/tmpxp1dnq2o, error: [Errno 21] Is a directory: '/tmp/tmpyvuomkqe/tmpxp1dnq2o' - WARNING [ironic_python_agent.utils] Failed to unlink /tmp/tmpyvuomkqe/tmp99n33ql3, error: [Errno 21] Is a directory: '/tmp/tmpyvuomkqe/tmp99n33ql3' -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_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_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] 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_python_agent.utils] Failed to unlink /tmp/tmp88y01vik/tmpp4r0kfgx, error: [Errno 21] Is a directory: '/tmp/tmp88y01vik/tmpp4r0kfgx' - WARNING [ironic_python_agent.utils] Failed to unlink /tmp/tmp88y01vik/tmpe_66959m, error: [Errno 21] Is a directory: '/tmp/tmp88y01vik/tmpe_66959m' -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_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 - 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_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_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_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_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.TestRemoveKeys.test_remove_keys -ironic_python_agent.tests.unit.test_utils.TestRemoveKeys.test_remove_keys ... 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 - 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_create_configuration_invalid_hints -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_invalid_hints ... 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] Could not find the SCSI address (HCTL) for device /dev/sdb. Skipping - WARNING [root] Can't find field vendor for device sdb in device class block - 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 + File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call + raise effect +oslo_utils.imageutils.format_inspector.ImageFormatError +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_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_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_inspector.TestCollectDefault.test_ok +ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_ok ... 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.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 +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/disk_utils.py", line 386, in _image_inspection + inspector_cls.safety_check() + ~~~~~~~~~~~~~~~~~~~~~~~~~~^^ + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_disk_utils.py", line 58, in safety_check + raise format_inspector.SafetyCheckFailed( + failures={'mockfail': format_inspector.SafetyViolation()} + ) +oslo_utils.imageutils.format_inspector.SafetyCheckFailed: Safety checks failed: mockfail 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_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.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.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_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_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_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_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.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_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_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_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_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_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_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.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_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_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_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_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.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_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_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_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_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_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 [root] Failed to remove partitions on /dev/sda: Unexpected error while running command. Command: None Exit code: - @@ -5972,91 +5746,281 @@ Exit code: - Stdout: 'No md superblock detected' Stderr: None +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_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_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_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_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_partition_utils.WorkOnDiskTestCase.test_uefi +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_uefi ... 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_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_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_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_raid_utils.TestFindESPRAID.test_esp_raid +ironic_python_agent.tests.unit.test_raid_utils.TestFindESPRAID.test_esp_raid ... 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_raid_utils.TestFindESPRAID.test_no_esp_raid +ironic_python_agent.tests.unit.test_raid_utils.TestFindESPRAID.test_no_esp_raid ... 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-10.2.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-10.2.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 1169, in __call__ + return self._mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call + raise effect +Exception: Boom 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.ParseDeviceTagsTestCase.test_empty +ironic_python_agent.tests.unit.test_utils.ParseDeviceTagsTestCase.test_empty ... 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_hardware.TestGenericHardwareManager.test_deploy_steps_exist ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_deploy_steps_exist ... 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.ParseDeviceTagsTestCase.test_parse +ironic_python_agent.tests.unit.test_utils.ParseDeviceTagsTestCase.test_parse ... 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.TestFailures.test_raise +ironic_python_agent.tests.unit.test_utils.TestFailures.test_raise ... 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.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_utils.TestStreamingClient.test_ok +ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_ok ... 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.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_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_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 + 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_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 + 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_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 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_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 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 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_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 + 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_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 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_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 ... 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_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 +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 + 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_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_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_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 + WARNING [root] Unable to execute `smartctl` utility: boom 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_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_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_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_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_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_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_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_cores_info +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_cores_info ... 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_failed ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_failed ... 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_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_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_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 ERROR [root] Erasing block device /dev/sda failed with error 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_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_thread_dirs +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_thread_dirs ... 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_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_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_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_memory_info +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_memory_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_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_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_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_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_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.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_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_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_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_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_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_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_utils.TestStreamingClient.test_retries -ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_retries ... 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_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_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] Failed to erase the metadata on device "/dev/sdb". Error: Unexpected error while running command. Command: None Exit code: - @@ -6064,36 +6028,66 @@ 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_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.ListPartitionsTestCase.test_correct +ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_correct ... 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 - 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_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 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_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_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_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_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_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_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_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.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 + 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_raises +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_raises ... 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_disk_utils.OtherFunctionTestCase.test_is_block_device_works +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_works ... 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_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_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_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_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 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 @@ -6107,17 +6101,24 @@ 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 +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 [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_random_error +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_random_error ... ok +ironic_python_agent.tests.unit.test_utils.BareMetalUtilsTestCase.test_unlink +ironic_python_agent.tests.unit.test_utils.BareMetalUtilsTestCase.test_unlink ... ok + WARNING [ironic_python_agent.utils] Failed to unlink /fake/path, error: 2 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_utils.BareMetalUtilsTestCase.test_unlink_ENOENT +ironic_python_agent.tests.unit.test_utils.BareMetalUtilsTestCase.test_unlink_ENOENT ... 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_for_ipv6 @@ -6125,15 +6126,19 @@ 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_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 + 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 - WARNING [root] Invalid ipmitool output meow ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_iterate_channels_ipv6 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_iterate_channels_ipv6 ... 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_no_valid_ip_or_ipv6 -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_no_valid_ip_or_ipv6 ... 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 WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output @@ -6145,6 +6150,12 @@ 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_no_valid_ip_or_ipv6 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_no_valid_ip_or_ipv6 ... 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_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 @@ -6158,49 +6169,115 @@ 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_with_invalid_ipv6 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_with_invalid_ipv6 ... 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_get_bmc_mac_with_valid_ipv6_and_invalid_mac ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_with_valid_ipv6_and_invalid_mac ... 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_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_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_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_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_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.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_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 + 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_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_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_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_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_static_address_both -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_static_address_both ... 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_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_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.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_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_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_utils.TestUtils.test_guess_root_disk_primary_sort +ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_primary_sort ... 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 +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_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_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_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_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_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_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_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_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_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 @@ -6241,6 +6318,8 @@ File "/usr/lib/python3.13/unittest/mock.py", line 1228, 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 7 Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/hardware.py", line 1675, in get_memory @@ -6256,8 +6335,6 @@ File "/usr/lib/python3.13/unittest/mock.py", line 1228, 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 @@ -6273,19 +6350,19 @@ 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 [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 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' WARNING [root] Can't find field vendor for device sdb in device class block +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. -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 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 @@ -6349,35 +6426,19 @@ 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_python_agent.device_hints] No device found that matches the root device hints {'wwn': 'fake-wwn'} - 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! 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 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! - ... ok - 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! +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 - 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.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 - 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_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.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 + 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 WARNING [root] Could not retrieve vendor info from lshw: Unexpected error while running command. @@ -6389,16 +6450,12 @@ 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.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.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.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_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_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_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: @@ -6406,31 +6463,19 @@ 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.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 + 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 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.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.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_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_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.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.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.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 @@ -6439,44 +6484,21 @@ 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.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 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_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.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.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.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.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.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.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.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.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.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.test_hardware.TestGenericHardwareManager.test_normal_vs_enhanced_security_erase -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_normal_vs_enhanced_security_erase 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 - ... 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_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' @@ -6485,11 +6507,8 @@ 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_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 - 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 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' @@ -6498,13 +6517,8 @@ 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.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-sha512-value; verification checksum: invalid-checksum 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.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.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' @@ -6515,294 +6529,200 @@ 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 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_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.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] Could not find the SCSI address (HCTL) for device /dev/sdb. Skipping WARNING [root] Can't find field vendor for device sdb in device class block -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_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.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 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_mdns.GetEndpointTestCase.test_binary_data +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_binary_data ... ok + WARNING [ironic_python_agent.mdns] None of addresses ['::2', '::3'] seem routable, using ::2 +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_fallback +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_fallback ... 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_mdns.GetEndpointTestCase.test_https +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_https ... ok +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_invalid_key +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_invalid_key ... ok +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_localhost_only +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_localhost_only ... ok +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_not_found +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_not_found ... ok +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_simple +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_simple ... ok +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_skip_invalid +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_skip_invalid ... ok +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_v6 +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_v6 ... ok +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_custom_port_and_path +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_custom_port_and_path ... ok +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_custom_port_path_and_protocol +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_custom_port_path_and_protocol ... ok +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_params +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_params ... ok +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_server +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_server ... 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/abc123?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 None +GOT: +GET: /v1/commands/abc123 None +GOT: +GET: /v1/commands/abc123 None +GOT: +GET: /v1/commands/abc123?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 None +GOT: +GET: /v1/commands/abc123?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 None +GOT: +GET: /v1/commands None +GOT: +GET: /v1/commands?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 None +GOT: +GET: /v1/commands?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 None +GOT: +GET: /v1/foo None +GOT: +GET: / None +GOT: +GET: /v1 None +GOT: + ERROR [ironic_python_agent.extensions.standby] Timeout reached waiting for a chunk of data from a remote server. 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.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 +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 - ERROR [ironic_python_agent.utils] collector failed: boom 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.test_inspector.TestInspect.test_collector_failed -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collector_failed ... 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 - ERROR [ironic_python_agent.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: expected string or bytes-like object, got 'MagicMock' 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_standby.TestStandbyExtension.test_write_image_gpt_fails ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_gpt_fails ... ok -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collectors_option -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collectors_option ... ok + ERROR [ironic_python_agent.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: expected string or bytes-like object, got 'MagicMock' 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.test_inspector.TestInspect.test_disabled -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_disabled ... 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 - ERROR [ironic_python_agent.utils] boom - ERROR [ironic_python_agent.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: expected string or bytes-like object, got 'MagicMock' 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 -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_extensions_failed -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_extensions_failed ... ok ERROR [ironic_python_agent.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: expected string or bytes-like object, got 'MagicMock' 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 [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.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_inspector.TestInspect.test_inspector_error -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_inspector_error ... 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.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.TestNvidiaNicConfig.test__mstconfig_parse_data -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data ... 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.test_inspector.TestInspect.test_mdns -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_mdns ... 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.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 - 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 -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 - 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 -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_set_config ... 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.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 - 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. -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.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.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.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.GetLabelledPartitionTestCases.test_get_partition_DeployFail_exc -ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_DeployFail_exc ... 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_absent -ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_absent ... 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_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.IsHttpUrlTestCase.test__is_http_url -ironic_python_agent.tests.unit.test_partition_utils.IsHttpUrlTestCase.test__is_http_url ... 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_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_agent.TestAdvertiseAddress.test_advertise_address_provided -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_advertise_address_provided ... ok -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_failed -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_failed 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 - ... ok -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_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 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 fc00:1111::1, route record: Error: some error text - 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_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_host_v6 -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_host_v6 ... 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.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_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 - WARNING [root] The root device was not detected in 27 seconds - WARNING [root] The root device was not detected in 45 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 -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.TestFullSync.test_full_sync -ironic_python_agent.tests.unit.test_hardware.TestFullSync.test_full_sync ... ok - WARNING [root] Unable to tell the kernel to drop caches: - WARNING [root] Cannot flush buffers of device /dev/sda: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - WARNING [root] Cannot flush buffers of device /dev/nvme0n1: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - ERROR [root] Flushing file system buffers failed: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None -ironic_python_agent.tests.unit.test_hardware.TestFullSync.test_optional_calls_fail -ironic_python_agent.tests.unit.test_hardware.TestFullSync.test_optional_calls_fail ... ok -ironic_python_agent.tests.unit.test_hardware.TestFullSync.test_sync_fails -ironic_python_agent.tests.unit.test_hardware.TestFullSync.test_sync_fails ... ok -ironic_python_agent.tests.unit.test_hardware.TestListHardwareInfo.test_caching -ironic_python_agent.tests.unit.test_hardware.TestListHardwareInfo.test_caching ... 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_benchmarks -ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_benchmarks ... ok -ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_execute_failed -ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_execute_failed ... 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_no_benchmarks -ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_no_benchmarks ... ok -ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_parsing_failed -ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_parsing_failed ... ok -/build/reproducible-path/ironic-python-agent-10.2.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-10.2.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_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 + ERROR [ironic_python_agent.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: expected string or bytes-like object, got 'MagicMock' +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_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.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_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.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.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. @@ -6810,14 +6730,26 @@ Exit code: - Stdout: 'boom' Stderr: None +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.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.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.test_burnin.TestBurnin.test_fio_network_reader ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader ... 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 ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. Command: None Exit code: 16 @@ -6835,29 +6767,45 @@ 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_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_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_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_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_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 + ERROR [ironic_python_agent.disk_utils] Security: Detected image format was qcow3, but only raw, gpt, qcow2 are allowed 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_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_burnin.TestBurnin.test_stress_ng_cpu_default ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_default ... 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 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_inspector.TestCallInspector.test_inspector_retries_on_50X_error -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries_on_50X_error ... ok + ERROR [ironic_python_agent.disk_utils] Security: Detected image format was qcow3, but only raw, gpt, qcow2 are allowed +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_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_disk_utils.GetAndValidateImageFormat.test_format_unknown_happy +ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_unknown_happy ... 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_disk_utils.GetAndValidateImageFormat.test_happy_qcow2 +ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_happy_qcow2 ... ok ERROR [ironic_python_agent.burnin] stress-ng (vm) failed with error Unexpected error while running command. Command: None Exit code: - @@ -6865,125 +6813,38 @@ 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_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_burnin.TestBurnin.test_stress_ng_vm_non_default ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_non_default ... 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_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.test_utils.MkfsTestCase.test_mkfs -ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs ... ok -ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs_with_label -ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs_with_label ... ok - ERROR [ironic_python_agent.utils] Failed to create a file system in /my/block/dev. Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: 'fake' -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/utils.py", line 156, in mkfs - execute(*args, use_standard_locale=True) - ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "", line 3, in do_not_call - File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ - return self._mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call - raise effect -oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: 'fake' - ERROR [ironic_python_agent.utils] Failed to make file system. File system foo is not supported. -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/utils.py", line 156, in mkfs - execute(*args, use_standard_locale=True) - ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "", line 3, in do_not_call - File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ - return self._mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call - raise effect -oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. +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_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: 'No such file or directory' -ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs_with_unexpected_error -ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs_with_unexpected_error ... ok -ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs_with_unsupported_fs -ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs_with_unsupported_fs ... 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/abc123?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 None -GOT: -GET: /v1/commands/abc123 None -GOT: -GET: /v1/commands/abc123 None -GOT: -GET: /v1/commands/abc123?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 None -GOT: -GET: /v1/commands/abc123?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 None -GOT: -GET: /v1/commands None -GOT: -GET: /v1/commands?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 None -GOT: -GET: /v1/commands?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 None -GOT: -GET: /v1/foo None -GOT: -GET: / None -GOT: -GET: /v1 None -GOT: - 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_retry_on_50X_and_succeed -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retry_on_50X_and_succeed ... 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 -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 +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_hardware.TestListHardwareInfo.test_caching +ironic_python_agent.tests.unit.test_hardware.TestListHardwareInfo.test_caching ... 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 + WARNING [ironic_python_agent.inspector] failed to get system journal +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_inspector.TestCollectLogs.test_fail +ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test_fail ... ok ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_driver ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_driver ... ok ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_driver_notfound @@ -6994,15 +6855,17 @@ ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_pci_address_notfound ... 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.netutils] LLDP timed out, remaining interfaces: [('eth0', ), ('eth1', )] - WARNING [ironic_python_agent.netutils] Trailing byte received in an LLDP package: b'5' + WARNING [ironic_python_agent.netutils] LLDP timed out, remaining interfaces: [('eth0', ), ('eth1', )] 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 + WARNING [ironic_python_agent.netutils] Trailing byte received in an LLDP package: b'5' 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 - WARNING [ironic_python_agent.netutils] LLDP timed out, remaining interfaces: [('eth1', )] + 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 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-10.2.0/ironic_python_agent/netutils.py", line 197, in _get_lldp_info @@ -7019,12 +6882,12 @@ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect OSError: BOOM -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_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_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.GetAndValidateImageFormat.test_safety_check_fail_but_disabled +ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_safety_check_fail_but_disabled ... ok ERROR [ironic_python_agent.netutils] Failed to open all RawPromiscuousSockets, attempting to close any opened sockets. 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 @@ -7032,29 +6895,216 @@ 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_inject_files.TestInjectOne.test_delete +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete ... 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_utils.ParseDeviceTagsTestCase.test_empty -ironic_python_agent.tests.unit.test_utils.ParseDeviceTagsTestCase.test_empty ... ok -ironic_python_agent.tests.unit.test_utils.ParseDeviceTagsTestCase.test_parse -ironic_python_agent.tests.unit.test_utils.ParseDeviceTagsTestCase.test_parse ... 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_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_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 + 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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 + ERROR [ironic_python_agent.utils] collector failed: boom +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_inspector.TestInspect.test_collectors_option +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collectors_option ... ok +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_disabled +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_disabled ... 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_inspector.TestInspect.test_inspector_error +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_inspector_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_inspector.TestInspect.test_ok +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_ok ... 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_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.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_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_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_inspector.TestCallInspector.test_inspector_retries_on_50X_error +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries_on_50X_error ... 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_retry_on_50X_and_succeed +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retry_on_50X_and_succeed ... 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 +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 +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.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_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 +/build/reproducible-path/ironic-python-agent-10.2.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-10.2.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: 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 +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels ... ok +ironic-python-agent: Was unable to execute the lsblk command. Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None +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: Did not identify any virtual media candidates devices. +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.GetAgentParamsTestCase.test__get_vmedia_device +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_device ... 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_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_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 ---------------------------------------------------------------------- -Ran 1113 tests in 15.991s +Ran 1113 tests in 17.496s OK (skipped=2) + stestr slowest Test id Runtime (s) --------------------------------------------------------------------------------------------------------------------------------- ----------- -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries 4.019 -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_socket_read_timeout 3.135 -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_1st 3.022 -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_timeout 2.027 -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retry_on_50X_and_succeed 2.016 -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries_on_50X_error 2.012 -ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run 1.107 -ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run_no_tls 1.080 -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_several_urls 1.012 +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries 4.020 +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_socket_read_timeout 3.133 +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_1st 3.028 +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_timeout 2.048 +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries_on_50X_error 2.032 +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retry_on_50X_and_succeed 2.012 +ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run 1.133 +ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run_no_tls 1.068 +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_several_urls 1.010 ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_retries 1.008 + rm -rf .stestr mkdir -p /build/reproducible-path/ironic-python-agent-10.2.0/debian/ironic-python-agent/etc/ironic-python-agent @@ -7097,20 +7147,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 -+ + sed s/.init.in// -echo debian/ironic-python-agent.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 \ @@ -7119,13 +7170,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-10.2.0' debian/rules override_dh_installsystemd @@ -7139,20 +7191,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 \ @@ -7161,13 +7214,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-10.2.0' dh_installlogrotate -O--buildsystem=pybuild @@ -7199,12 +7253,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/9561/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/9561/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/2559179 and its subdirectories -I: Current time: Sat Aug 1 20:07:34 -12 2026 -I: pbuilder-time-stamp: 1785658054 +I: removing directory /srv/workspace/pbuilder/9561 and its subdirectories +I: Current time: Mon Jun 30 15:47:09 +14 2025 +I: pbuilder-time-stamp: 1751248029