Diff of the two buildlogs: -- --- b1/build.log 2024-08-29 23:16:13.537033658 +0000 +++ b2/build.log 2024-08-29 23:18:44.010644220 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Wed Oct 1 17:37:42 -12 2025 -I: pbuilder-time-stamp: 1759383462 +I: Current time: Fri Aug 30 13:16:15 +14 2024 +I: pbuilder-time-stamp: 1724973375 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/experimental-reproducible-base.tgz] I: copying local configuration @@ -28,54 +28,86 @@ dpkg-source: info: applying remove-broken-test.patch I: using fakeroot in build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/87196/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/61111/tmp/hooks/D01_modify_environment starting +debug: Running on ionos2-i386. +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 Aug 29 23:16 /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/61111/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/61111/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='i386' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=22 ' - DISTRIBUTION='experimental' - HOME='/root' - HOST_ARCH='i386' + 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]="32" [3]="1" [4]="release" [5]="i686-pc-linux-gnu") + BASH_VERSION='5.2.32(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=i386 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=10 ' + DIRSTACK=() + DISTRIBUTION=experimental + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=i686 + HOST_ARCH=i386 IFS=' ' - INVOCATION_ID='47f64549b8b843e699d827b12dd51757' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - LD_LIBRARY_PATH='/usr/lib/libeatmydata' - LD_PRELOAD='libeatmydata.so' - 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='87196' - PS1='# ' - PS2='> ' + INVOCATION_ID=053a21355d644ce2bf0ea133c4554dba + LANG=C + LANGUAGE=de_CH:de + LC_ALL=C + LD_LIBRARY_PATH=/usr/lib/libeatmydata + LD_PRELOAD=libeatmydata.so + MACHTYPE=i686-pc-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=61111 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.yHa4W1Vw/pbuilderrc_v8Op --distribution experimental --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/experimental-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.yHa4W1Vw/b1 --logfile b1/build.log ironic-python-agent_9.13.0-1.dsc' - SUDO_GID='112' - SUDO_UID='107' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://213.165.73.152: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.yHa4W1Vw/pbuilderrc_RwMQ --distribution experimental --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/experimental-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.yHa4W1Vw/b2 --logfile b2/build.log ironic-python-agent_9.13.0-1.dsc' + SUDO_GID=112 + SUDO_UID=107 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://46.16.76.132:3128 I: uname -a - Linux ionos6-i386 6.1.0-23-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.99-1 (2024-07-15) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-23-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.99-1 (2024-07-15) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Aug 4 2024 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/87196/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Aug 4 21:30 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/61111/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -417,7 +449,7 @@ Get: 244 http://deb.debian.org/debian unstable/main i386 python3-zake all 0.2.2-7 [15.5 kB] Get: 245 http://deb.debian.org/debian unstable/main i386 python3-tooz all 6.0.0-2 [52.0 kB] Get: 246 http://deb.debian.org/debian unstable/main i386 python3-werkzeug all 3.0.4-1 [207 kB] -Fetched 75.0 MB in 1s (51.9 MB/s) +Fetched 75.0 MB in 2s (41.4 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package freeipmi-common. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19757 files and directories currently installed.) @@ -1209,8 +1241,8 @@ Setting up tzdata (2024a-4) ... Current default time zone: 'Etc/UTC' -Local time is now: Thu Oct 2 05:38:10 UTC 2025. -Universal Time is now: Thu Oct 2 05:38:10 UTC 2025. +Local time is now: Thu Aug 29 23:16:54 UTC 2024. +Universal Time is now: Thu Aug 29 23:16:54 UTC 2024. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up autotools-dev (20220109.1) ... @@ -1453,7 +1485,11 @@ fakeroot is already the newest version (1.36-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package -I: Running cd /build/reproducible-path/ironic-python-agent-9.13.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../ironic-python-agent_9.13.0-1_source.changes +I: user script /srv/workspace/pbuilder/61111/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for experimental +I: user script /srv/workspace/pbuilder/61111/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/ironic-python-agent-9.13.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../ironic-python-agent_9.13.0-1_source.changes dpkg-buildpackage: info: source package ironic-python-agent dpkg-buildpackage: info: source version 9.13.0-1 dpkg-buildpackage: info: source distribution experimental @@ -1518,21 +1554,26 @@ py3versions: no X-Python3-Version in control file, using supported versions pkgos-dh_auto_install --no-py2 --in-tmp + PKGOS_IN_TMP=no -+ echo WARNING: --no-py2 is deprecated and always on. ++ for i in $@ ++ case "${1}" in ++ echo 'WARNING: --no-py2 is deprecated and always on.' WARNING: --no-py2 is deprecated and always on. + shift ++ for i in $@ ++ case "${1}" in + PKGOS_IN_TMP=yes + shift -+ dpkg-parsechangelog -SSource +++ dpkg-parsechangelog -SSource + SRC_PKG_NAME=ironic-python-agent -+ echo ironic-python-agent -+ sed s/python-// +++ echo ironic-python-agent +++ sed s/python-// + PY_MODULE_NAME=ironic-agent -+ py3versions -vr +++ py3versions -vr + PYTHON3S=3.12 -+ [ yes = yes ] ++ '[' yes = yes ']' + TARGET_DIR=tmp -+ pwd ++ for pyvers in ${PYTHON3S} +++ pwd + python3.12 setup.py install --install-layout=deb --root /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp /usr/lib/python3/dist-packages/setuptools/__init__.py:88: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !! @@ -1580,98 +1621,98 @@ creating build creating build/lib creating build/lib/ironic_python_agent -creating build/lib/ironic_python_agent/tests -creating build/lib/ironic_python_agent/tests/unit -creating 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/test_service.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_flow.py -> build/lib/ironic_python_agent/tests/unit/extensions -copying ironic_python_agent/tests/unit/extensions/test_standby.py -> build/lib/ironic_python_agent/tests/unit/extensions -copying ironic_python_agent/tests/unit/extensions/test_log.py -> build/lib/ironic_python_agent/tests/unit/extensions -copying ironic_python_agent/tests/unit/extensions/test_rescue.py -> build/lib/ironic_python_agent/tests/unit/extensions -copying ironic_python_agent/tests/unit/extensions/__init__.py -> build/lib/ironic_python_agent/tests/unit/extensions -copying ironic_python_agent/tests/unit/extensions/test_deploy.py -> build/lib/ironic_python_agent/tests/unit/extensions -copying ironic_python_agent/tests/unit/extensions/test_image.py -> build/lib/ironic_python_agent/tests/unit/extensions -creating build/lib/ironic_python_agent/extensions -copying ironic_python_agent/extensions/poll.py -> build/lib/ironic_python_agent/extensions -copying ironic_python_agent/extensions/service.py -> build/lib/ironic_python_agent/extensions -copying ironic_python_agent/extensions/flow.py -> build/lib/ironic_python_agent/extensions -copying ironic_python_agent/extensions/image.py -> build/lib/ironic_python_agent/extensions -copying ironic_python_agent/extensions/rescue.py -> build/lib/ironic_python_agent/extensions -copying ironic_python_agent/extensions/deploy.py -> build/lib/ironic_python_agent/extensions -copying ironic_python_agent/extensions/base.py -> build/lib/ironic_python_agent/extensions -copying ironic_python_agent/extensions/log.py -> build/lib/ironic_python_agent/extensions -copying ironic_python_agent/extensions/clean.py -> build/lib/ironic_python_agent/extensions -copying ironic_python_agent/extensions/__init__.py -> build/lib/ironic_python_agent/extensions -copying ironic_python_agent/extensions/standby.py -> build/lib/ironic_python_agent/extensions -creating build/lib/ironic_python_agent/tests/unit/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 -copying ironic_python_agent/tests/__init__.py -> build/lib/ironic_python_agent/tests -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/unit/hardware_managers/test_mlnx.py -> build/lib/ironic_python_agent/tests/unit/hardware_managers -copying ironic_python_agent/tests/unit/hardware_managers/__init__.py -> build/lib/ironic_python_agent/tests/unit/hardware_managers -copying ironic_python_agent/tests/unit/hardware_managers/test_cna.py -> build/lib/ironic_python_agent/tests/unit/hardware_managers -copying ironic_python_agent/ironic_api_client.py -> build/lib/ironic_python_agent -copying ironic_python_agent/raid_utils.py -> build/lib/ironic_python_agent -copying ironic_python_agent/inject_files.py -> build/lib/ironic_python_agent -copying ironic_python_agent/efi_utils.py -> build/lib/ironic_python_agent +copying ironic_python_agent/disk_partitioner.py -> build/lib/ironic_python_agent copying ironic_python_agent/burnin.py -> build/lib/ironic_python_agent +copying ironic_python_agent/raid_utils.py -> build/lib/ironic_python_agent copying ironic_python_agent/numa_inspector.py -> build/lib/ironic_python_agent -copying ironic_python_agent/inspect.py -> build/lib/ironic_python_agent -copying ironic_python_agent/utils.py -> build/lib/ironic_python_agent -copying ironic_python_agent/agent.py -> build/lib/ironic_python_agent -copying ironic_python_agent/dmi_inspector.py -> build/lib/ironic_python_agent +copying ironic_python_agent/efi_utils.py -> build/lib/ironic_python_agent copying ironic_python_agent/netutils.py -> build/lib/ironic_python_agent +copying ironic_python_agent/encoding.py -> build/lib/ironic_python_agent copying ironic_python_agent/partition_utils.py -> build/lib/ironic_python_agent +copying ironic_python_agent/ironic_api_client.py -> build/lib/ironic_python_agent copying ironic_python_agent/config.py -> build/lib/ironic_python_agent +copying ironic_python_agent/dmi_inspector.py -> build/lib/ironic_python_agent copying ironic_python_agent/version.py -> build/lib/ironic_python_agent copying ironic_python_agent/tls_utils.py -> build/lib/ironic_python_agent -copying ironic_python_agent/errors.py -> build/lib/ironic_python_agent -copying ironic_python_agent/encoding.py -> build/lib/ironic_python_agent +copying ironic_python_agent/agent.py -> build/lib/ironic_python_agent +copying ironic_python_agent/hardware.py -> build/lib/ironic_python_agent copying ironic_python_agent/disk_utils.py -> build/lib/ironic_python_agent -copying ironic_python_agent/disk_partitioner.py -> build/lib/ironic_python_agent copying ironic_python_agent/__init__.py -> build/lib/ironic_python_agent -copying ironic_python_agent/hardware.py -> build/lib/ironic_python_agent +copying ironic_python_agent/utils.py -> build/lib/ironic_python_agent +copying ironic_python_agent/errors.py -> build/lib/ironic_python_agent +copying ironic_python_agent/inspect.py -> build/lib/ironic_python_agent copying ironic_python_agent/inspector.py -> build/lib/ironic_python_agent -copying ironic_python_agent/tests/unit/test_agent.py -> build/lib/ironic_python_agent/tests/unit +copying ironic_python_agent/inject_files.py -> build/lib/ironic_python_agent +creating 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/mlnx.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 +creating 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_dmi_inspector.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_disk_utils.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_utils.py -> build/lib/ironic_python_agent/tests/unit +copying ironic_python_agent/tests/unit/test_base.py -> build/lib/ironic_python_agent/tests/unit +copying ironic_python_agent/tests/unit/test_agent.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_api.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_tls_utils.py -> build/lib/ironic_python_agent/tests/unit -copying ironic_python_agent/tests/unit/test_encoding.py -> build/lib/ironic_python_agent/tests/unit copying ironic_python_agent/tests/unit/test_raid_utils.py -> build/lib/ironic_python_agent/tests/unit -copying ironic_python_agent/tests/unit/test_multi_hardware_clean_steps.py -> build/lib/ironic_python_agent/tests/unit -copying ironic_python_agent/tests/unit/test_disk_partitioner.py -> build/lib/ironic_python_agent/tests/unit -copying ironic_python_agent/tests/unit/test_efi_utils.py -> build/lib/ironic_python_agent/tests/unit -copying ironic_python_agent/tests/unit/test_netutils.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_numa_inspector.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/dmi_inspector_data.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_netutils.py -> build/lib/ironic_python_agent/tests/unit +copying ironic_python_agent/tests/unit/test_efi_utils.py -> build/lib/ironic_python_agent/tests/unit +copying ironic_python_agent/tests/unit/test_encoding.py -> build/lib/ironic_python_agent/tests/unit copying ironic_python_agent/tests/unit/base.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_api.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_inject_files.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/__init__.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_errors.py -> build/lib/ironic_python_agent/tests/unit +copying ironic_python_agent/tests/unit/dmi_inspector_data.py -> build/lib/ironic_python_agent/tests/unit +copying ironic_python_agent/tests/unit/test_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_partition_utils.py -> build/lib/ironic_python_agent/tests/unit -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 +copying ironic_python_agent/tests/unit/test_inspector.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/__init__.py -> build/lib/ironic_python_agent/tests creating build/lib/ironic_python_agent/api copying ironic_python_agent/api/__init__.py -> build/lib/ironic_python_agent/api copying ironic_python_agent/api/app.py -> build/lib/ironic_python_agent/api +creating 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 +copying ironic_python_agent/cmd/inspect.py -> build/lib/ironic_python_agent/cmd +creating build/lib/ironic_python_agent/tests/unit/hardware_managers +copying ironic_python_agent/tests/unit/hardware_managers/test_cna.py -> build/lib/ironic_python_agent/tests/unit/hardware_managers +copying ironic_python_agent/tests/unit/hardware_managers/test_mlnx.py -> build/lib/ironic_python_agent/tests/unit/hardware_managers +copying ironic_python_agent/tests/unit/hardware_managers/__init__.py -> build/lib/ironic_python_agent/tests/unit/hardware_managers +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_base.py -> build/lib/ironic_python_agent/tests/unit/extensions +copying ironic_python_agent/tests/unit/extensions/test_rescue.py -> build/lib/ironic_python_agent/tests/unit/extensions +copying ironic_python_agent/tests/unit/extensions/test_clean.py -> build/lib/ironic_python_agent/tests/unit/extensions +copying ironic_python_agent/tests/unit/extensions/test_flow.py -> build/lib/ironic_python_agent/tests/unit/extensions +copying ironic_python_agent/tests/unit/extensions/test_standby.py -> build/lib/ironic_python_agent/tests/unit/extensions +copying ironic_python_agent/tests/unit/extensions/test_log.py -> build/lib/ironic_python_agent/tests/unit/extensions +copying ironic_python_agent/tests/unit/extensions/test_poll.py -> build/lib/ironic_python_agent/tests/unit/extensions +copying ironic_python_agent/tests/unit/extensions/test_deploy.py -> build/lib/ironic_python_agent/tests/unit/extensions +copying ironic_python_agent/tests/unit/extensions/__init__.py -> build/lib/ironic_python_agent/tests/unit/extensions +copying ironic_python_agent/tests/unit/extensions/test_service.py -> build/lib/ironic_python_agent/tests/unit/extensions +creating build/lib/ironic_python_agent/extensions +copying ironic_python_agent/extensions/poll.py -> build/lib/ironic_python_agent/extensions +copying ironic_python_agent/extensions/standby.py -> build/lib/ironic_python_agent/extensions +copying ironic_python_agent/extensions/service.py -> build/lib/ironic_python_agent/extensions +copying ironic_python_agent/extensions/clean.py -> build/lib/ironic_python_agent/extensions +copying ironic_python_agent/extensions/flow.py -> build/lib/ironic_python_agent/extensions +copying ironic_python_agent/extensions/log.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/rescue.py -> build/lib/ironic_python_agent/extensions +copying ironic_python_agent/extensions/__init__.py -> build/lib/ironic_python_agent/extensions +copying ironic_python_agent/extensions/deploy.py -> build/lib/ironic_python_agent/extensions +copying ironic_python_agent/extensions/image.py -> build/lib/ironic_python_agent/extensions +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/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 @@ -1699,201 +1740,201 @@ creating /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3 creating /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages creating /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/ironic_api_client.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/raid_utils.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/disk_partitioner.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent creating /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers -copying build/lib/ironic_python_agent/hardware_managers/mlnx.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers copying build/lib/ironic_python_agent/hardware_managers/cna.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers +copying build/lib/ironic_python_agent/hardware_managers/mlnx.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers copying build/lib/ironic_python_agent/hardware_managers/__init__.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers -copying build/lib/ironic_python_agent/inject_files.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/efi_utils.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/burnin.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/numa_inspector.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/inspect.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/utils.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/agent.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/dmi_inspector.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent creating /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/poll.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions +copying build/lib/ironic_python_agent/extensions/standby.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/service.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions +copying build/lib/ironic_python_agent/extensions/clean.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/flow.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions -copying build/lib/ironic_python_agent/extensions/image.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions -copying build/lib/ironic_python_agent/extensions/rescue.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions -copying build/lib/ironic_python_agent/extensions/deploy.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions -copying build/lib/ironic_python_agent/extensions/base.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/log.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions -copying build/lib/ironic_python_agent/extensions/clean.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions +copying build/lib/ironic_python_agent/extensions/base.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions +copying build/lib/ironic_python_agent/extensions/rescue.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/__init__.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions -copying build/lib/ironic_python_agent/extensions/standby.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions -copying build/lib/ironic_python_agent/netutils.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/partition_utils.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/config.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -creating /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api -copying build/lib/ironic_python_agent/api/__init__.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api -copying build/lib/ironic_python_agent/api/app.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api -copying build/lib/ironic_python_agent/version.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/tls_utils.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/extensions/deploy.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions +copying build/lib/ironic_python_agent/extensions/image.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions +copying build/lib/ironic_python_agent/burnin.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent creating /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests -creating /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional -copying build/lib/ironic_python_agent/tests/functional/test_commands.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional -copying build/lib/ironic_python_agent/tests/functional/base.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional -copying build/lib/ironic_python_agent/tests/functional/__init__.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional -copying build/lib/ironic_python_agent/tests/__init__.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests creating /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_agent.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_disk_partitioner.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_dmi_inspector.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_disk_utils.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_base.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_agent.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_numa_inspector.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_api.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_hardware.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit creating /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers +copying build/lib/ironic_python_agent/tests/unit/hardware_managers/test_cna.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers creating /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/nvidia copying build/lib/ironic_python_agent/tests/unit/hardware_managers/nvidia/test_nvidia_fw_update.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/nvidia copying build/lib/ironic_python_agent/tests/unit/hardware_managers/nvidia/__init__.py -> /build/reproducible-path/ironic-python-agent-9.13.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/test_mlnx.py -> /build/reproducible-path/ironic-python-agent-9.13.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/__init__.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers -copying build/lib/ironic_python_agent/tests/unit/hardware_managers/test_cna.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers -copying build/lib/ironic_python_agent/tests/unit/test_disk_utils.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_ironic_api_client.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_utils.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_tls_utils.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_encoding.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_raid_utils.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_multi_hardware_clean_steps.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_disk_partitioner.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_efi_utils.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_netutils.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_burnin.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_numa_inspector.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_multi_hardware.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/dmi_inspector_data.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_inject_files.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit creating /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions -copying build/lib/ironic_python_agent/tests/unit/extensions/test_clean.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions +copying build/lib/ironic_python_agent/tests/unit/extensions/test_image.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_base.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions -copying build/lib/ironic_python_agent/tests/unit/extensions/test_service.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions -copying build/lib/ironic_python_agent/tests/unit/extensions/test_poll.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions +copying build/lib/ironic_python_agent/tests/unit/extensions/test_rescue.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions +copying build/lib/ironic_python_agent/tests/unit/extensions/test_clean.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_flow.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_standby.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_log.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions -copying build/lib/ironic_python_agent/tests/unit/extensions/test_rescue.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions -copying build/lib/ironic_python_agent/tests/unit/extensions/__init__.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions +copying build/lib/ironic_python_agent/tests/unit/extensions/test_poll.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_deploy.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions -copying build/lib/ironic_python_agent/tests/unit/extensions/test_image.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions +copying build/lib/ironic_python_agent/tests/unit/extensions/__init__.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions +copying build/lib/ironic_python_agent/tests/unit/extensions/test_service.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions +copying build/lib/ironic_python_agent/tests/unit/test_raid_utils.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_burnin.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_netutils.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_efi_utils.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_encoding.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/base.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_hardware.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_api.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_errors.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_inject_files.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_utils.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/__init__.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_inspector.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_errors.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/dmi_inspector_data.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_multi_hardware_clean_steps.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_multi_hardware.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_partition_utils.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/errors.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/tests/unit/test_inspector.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_ironic_api_client.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +creating /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional +copying build/lib/ironic_python_agent/tests/functional/test_commands.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional +copying build/lib/ironic_python_agent/tests/functional/base.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional +copying build/lib/ironic_python_agent/tests/functional/__init__.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional +copying build/lib/ironic_python_agent/tests/__init__.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests +copying build/lib/ironic_python_agent/raid_utils.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/numa_inspector.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/efi_utils.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/netutils.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/encoding.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/disk_utils.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/disk_partitioner.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/__init__.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/partition_utils.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/ironic_api_client.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/config.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/dmi_inspector.py -> /build/reproducible-path/ironic-python-agent-9.13.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-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/tls_utils.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/agent.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/hardware.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent creating /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd -copying build/lib/ironic_python_agent/cmd/inspect.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd copying build/lib/ironic_python_agent/cmd/agent.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd copying build/lib/ironic_python_agent/cmd/__init__.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd +copying build/lib/ironic_python_agent/cmd/inspect.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd +copying build/lib/ironic_python_agent/disk_utils.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/__init__.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/utils.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/errors.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/inspect.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +creating /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api +copying build/lib/ironic_python_agent/api/__init__.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api +copying build/lib/ironic_python_agent/api/app.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api copying build/lib/ironic_python_agent/inspector.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/ironic_api_client.py to ironic_api_client.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/raid_utils.py to raid_utils.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers/mlnx.py to mlnx.cpython-312.pyc +copying build/lib/ironic_python_agent/inject_files.py -> /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/disk_partitioner.py to disk_partitioner.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers/cna.py to cna.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers/mlnx.py to mlnx.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/inject_files.py to inject_files.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/efi_utils.py to efi_utils.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/burnin.py to burnin.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/numa_inspector.py to numa_inspector.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/inspect.py to inspect.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/utils.py to utils.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/agent.py to agent.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/dmi_inspector.py to dmi_inspector.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/poll.py to poll.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/standby.py to standby.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/service.py to service.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/clean.py to clean.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/flow.py to flow.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/image.py to image.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/rescue.py to rescue.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/deploy.py to deploy.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/base.py to base.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/log.py to log.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/clean.py to clean.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/base.py to base.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/rescue.py to rescue.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/standby.py to standby.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/netutils.py to netutils.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/partition_utils.py to partition_utils.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/config.py to config.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api/app.py to app.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/version.py to version.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tls_utils.py to tls_utils.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional/test_commands.py to test_commands.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional/base.py to base.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_agent.py to test_agent.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/deploy.py to deploy.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/image.py to image.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/burnin.py to burnin.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_disk_partitioner.py to test_disk_partitioner.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_dmi_inspector.py to test_dmi_inspector.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_disk_utils.py to test_disk_utils.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_base.py to test_base.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_agent.py to test_agent.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_numa_inspector.py to test_numa_inspector.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_api.py to test_api.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_hardware.py to test_hardware.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/test_cna.py to test_cna.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/nvidia/test_nvidia_fw_update.py to test_nvidia_fw_update.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/nvidia/__init__.py to __init__.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/test_mlnx.py to test_mlnx.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/test_cna.py to test_cna.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_disk_utils.py to test_disk_utils.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_ironic_api_client.py to test_ironic_api_client.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_utils.py to test_utils.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_tls_utils.py to test_tls_utils.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_encoding.py to test_encoding.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_raid_utils.py to test_raid_utils.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_multi_hardware_clean_steps.py to test_multi_hardware_clean_steps.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_disk_partitioner.py to test_disk_partitioner.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_efi_utils.py to test_efi_utils.cpython-312.pyc -/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_efi_utils.py:361: SyntaxWarning: invalid escape sequence '\E' -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_netutils.py to test_netutils.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_burnin.py to test_burnin.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_numa_inspector.py to test_numa_inspector.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_multi_hardware.py to test_multi_hardware.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/dmi_inspector_data.py to dmi_inspector_data.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_inject_files.py to test_inject_files.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_clean.py to test_clean.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_image.py to test_image.cpython-312.pyc +/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_image.py:331: SyntaxWarning: invalid escape sequence '\E' +/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_image.py:393: SyntaxWarning: invalid escape sequence '\E' byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_base.py to test_base.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_service.py to test_service.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_poll.py to test_poll.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_rescue.py to test_rescue.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_clean.py to test_clean.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_flow.py to test_flow.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_standby.py to test_standby.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_log.py to test_log.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_rescue.py to test_rescue.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_poll.py to test_poll.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_deploy.py to test_deploy.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_image.py to test_image.cpython-312.pyc -/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_image.py:331: SyntaxWarning: invalid escape sequence '\E' -/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_image.py:393: SyntaxWarning: invalid escape sequence '\E' +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_service.py to test_service.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_raid_utils.py to test_raid_utils.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_burnin.py to test_burnin.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_netutils.py to test_netutils.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_efi_utils.py to test_efi_utils.cpython-312.pyc +/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_efi_utils.py:361: SyntaxWarning: invalid escape sequence '\E' +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_encoding.py to test_encoding.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/base.py to base.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_hardware.py to test_hardware.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_api.py to test_api.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_errors.py to test_errors.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_inject_files.py to test_inject_files.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_utils.py to test_utils.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_inspector.py to test_inspector.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_errors.py to test_errors.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/dmi_inspector_data.py to dmi_inspector_data.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_multi_hardware_clean_steps.py to test_multi_hardware_clean_steps.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_multi_hardware.py to test_multi_hardware.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_partition_utils.py to test_partition_utils.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/errors.py to errors.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_inspector.py to test_inspector.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_ironic_api_client.py to test_ironic_api_client.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional/test_commands.py to test_commands.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional/base.py to base.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/raid_utils.py to raid_utils.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/numa_inspector.py to numa_inspector.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/efi_utils.py to efi_utils.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/netutils.py to netutils.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/encoding.py to encoding.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/disk_utils.py to disk_utils.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/disk_partitioner.py to disk_partitioner.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/partition_utils.py to partition_utils.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/ironic_api_client.py to ironic_api_client.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/config.py to config.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/dmi_inspector.py to dmi_inspector.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/version.py to version.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tls_utils.py to tls_utils.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/agent.py to agent.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware.py to hardware.cpython-312.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd/inspect.py to inspect.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd/agent.py to agent.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd/inspect.py to inspect.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/disk_utils.py to disk_utils.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/utils.py to utils.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/errors.py to errors.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/inspect.py to inspect.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api/app.py to app.cpython-312.pyc byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/inspector.py to inspector.cpython-312.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/inject_files.py to inject_files.cpython-312.pyc running install_egg_info Copying ironic_python_agent.egg-info to /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent-9.13.0.egg-info Skipping SOURCES.txt running install_scripts Installing ironic-collect-introspection-data script to /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/bin Installing ironic-python-agent script to /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/bin -+ pwd -+ rm -rf /build/reproducible-path/ironic-python-agent-9.13.0/debian/python*/usr/lib/python*/dist-packages/*.pth -+ pwd -+ rm -rf /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python*/dist-packages/*.pth +++ pwd ++ rm -rf '/build/reproducible-path/ironic-python-agent-9.13.0/debian/python*/usr/lib/python*/dist-packages/*.pth' +++ pwd ++ rm -rf '/build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python*/dist-packages/*.pth' pkgos-dh_auto_test --no-py2 'ironic_python_agent\.tests\.unit.*' + PKGOS_TEST_PARALLEL=yes + PKGOS_TEST_SERIAL=no @@ -1901,32 +1942,39 @@ + PYTHON3S=disabled + TEST_PARALLEL_OPT=--parallel + TEST_SERIAL_OPT= -+ echo WARNING: --no-py2 is deprecated, and always on. ++ for i in $@ ++ case "${1}" in ++ echo 'WARNING: --no-py2 is deprecated, and always on.' WARNING: --no-py2 is deprecated, and always on. + shift -+ py3versions -vr ++ for i in $@ ++ case "${1}" in +++ py3versions -vr + PYTHON3S=3.12 -+ [ yes = no ] -+ [ no = yes ] -+ [ 3.12 = disabled ] -+ echo 3.12 -+ cut -d. -f1 ++ '[' yes = no ']' ++ '[' no = yes ']' ++ for pyvers in ${PYTHON3S} ++ '[' 3.12 = disabled ']' +++ echo 3.12 +++ cut -d. -f1 + PYMAJOR=3 -+ echo ===> Testing with python (python3) ++ echo '===> Testing with python (python3)' ===> Testing with python (python3) -+ pwd -+ [ -d /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages ] -+ [ -z ] -+ pwd -+ echo Implicitly adding PYTHONPATH=/build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages +++ pwd ++ '[' -d /build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages ']' ++ '[' -z '' ']' +++ pwd ++ echo 'Implicitly adding PYTHONPATH=/build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages' Implicitly adding PYTHONPATH=/build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages -+ pwd +++ pwd + export PYTHONPATH=/build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages -+ [ -e .stestr.conf ] -+ [ -x /usr/bin/python3-stestr ] ++ PYTHONPATH=/build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages ++ '[' -e .stestr.conf ']' ++ '[' -x /usr/bin/python3-stestr ']' + STESTR=stestr + rm -rf .stestr -+ PYTHON=python3.12 stestr run --parallel --subunit ironic_python_agent\.tests\.unit.* ++ PYTHON=python3.12 ++ stestr run --parallel --subunit 'ironic_python_agent\.tests\.unit.*' + subunit2pyunit /build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/tests/unit/extensions/test_image.py:331: SyntaxWarning: invalid escape sequence '\E' stdout_msg = """ @@ -1934,209 +1982,31 @@ stdout_msg = """ /build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/tests/unit/test_efi_utils.py:361: SyntaxWarning: invalid escape sequence '\E' dupe_entry = """ -ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_add_partition -ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_add_partition ... ok -ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit -ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__message_format_partition_bios -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__message_format_partition_bios ... ok - ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command. + ERROR [root] Command failed: fake_async_command, error: An error occurred: failed +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/tests/unit/extensions/test_base.py", line 38, in fake_async_command + raise ExecutionError() +ironic_python_agent.tests.unit.extensions.test_base.ExecutionError: An error occurred: failed + WARNING [ironic_python_agent.disk_utils] Failed to verify partition tables on device /dev/fake: Unexpected error while running command. Command: None Exit code: - -Stdout: 'boop' +Stdout: None Stderr: None -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__message_format_partition_uefi -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__message_format_partition_uefi ... ok -ironic_python_agent.tests.unit.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_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.extensions.test_standby.TestStandbyExtension.test_cache_and_write_image -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_cache_and_write_image ... ok -ironic_python_agent.tests.unit.test_disk_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.extensions.test_standby.TestStandbyExtension.test_cache_and_write_image_configdirve -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_cache_and_write_image_configdirve ... ok -ironic_python_agent.tests.unit.test_disk_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.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.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.00015091896057128906 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.00015091896057128906 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0005583763122558594 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.0005583763122558594 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0008573532104492188 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.0008573532104492188 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0011432170867919922 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.0011432170867919922 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.001470327377319336 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -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 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.001470327377319336 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - ... ok - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0017750263214111328 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.0017750263214111328 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0020704269409179688 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.0020704269409179688 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.002351999282836914 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.002351999282836914 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0026314258575439453 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.0026314258575439453 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.002914905548095703 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 8.153915405273438e-05 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] Image download failed, 0 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 8.153915405273438e-05 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0003829002380371094 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.0003829002380371094 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0006582736968994141 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.0006582736968994141 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0009310245513916016 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.0009310245513916016 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0012028217315673828 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.0012028217315673828 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0014796257019042969 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.0014796257019042969 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0017483234405517578 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.0017483234405517578 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0020203590393066406 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.0020203590393066406 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0023059844970703125 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.0023059844970703125 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0025916099548339844 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_conf_credential -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_conf_credential ... ok -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 - 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.0004901885986328125 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.0004901885986328125 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0007970333099365234 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.0007970333099365234 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0010938644409179688 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.0010938644409179688 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.001373291015625 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.001373291015625 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.001687765121459961 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.001687765121459961 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -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.extensions.standby] URL: http://example.org; time: 0.001973867416381836 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.001973867416381836 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0022306442260742188 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.0022306442260742188 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0025644302368164062 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.0025644302368164062 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0028808116912841797 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_image_info_credential -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_image_info_credential ... ok -ironic_python_agent.tests.unit.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.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential ... ok - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00016641616821289062 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.00016641616821289062 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0004975795745849609 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.0004975795745849609 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0008287429809570312 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.0008287429809570312 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0011632442474365234 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.0011632442474365234 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0015180110931396484 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.0015180110931396484 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0018496513366699219 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.0018496513366699219 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.002184152603149414 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.002184152603149414 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.002511262893676758 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.002511262893676758 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0029480457305908203 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.0029480457305908203 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.003275156021118164 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__no_efi_bootloaders -ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__no_efi_bootloaders ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential_second -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential_second ... ok - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0011377334594726562 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.0011377334594726562 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.0015871524810791016 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.0015871524810791016 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.0019419193267822266 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.0019419193267822266 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.002307891845703125 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.002307891845703125 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.002634286880493164 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: -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 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.002634286880493164 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: - ... ok - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.003000974655151367 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.003000974655151367 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: -ironic_python_agent.tests.unit.test_disk_utils.PopulateImageTestCase.test_populate_raw_image -ironic_python_agent.tests.unit.test_disk_utils.PopulateImageTestCase.test_populate_raw_image ... ok - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.003332853317260742 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.003332853317260742 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.003660440444946289 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.003660440444946289 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: -ironic_python_agent.tests.unit.test_disk_utils.PopulateImageTestCase.test_populate_raw_image_with_convert -ironic_python_agent.tests.unit.test_disk_utils.PopulateImageTestCase.test_populate_raw_image_with_convert ... 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 - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0040776729583740234 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.0040776729583740234 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.004495859146118164 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: -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_netutils.TestNetutils.test_get_lldp_info -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_erase_exec_exception -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_erase_exec_exception ... ok - WARNING [ironic_python_agent.netutils] LLDP timed out, remaining interfaces: [('eth0', ), ('eth1', )] -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.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_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_hardware.TestGenericHardwareManager.test__find_pstore_mount_point_no_pstore -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__find_pstore_mount_point_no_pstore ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_basic_auth_conf_success -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_basic_auth_conf_success ... ok -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_malformed -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_malformed ... 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_netutils.TestNetutils.test_get_lldp_info_multiple -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_multiple ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__get_md_uuid -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__get_md_uuid ... 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.netutils] LLDP timed out, remaining interfaces: [('eth1', )] -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.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.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.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.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.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_log.TestLogExtension.test_collect_system_logs -ironic_python_agent.tests.unit.extensions.test_log.TestLogExtension.test_collect_system_logs ... 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. + ERROR [ironic_python_agent.extensions.poll] Node lookup data can only be set when the Ironic Python Agent is running in standalone mode. +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestUpdateNvidiaNicFirmwareImage.test_update_nvidia_nic_firmware_image_exception +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestUpdateNvidiaNicFirmwareImage.test_update_nvidia_nic_firmware_image_exception ... ok + ERROR [root] Tried to execute fake.fake_sync_command, agent is still executing Command name: name, params: {}, status: RUNNING, result: None. +ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_custom_attempts +ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_custom_attempts ... ok + ERROR [root] Unexpected exception performing clean step erase_devices. RuntimeError: boom Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/netutils.py", line 197, in _get_lldp_info - lldp_info[interface[0]] = _receive_lldp_packets(s) - ^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/netutils.py", line 160, in _receive_lldp_packets - pkt = sock.recv(1600) - ^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/clean.py", line 77, in execute_clean_step + result = hardware.dispatch_to_managers(step['step'], node, ports, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 3, in dispatch_to_managers File "/usr/lib/python3.12/unittest/mock.py", line 1137, in __call__ return self._mock_call(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -2145,28 +2015,9 @@ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/unittest/mock.py", line 1196, in _execute_mock_call raise effect -OSError: BOOM - ERROR [ironic_python_agent.extensions.standby] Image failed to verify against checksum. location: /tmp/tmpa5xg0w7a/fake_id; image ID: fake_id; image checksum: fake-checksum; verification checksum: invalid-checksum -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.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.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_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 - WARNING [root] Could not determine if /dev/sdfake is aread-only device. Error: - WARNING [root] Something went wrong when readlink for interface eth2. Error: fake -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_service.TestServiceExtension.test_execute_service_step -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step ... ok -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support ... ok - ERROR [root] Tried to execute fake.fake_sync_command, agent is still executing Command name: name, params: {}, status: RUNNING, result: None. -ironic_python_agent.tests.unit.hardware_managers.test_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 - ERROR [ironic_python_agent.burnin] SMART test on /dev/sdj failed with 'string' +RuntimeError: boom +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 ERROR [root] Unexpected exception performing service step erase_devices. RuntimeError: boom Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/service.py", line 77, in execute_service_step @@ -2182,16 +2033,57 @@ File "/usr/lib/python3.12/unittest/mock.py", line 1196, in _execute_mock_call raise effect RuntimeError: boom - ERROR [ironic_python_agent.netutils] Failed to open all RawPromiscuousSockets, attempting to close any opened sockets. -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_error -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_error ... ok -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets ... ok -ironic_python_agent.tests.unit.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.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] Duplicate componentFlavor MT_0000000540 + ERROR [root] Failed to query firmware of device : Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None + ERROR [root] Failed Prerequisite check. Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None + ERROR [root] Command failed: sleep, error: An error occurred: An unexpected error occurred. Please try back later. +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/tests/unit/extensions/test_flow.py", line 41, in sleep + time.sleep(sleep_info['time']) + File "/usr/lib/python3.12/unittest/mock.py", line 1137, in __call__ + return self._mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1141, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1196, 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: execute_clean_step, error: Clean step failed: Unexpected exception performing clean step erase_devices. RuntimeError: boom +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/clean.py", line 77, in execute_clean_step + result = hardware.dispatch_to_managers(step['step'], node, ports, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 3, in dispatch_to_managers + File "/usr/lib/python3.12/unittest/mock.py", line 1137, in __call__ + return self._mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1141, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1196, in _execute_mock_call + raise effect +RuntimeError: boom + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/clean.py", line 88, in execute_clean_step + raise errors.CleaningError(msg) +ironic_python_agent.errors.CleaningError: Clean step failed: Unexpected exception performing clean step erase_devices. RuntimeError: boom ERROR [root] Command failed: execute_service_step, error: Service step failed: Unexpected exception performing service step erase_devices. RuntimeError: boom Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/service.py", line 77, in execute_service_step @@ -2217,20 +2109,15 @@ File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/service.py", line 88, in execute_service_step raise errors.ServicingError(msg) ironic_python_agent.errors.ServicingError: Service step failed: Unexpected exception performing service step erase_devices. RuntimeError: boom - WARNING [root] Could not determine if /dev/sdfake1 is aread-only device. Error: - ERROR [root] Failed to query firmware of device : Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - ERROR [root] Command failed: fake_async_command, error: An error occurred: failed + ERROR [root] Command failed: start_flow, error: Command execution failed: fake.sleep was failed Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.13.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 + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/flow.py", line 44, in start_flow + raise errors.CommandExecutionError( +ironic_python_agent.errors.CommandExecutionError: Command execution failed: fake.sleep was failed + WARNING [ironic_python_agent.efi_utils] Empty EFI partition detected. ERROR [root] Invalid content error: Invalid request body: baz Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/base.py", line 268, in execute_command @@ -2245,14 +2132,12 @@ File "/usr/lib/python3.12/unittest/mock.py", line 1196, in _execute_mock_call raise effect ironic_python_agent.errors.InvalidContentError: Invalid request body: baz - 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] Command failed: sleep, error: An error occurred: An unexpected error occurred. Please try back later. + ERROR [root] Error performing service step erase_devices Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/tests/unit/extensions/test_flow.py", line 41, in sleep - time.sleep(sleep_info['time']) + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/service.py", line 77, in execute_service_step + result = hardware.dispatch_to_managers(step['step'], node, ports, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 3, in dispatch_to_managers File "/usr/lib/python3.12/unittest/mock.py", line 1137, in __call__ return self._mock_call(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -2261,10 +2146,10 @@ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/unittest/mock.py", line 1196, in _execute_mock_call raise effect -ironic_python_agent.errors.RESTError: An error occurred: An unexpected error occurred. Please try back later. - ERROR [root] Error performing service step erase_devices +ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot + ERROR [root] Error performing clean step erase_devices Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/service.py", line 77, in execute_service_step + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/clean.py", line 77, in execute_clean_step result = hardware.dispatch_to_managers(step['step'], node, ports, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 3, in dispatch_to_managers @@ -2277,17 +2162,17 @@ File "/usr/lib/python3.12/unittest/mock.py", line 1196, in _execute_mock_call raise effect ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot - ERROR [root] Command failed: start_flow, error: Command execution failed: fake.sleep was failed + ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boop' +Stderr: None + ERROR [root] Command failed: execute_service_step, error: Block device caused unknown error: I'm a teapot Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/flow.py", line 44, in start_flow - raise errors.CommandExecutionError( -ironic_python_agent.errors.CommandExecutionError: Command execution failed: fake.sleep was failed - ERROR [root] Unexpected exception performing deploy step erase_devices. RuntimeError: boom -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/deploy.py", line 77, in execute_deploy_step + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/service.py", line 77, in execute_service_step result = hardware.dispatch_to_managers(step['step'], node, ports, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 3, in dispatch_to_managers @@ -2299,12 +2184,16 @@ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/unittest/mock.py", line 1196, in _execute_mock_call raise effect -RuntimeError: boom - ERROR [root] Command execution error: Command execution failed: foo bar baz +ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot + ERROR [root] Command failed: execute_clean_step, error: Block device caused unknown error: I'm a teapot Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/base.py", line 268, in execute_command - result = ext.execute(command_part, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/clean.py", line 77, in execute_clean_step + result = hardware.dispatch_to_managers(step['step'], node, ports, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 3, in dispatch_to_managers File "/usr/lib/python3.12/unittest/mock.py", line 1137, in __call__ return self._mock_call(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -2313,36 +2202,28 @@ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/unittest/mock.py", line 1196, in _execute_mock_call raise effect -ironic_python_agent.errors.CommandExecutionError: Command execution failed: foo bar baz - ERROR [root] Command failed: execute_service_step, error: Block device caused unknown error: I'm a teapot +ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot + ERROR [root] Command failed: sleep, error: foo Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/service.py", line 77, in execute_service_step - result = hardware.dispatch_to_managers(step['step'], node, ports, - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "", line 3, in dispatch_to_managers + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/tests/unit/extensions/test_flow.py", line 41, in sleep + time.sleep(sleep_info['time']) File "/usr/lib/python3.12/unittest/mock.py", line 1137, in __call__ return self._mock_call(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/unittest/mock.py", line 1141, in _mock_call return self._execute_mock_call(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1196, in _execute_mock_call - raise effect -ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot - ERROR [ironic_python_agent.burnin] fio (disk) failed with error Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - ERROR [root] Command failed: execute_deploy_step, error: Deploy step failed: Unexpected exception performing deploy step erase_devices. RuntimeError: boom + File "/usr/lib/python3.12/unittest/mock.py", line 1200, in _execute_mock_call + raise result +Exception: foo + ERROR [root] Command execution error: Command execution failed: foo bar baz Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/deploy.py", line 77, in execute_deploy_step - result = hardware.dispatch_to_managers(step['step'], node, ports, - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "", line 3, in dispatch_to_managers + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/base.py", line 268, in execute_command + result = ext.execute(command_part, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/unittest/mock.py", line 1137, in __call__ return self._mock_call(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -2351,39 +2232,44 @@ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/unittest/mock.py", line 1196, in _execute_mock_call raise effect -RuntimeError: boom - -During handling of the above exception, another exception occurred: - +ironic_python_agent.errors.CommandExecutionError: Command execution failed: foo bar baz + ERROR [root] Command failed: start_flow, error: Command execution failed: fake.sleep was failed Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/deploy.py", line 88, in execute_deploy_step - raise errors.DeploymentError(msg) -ironic_python_agent.errors.DeploymentError: Deploy step failed: Unexpected exception performing deploy step erase_devices. RuntimeError: boom - ERROR [root] Malformed service_step, no "step" key: {} - 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.) - ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command. + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/flow.py", line 44, in start_flow + raise errors.CommandExecutionError( +ironic_python_agent.errors.CommandExecutionError: Command execution failed: fake.sleep was failed + ERROR [ironic_python_agent.efi_utils] Could not configure UEFI boot on device /dev/fake: Unexpected error while running command. Command: None Exit code: - -Stdout: None +Stdout: 'boom' Stderr: None - ERROR [ironic_python_agent.extensions.standby] Flushing file system buffers failed. Error: Unexpected error while running command. +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/efi_utils.py", line 131, in manage_uefi + utils.execute('mount', efi_partition, efi_partition_mount_point) + File "", line 3, in execute + File "/usr/lib/python3.12/unittest/mock.py", line 1137, in __call__ + return self._mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1141, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1196, in _execute_mock_call + raise effect +oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. Command: None Exit code: - -Stdout: None +Stdout: 'boom' Stderr: None - WARNING [ironic_python_agent.extensions.standby] Failed to sync file system buffers: Command execution failed: Flushing file system buffers failed. Error: Unexpected error while running command. + ERROR [root] Failed to query tool configuration of device : 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] Malformed service_step, no "step" key: {} + ERROR [root] Malformed clean_step, no "step" key: {} ERROR [root] Command failed: execute_service_step, error: Malformed service_step, no "step" key: {} Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/base.py", line 174, in run @@ -2392,13 +2278,53 @@ File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/service.py", line 74, in execute_service_step raise ValueError(msg) ValueError: Malformed service_step, no "step" key: {} - ERROR [root] Command failed: sleep, error: foo + ERROR [root] Command failed: execute_clean_step, error: Malformed clean_step, no "step" key: {} Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/tests/unit/extensions/test_flow.py", line 41, in sleep - time.sleep(sleep_info['time']) + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/clean.py", line 74, in execute_clean_step + raise ValueError(msg) +ValueError: Malformed clean_step, no "step" key: {} +ironic_python_agent.tests.unit.extensions.test_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_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_efi_utils.TestManageUefi.test_clean_boot_records +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_clean_boot_records ... ok +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_name +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_name ... 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.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_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.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.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.nvidia.test_nvidia_fw_update.TestUpdatenvidiaNicFirmwareSettings.test_update_nvidia_nic_firmware_settings_exception +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestUpdatenvidiaNicFirmwareSettings.test_update_nvidia_nic_firmware_settings_exception ... ok +ironic_python_agent.tests.unit.test_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 +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/efi_utils.py", line 185, in manage_uefi + _run_efibootmgr(valid_efi_bootloaders, efi_dev, efi_part, + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/efi_utils.py", line 351, in _run_efibootmgr + boot_records = list(get_boot_records()) + ^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/efi_utils.py", line 282, in get_boot_records + efi_output = utils.execute('efibootmgr', '-v', binary=True) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 3, in execute File "/usr/lib/python3.12/unittest/mock.py", line 1137, in __call__ return self._mock_call(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -2407,53 +2333,113 @@ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/unittest/mock.py", line 1200, in _execute_mock_call raise result -Exception: foo - ERROR [root] Command failed: start_flow, error: Command execution failed: fake.sleep was failed -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/flow.py", line 44, in start_flow - raise errors.CommandExecutionError( -ironic_python_agent.errors.CommandExecutionError: Command execution failed: fake.sleep was failed - ERROR [root] Error performing deploy step erase_devices -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/deploy.py", line 77, in execute_deploy_step - result = hardware.dispatch_to_managers(step['step'], node, ports, - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "", line 3, in dispatch_to_managers - File "/usr/lib/python3.12/unittest/mock.py", line 1137, in __call__ - return self._mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1141, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1196, in _execute_mock_call - raise effect -ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot - ERROR [root] Failed to query tool configuration of device : Unexpected error while running command. +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 [root] Failed to query firmware of device : Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None - ERROR [root] Command failed: execute_deploy_step, error: Block device caused unknown error: I'm a teapot +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step ... ok +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_exception +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_exception ... ok +ironic_python_agent.tests.unit.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_base.TestExtensionDecorators.test_command_map +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_command_map ... 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.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.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.extensions.test_clean.TestCleanExtension.test_execute_clean_step_fail +ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_fail ... ok +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_name +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_name ... ok +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.test_efi_utils.TestManageUefi.test_failure +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__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.extensions.test_clean.TestCleanExtension.test_execute_clean_step_no_step +ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_no_step ... ok +ironic_python_agent.tests.unit.extensions.test_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.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed ... ok +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed_on_second_command +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed_on_second_command ... ok +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_success +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_success ... ok +ironic_python_agent.tests.unit.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.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.TestExtensionDecorators.test_sync_command_success +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_success ... ok + ERROR [root] Clean version mismatch for command execute_service_step +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_service.TestServiceExtension.test_execute_service_step_tuple_result +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_tuple_result ... ERROR [ironic_python_agent.efi_utils] Could not configure UEFI boot on device /dev/fake: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/deploy.py", line 77, in execute_deploy_step - result = hardware.dispatch_to_managers(step['step'], node, ports, - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "", line 3, in dispatch_to_managers + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/efi_utils.py", line 185, in manage_uefi + _run_efibootmgr(valid_efi_bootloaders, efi_dev, efi_part, + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/efi_utils.py", line 351, in _run_efibootmgr + boot_records = list(get_boot_records()) + ^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/efi_utils.py", line 282, in get_boot_records + efi_output = utils.execute('efibootmgr', '-v', binary=True) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 3, in execute File "/usr/lib/python3.12/unittest/mock.py", line 1137, in __call__ return self._mock_call(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/unittest/mock.py", line 1141, in _mock_call return self._execute_mock_call(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1196, in _execute_mock_call - raise effect -ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot + File "/usr/lib/python3.12/unittest/mock.py", line 1200, in _execute_mock_call + raise result +oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None +ok + ERROR [root] Clean version mismatch for command execute_clean_step +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure_after_failure +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure_after_failure ... ok +ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command +ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command ... ok +ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_invalid_content +ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_invalid_content ... ok +ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_other_exception +ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_other_exception ... ok + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0005335807800292969 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +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 + 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.0005335807800292969 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config ERROR [root] Extension do not found Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/base.py", line 267, in execute_command @@ -2466,17 +2452,169 @@ return self._extensions_by_name[name] ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ KeyError: 'do' - WARNING [ironic_python_agent.efi_utils] Empty EFI partition detected. - 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.numa_inspector] Failed to get some NUMA information (Error in NUMA node data format: An unexpected error occurred. Please try back later.) - ERROR [root] Failed Prerequisite check. Unexpected error while running command. + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.001638650894165039 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +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 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.001638650894165039 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + ... ok + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0023469924926757812 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.0023469924926757812 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00292205810546875 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.00292205810546875 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.003382444381713867 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +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 + 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.003382444381713867 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0038809776306152344 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +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 + 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.0038809776306152344 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0044803619384765625 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +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.extensions.standby] Image download failed, 6 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0044803619384765625 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +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 + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.005221366882324219 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.005221366882324219 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.005941629409790039 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.005941629409790039 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.006432056427001953 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +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.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_missing_command +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_missing_command ... ok +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_version_mismatch +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_version_mismatch ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_set_config +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_set_config ... ok + ERROR [root] Failed to set configuration of device , ['SRIOV_EN=20']: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None - ERROR [root] Unexpected exception performing clean step erase_devices. RuntimeError: boom + ERROR [root] Command failed: fake_async_command, error: An error occurred: failed Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/clean.py", line 77, in execute_clean_step + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.13.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_standby.TestImageDownload.test_download_image_and_centos_checksum_md5 +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_md5 ... ok +ironic_python_agent.tests.unit.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.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_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_standby.TestImageDownload.test_download_image_and_centos_checksum_sha512 +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_sha512 ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_empty_file +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_empty_file ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_empty_file_md5 +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_empty_file_md5 ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_failed +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_failed ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_failed_md5 +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_failed_md5 ... ok +ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_unknown_extension +ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_unknown_extension ... ok +ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_get_hardware_info_success +ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_get_hardware_info_success ... ok +ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_set_node_info_not_standalone +ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_set_node_info_not_standalone ... ok +ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_set_node_info_success +ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_set_node_info_success ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__message_format_partition_bios +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__message_format_partition_bios ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__message_format_partition_uefi +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__message_format_partition_uefi ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__sync_clock +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__sync_clock ... ok +ironic_python_agent.tests.unit.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_standby.TestStandbyExtension.test_cache_and_write_image_configdirve +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_cache_and_write_image_configdirve ... ok +ironic_python_agent.tests.unit.extensions.test_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_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.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_to_find_extension +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_to_find_extension ... ok + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00016689300537109375 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.00016689300537109375 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0011134147644042969 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.0011134147644042969 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0015344619750976562 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.0015344619750976562 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0019137859344482422 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.0019137859344482422 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0022673606872558594 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.0022673606872558594 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0026667118072509766 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.0026667118072509766 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.003042936325073242 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.003042936325073242 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +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 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.003425121307373047 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.003425121307373047 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + ... WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0037124156951904297 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +ok + 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.0037124156951904297 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +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 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.004133701324462891 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_set_config_exception +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_set_config_exception ... ok +ironic_python_agent.tests.unit.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_efi_utils.TestManageUefi.test_found_csv +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_found_csv ... ok +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_wait_async_command_execution_failure +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_wait_async_command_execution_failure ... ok +ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step +ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_image_info_credential +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_image_info_credential ... ok +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_success +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_success ... 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 ... WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. +ok + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0001399517059326172 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.0001399517059326172 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0006089210510253906 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.0006089210510253906 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0009582042694091797 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.0009582042694091797 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0013320446014404297 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.0013320446014404297 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +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 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0016710758209228516 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.0016710758209228516 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + ... ok + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0019834041595458984 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.0019834041595458984 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.002383708953857422 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.002383708953857422 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.002699613571166992 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.002699613571166992 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.003006458282470703 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.003006458282470703 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0033130645751953125 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config ... ok + ERROR [root] Configuraiton ESWITCH_HAIRPIN_TOT_BUFFER_SIZE[8] for device is not supported with current fw +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_wait_async_command_success +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_wait_async_command_success ... ok + ERROR [root] Unexpected exception performing deploy step erase_devices. RuntimeError: boom +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/deploy.py", line 77, in execute_deploy_step result = hardware.dispatch_to_managers(step['step'], node, ports, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 3, in dispatch_to_managers @@ -2489,11 +2627,49 @@ File "/usr/lib/python3.12/unittest/mock.py", line 1196, in _execute_mock_call raise effect RuntimeError: boom - ERROR [root] Command failed: power_off, error: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None. +ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_get_clean_steps +ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_get_clean_steps ... ok +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_get_boot_records +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_get_boot_records ... 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.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.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_sha256 +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_sha256 ... ok + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0001761913299560547 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.0001761913299560547 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0006206035614013672 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.0006206035614013672 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0009455680847167969 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.0009455680847167969 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.001255035400390625 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.001255035400390625 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0015902519226074219 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.0015902519226074219 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.001898050308227539 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.001898050308227539 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0022029876708984375 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.0022029876708984375 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.002506256103515625 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.002506256103515625 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.002817392349243164 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.002817392349243164 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.003125905990600586 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +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.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 + WARNING [ironic_python_agent.extensions.image] Falling back to fstab entry addition label of UUID. We could not identify which UUID or PARTUUID identifier label should be used, thus UUID will be used. + ERROR [root] 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.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 + ERROR [root] Command failed: execute_deploy_step, error: Deploy step failed: Unexpected exception performing deploy step erase_devices. RuntimeError: boom Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/standby.py", line 994, in _run_shutdown_command - utils.execute("echo o > /proc/sysrq-trigger", shell=True) - File "", line 3, in execute + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/deploy.py", line 77, in execute_deploy_step + result = hardware.dispatch_to_managers(step['step'], node, ports, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 3, in dispatch_to_managers File "/usr/lib/python3.12/unittest/mock.py", line 1137, in __call__ return self._mock_call(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -2502,11 +2678,7 @@ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/unittest/mock.py", line 1196, in _execute_mock_call raise effect -oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None +RuntimeError: boom During handling of the above exception, another exception occurred: @@ -2514,34 +2686,93 @@ File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/standby.py", line 1010, in power_off - self._run_shutdown_command('poweroff') - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/standby.py", line 998, 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_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 - WARNING [ironic_python_agent.numa_inspector] Failed to get list of NUMA nodes, NUMA node path does not exist: /sys/devices/system/node/ - ERROR [root] Malformed deploy_step, no "step" key: {} - ERROR [root] Clean version mismatch for command execute_service_step -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 - ERROR [root] Failed to query firmware of device : Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - ERROR [root] Command failed: execute_deploy_step, error: Malformed deploy_step, no "step" key: {} + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/deploy.py", line 88, in execute_deploy_step + raise errors.DeploymentError(msg) +ironic_python_agent.errors.DeploymentError: Deploy step failed: Unexpected exception performing deploy step erase_devices. RuntimeError: boom +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_no_partition +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_no_partition ... ok +ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_finalize_rescue +ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_finalize_rescue ... ok +ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit +ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential_second +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential_second ... ok +ironic_python_agent.tests.unit.extensions.test_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] URL: http://example.org; time: 0.0018184185028076172 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.0018184185028076172 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.002470254898071289 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.002470254898071289 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.0029458999633789062 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.0029458999633789062 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.0034368038177490234 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.0034368038177490234 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.003912210464477539 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.003912210464477539 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.004385948181152344 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.004385948181152344 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.004888057708740234 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.004888057708740234 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.0053615570068359375 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.0053615570068359375 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.005859375 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.005859375 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.006432771682739258 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_mstflint_package +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_mstflint_package ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__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.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] Duplicate componentFlavor MT_0000000540 +ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_exception +ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_exception ... ok +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_nvme_device +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_nvme_device ... 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_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.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.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.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card ... ok + WARNING [root] Something went wrong when readlink for interface eth2. Error: fake + ERROR [root] Error performing deploy step erase_devices +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/deploy.py", line 77, in execute_deploy_step + result = hardware.dispatch_to_managers(step['step'], node, ports, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 3, in dispatch_to_managers + File "/usr/lib/python3.12/unittest/mock.py", line 1137, in __call__ + return self._mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1141, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1196, 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.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images_duplicate_component_flavor_exception +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images_duplicate_component_flavor_exception ... ok +ironic_python_agent.tests.unit.extensions.test_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_efi_utils.TestManageUefi.test_ok +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_ok ... 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_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.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] Command failed: execute_deploy_step, error: Block device caused unknown error: I'm a teapot Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/deploy.py", line 73, in execute_deploy_step - raise ValueError(msg) -ValueError: Malformed deploy_step, no "step" key: {} - ERROR [root] Command failed: execute_clean_step, error: Clean step failed: Unexpected exception performing clean step erase_devices. RuntimeError: boom -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/clean.py", line 77, in execute_clean_step + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/deploy.py", line 77, in execute_deploy_step result = hardware.dispatch_to_managers(step['step'], node, ports, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 3, in dispatch_to_managers @@ -2553,42 +2784,117 @@ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/unittest/mock.py", line 1196, in _execute_mock_call raise effect -RuntimeError: boom - -During handling of the above exception, another exception occurred: - +ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_basic_auth_conf_success +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_basic_auth_conf_success ... ok +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_execute_error +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_execute_error ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_validate_images_schema +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_validate_images_schema ... 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 + ERROR [root] Rescue Operation failed when writing the hashed rescue password to the password file. Error +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/rescue.py", line 48, in write_rescue_password + with open(PASSWORD_FILE, 'w') as f: + ^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1137, in __call__ + return self._mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1141, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1196, in _execute_mock_call + raise effect +OSError + WARNING [ironic_python_agent.dmi_inspector] Failed to parse Handle type in dmi output: list index out of range +ironic_python_agent.tests.unit.test_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_efi_utils.TestManageUefi.test_software_raid +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_software_raid ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_no_root +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_no_root ... ok +ironic_python_agent.tests.unit.extensions.test_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.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 + ERROR [root] Malformed deploy_step, no "step" key: {} +ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_fail +ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_fail ... ok + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0010704994201660156 seconds. Error: Received status code 401 from http://example.org, expected 200. Response body: Unauthorized Response headers: +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 + ERROR [root] Command failed: execute_deploy_step, error: Malformed deploy_step, no "step" key: {} Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/clean.py", line 88, in execute_clean_step - raise errors.CleaningError(msg) -ironic_python_agent.errors.CleaningError: Clean step failed: Unexpected exception performing clean step erase_devices. RuntimeError: boom - WARNING [ironic_python_agent.inspector] Not all network interfaces received IP addresses in 1 seconds: ['em0'] - WARNING [ironic_python_agent.dmi_inspector] Failed to parse Handle type in dmi output: list index out of range - ERROR [ironic_python_agent.utils] Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/deploy.py", line 73, in execute_deploy_step + raise ValueError(msg) +ValueError: Malformed deploy_step, no "step" key: {} +ironic_python_agent.tests.unit.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 + ERROR [ironic_python_agent.utils] failed to run dmidecode: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images ... ok -ironic_python_agent.tests.unit.hardware_managers.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 - ERROR [ironic_python_agent.efi_utils] Could not configure UEFI boot on device /dev/fake: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boom' -Stderr: None +ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_write_rescue_password_ioerror +ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_write_rescue_password_ioerror ... ok +ironic_python_agent.tests.unit.test_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_standby.TestImageDownload.test_download_image_fail +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_fail ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_proxy +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_proxy ... ok +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_wholedisk +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_wholedisk ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_prep +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_prep ... 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.002895355224609375 seconds. Error: Received status code 500 from http://example.org, expected 200. Response body: Oops Response headers: + ERROR [ironic_python_agent.extensions.standby] Image failed to verify against checksum. location: /tmp/tmporobitns/fake_id; image ID: fake_id; image checksum: fake-checksum; verification checksum: invalid-checksum +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.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.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_errors.TestErrors.test_RESTError +ironic_python_agent.tests.unit.test_errors.TestErrors.test_RESTError ... 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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries ... ok +ironic_python_agent.tests.unit.extensions.test_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_image.TestImageExtension.test__install_bootloader_uefi +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi ... ok + WARNING [ironic_python_agent.extensions.standby] Unable to connect to http://example.org, retrying. Error: + ERROR [root] Failed to move file: /firmware_images/fw1.bin, + WARNING [ironic_python_agent.extensions.standby] Unable to connect to http://example.org, retrying. Error: Error downloading image: Download of image fake_id failed: Received status code 500 from http://example.org, expected 200. Response body: Response headers: + ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow +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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed ... ok +ironic_python_agent.tests.unit.hardware_managers.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_errors.TestErrors.test_RESTError_details +ironic_python_agent.tests.unit.test_errors.TestErrors.test_RESTError_details ... ok + ERROR [root] Clean version mismatch for command execute_deploy_step +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 + ERROR [root] Command failed: install_bootloader, error: meow Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/efi_utils.py", line 131, in manage_uefi - utils.execute('mount', efi_partition, efi_partition_mount_point) - File "", line 3, in execute + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/image.py", line 721, in install_bootloader + _install_grub2(device, + File "", line 3, in _install_grub2 File "/usr/lib/python3.12/unittest/mock.py", line 1137, in __call__ return self._mock_call(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -2597,24 +2903,148 @@ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/unittest/mock.py", line 1196, in _execute_mock_call raise effect -oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. +OSError: meow +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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file_not_found +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file_not_found ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries_success +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries_success ... 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_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_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_errors.TestErrors.test_error_classes +ironic_python_agent.tests.unit.test_errors.TestErrors.test_error_classes ... 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 ... ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow +ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_grub_failure_api_override +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_grub_failure_api_override ... ok +ironic_python_agent.tests.unit.extensions.test_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.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_get_nic_psid +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_get_nic_psid ... ok + ERROR [root] Failed to open URL data: HTTP Error 500: Internal Error +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http +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_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_errors.TestErrors.test_error_string +ironic_python_agent.tests.unit.test_errors.TestErrors.test_error_string ... ok + WARNING [root] Mismatched hardware managers versions. Agent version: {'specific': '1'}, node version: {'not_specific': '1'} +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_oslo_conf_user_pass_none +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_oslo_conf_user_pass_none ... ok +ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_with_args +ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_with_args ... ok +ironic_python_agent.tests.unit.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.test_mlnx.MlnxHardwareManager.test_detect_hardware_error +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_error ... ok + ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_memory +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_memory ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.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.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_no_cna_card_detected +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_no_cna_card_detected ... ok + ERROR [root] Failed to open URL data: +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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output ... ok +ironic_python_agent.tests.unit.extensions.test_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_dmi_inspector.TestCollectDmidecodeInfo.test_save_data +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data ... ok + WARNING [ironic_python_agent.dmi_inspector] Failed to process memory dmi data: 'Handle' +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.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_no_mlnx +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_no_mlnx ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure_api_override +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure_api_override ... ok + ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http_url_err +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http_url_err ... ok +ironic_python_agent.tests.unit.test_hardware.TestVersions.test_get_current_versions +ironic_python_agent.tests.unit.test_hardware.TestVersions.test_get_current_versions ... 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.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.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_dmi_inspector.TestCollectDmidecodeInfo.test_save_data_error_handle +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data_error_handle ... ok + WARNING [ironic_python_agent.dmi_inspector] Failed to process memory dmi data: 'Number Of Devices' +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 ... ERROR [root] duplicate settings for device ID 1017 +ok +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_image_location +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_image_location ... ok + ERROR [ironic_python_agent.utils] failed to run hardware-detect utility: Unexpected error while running command. Command: None Exit code: - -Stdout: 'boom' +Stdout: None Stderr: None - ERROR [ironic_python_agent.utils] failed to run dmidecode: Unexpected error while running command. +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_inspector.TestCollectExtraHardware.test_benchmarks +ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_benchmarks ... 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.standby] Failed to sync hardware clock: 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. + ERROR [ironic_python_agent.extensions.standby] Flushing file system buffers failed. Error: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None + WARNING [ironic_python_agent.extensions.standby] Failed to sync file system buffers: Command execution failed: Flushing file system buffers failed. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None + WARNING [ironic_python_agent.extensions.standby] poweroff command failed with error Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None, falling back to sysrq-trigger +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_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.TestNvidiaNicsConfig.test_create_settings_map_duplicate_device_id +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_duplicate_device_id ... ok + ERROR [root] There is no deviceID provided for this settings +ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_execute_failed +ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_execute_failed ... 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_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.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_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.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 [root] Command failed: power_off, error: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None. Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/utils.py", line 824, in sync_clock - execute('ntpdate', CONF.ntp_server) + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/standby.py", line 994, in _run_shutdown_command + utils.execute("echo o > /proc/sysrq-trigger", shell=True) File "", line 3, in execute File "/usr/lib/python3.12/unittest/mock.py", line 1137, in __call__ return self._mock_call(*args, **kwargs) @@ -2633,270 +3063,105 @@ During handling of the above exception, another exception occurred: Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/standby.py", line 1049, in _sync_clock - utils.sync_clock(ignore_errors=ignore_errors) - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/utils.py", line 831, in sync_clock - raise errors.CommandExecutionError(msg) -ironic_python_agent.errors.CommandExecutionError: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/standby.py", line 1010, in power_off self._run_shutdown_command('poweroff') - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/standby.py", line 969, in _run_shutdown_command - self._sync_clock(ignore_errors=True) - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/standby.py", line 1059, in _sync_clock - raise errors.ClockSyncError(msg) -ironic_python_agent.errors.ClockSyncError: Error syncing system clock: Failed to sync hardware clock: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - ERROR [root] Error performing clean step erase_devices -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/clean.py", line 77, in execute_clean_step - result = hardware.dispatch_to_managers(step['step'], node, ports, - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "", line 3, in dispatch_to_managers - File "/usr/lib/python3.12/unittest/mock.py", line 1137, in __call__ - return self._mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1141, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1196, in _execute_mock_call - raise effect -ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot - ERROR [root] Failed to set configuration of device , ['SRIOV_EN=20']: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets_bind_fail -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets_bind_fail ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_false -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_false ... ok + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/standby.py", line 998, in _run_shutdown_command + raise errors.SystemRebootError(e.exit_code, e.stdout, e.stderr) +ironic_python_agent.errors.SystemRebootError: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None. + ERROR [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.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] Clean version mismatch for command execute_deploy_step - ERROR [root] Command failed: execute_clean_step, error: Block device caused unknown error: I'm a teapot -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/clean.py", line 77, in execute_clean_step - result = hardware.dispatch_to_managers(step['step'], node, ports, - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "", line 3, in dispatch_to_managers - File "/usr/lib/python3.12/unittest/mock.py", line 1137, in __call__ - return self._mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1141, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1196, 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.TestCollectExtraHardware.test_no_benchmarks +ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_no_benchmarks ... ok +ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_gpt +ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_gpt ... ok + ERROR [root] Mismatch provided checksum a94e683ea16d9ae44768f0a65942234d for image http://10.10.10.10/firmware_images/fw1.bin +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.extensions.test_image.TestImageExtension.test__install_grub2 +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2 ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_power_off +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_power_off ... 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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_prepare_nvidia_nic_config +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_prepare_nvidia_nic_config ... ok ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_clean_steps ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_clean_steps ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images_duplicate_component_flavor_exception -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images_duplicate_component_flavor_exception ... ok - ERROR [ironic_python_agent.efi_utils] Could not configure UEFI boot on device /dev/fake: Unexpected error while running command. + 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 -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/efi_utils.py", line 185, in manage_uefi - _run_efibootmgr(valid_efi_bootloaders, efi_dev, efi_part, - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/efi_utils.py", line 351, in _run_efibootmgr - boot_records = list(get_boot_records()) - ^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/efi_utils.py", line 282, in get_boot_records - efi_output = utils.execute('efibootmgr', '-v', binary=True) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "", line 3, in execute - File "/usr/lib/python3.12/unittest/mock.py", line 1137, in __call__ - return self._mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1141, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1200, in _execute_mock_call - raise result -oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. +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 - ERROR [ironic_python_agent.efi_utils] Umounting efi system partition failed. Attempted 3 times. Error: Unexpected error while running command. + WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/dev. Error: Unexpected error while running command. Command: None Exit code: - -Stdout: 'no umount' +Stdout: 'boom' Stderr: None -ironic-python-agent: Copying configuration from /tmp/tmp6f2l2xfu/etc/ironic-python-agent to /etc/ironic-python-agent -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: Copying configuration from /tmp/tmp6f2l2xfu/etc/ironic-python-agent.d to /etc/ironic-python-agent.d - WARNING [root] Mismatched hardware managers versions. Agent version: {'specific': '1'}, node version: {'not_specific': '1'} - ERROR [root] Command failed: fake_async_command, error: An error occurred: failed -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.13.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 - ERROR [root] Malformed clean_step, no "step" key: {} - WARNING [ironic_python_agent.efi_utils] Invalid sgdisk line: I am a teaport - ERROR [root] Configuraiton ESWITCH_HAIRPIN_TOT_BUFFER_SIZE[8] for device is not supported with current fw -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 WARNING [ironic_python_agent.efi_utils] No UUID information provided in sgdisk output for partition 1 on device /dev/fake - ... ok - ERROR [root] Command failed: execute_clean_step, error: Malformed clean_step, no "step" key: {} -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/clean.py", line 74, in execute_clean_step - raise ValueError(msg) -ValueError: Malformed clean_step, no "step" key: {} - ERROR [root] Failed to move file: /firmware_images/fw1.bin, - ERROR [root] Configuraiton: UNSUPPORTED_PARAM is not supported by mstconfig, please update to the latest mstflint package. - 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.image] Unable to umount /tmp/fake-dir/proc. Error: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/efi_utils.py", line 185, in manage_uefi - _run_efibootmgr(valid_efi_bootloaders, efi_dev, efi_part, - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/efi_utils.py", line 351, in _run_efibootmgr - boot_records = list(get_boot_records()) - ^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/efi_utils.py", line 282, in get_boot_records - efi_output = utils.execute('efibootmgr', '-v', binary=True) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "", line 3, in execute - File "/usr/lib/python3.12/unittest/mock.py", line 1137, in __call__ - return self._mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1141, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1200, in _execute_mock_call - raise result -oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. + 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.disk_utils] Unable to get partition table type for device hello - ERROR [root] Rescue Operation failed when writing the hashed rescue password to the password file. Error -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/rescue.py", line 48, in write_rescue_password - with open(PASSWORD_FILE, 'w') as f: - ^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1137, in __call__ - return self._mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1141, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1196, in _execute_mock_call - raise effect -OSError -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info ... ok - WARNING [ironic_python_agent.disk_utils] Failed to check the device fake-dev with fuser: Unexpected error while running command. + WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/sys. Error: 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. +Stdout: 'boom' +Stderr: None +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_checksum +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_checksum ... ok + ERROR [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: 'fake' - WARNING [ironic_python_agent.dmi_inspector] Failed to process memory dmi data: 'Handle' - 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/tmpwpeyn93z/etc/ironic-python-agent to /etc/ironic-python-agent -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: Copying configuration from /tmp/tmpwpeyn93z/etc/ironic-python-agent.d to /etc/ironic-python-agent.d - ERROR [root] Command failed: prepare_image, error: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests! -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/standby.py", line 933, in prepare_image - _validate_partitioning(device) - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/standby.py", line 754, in _validate_partitioning - disk_utils.partprobe(device) - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/disk_utils.py", line 592, in partprobe - utils.execute('partprobe', device, attempts=attempts) - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/tests/unit/base.py", line 87, in do_not_call - raise Exception( -Exception: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests! -ironic_python_agent.tests.unit.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_netutils.TestNetutils.test_raw_promiscuous_sockets_exception -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets_exception ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_validate_images_schema -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_validate_images_schema ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_oslo_conf_user_pass_none -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_oslo_conf_user_pass_none ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_oslo_conf_user_pass_success -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_oslo_conf_user_pass_success ... ok - WARNING [ironic_python_agent.dmi_inspector] Failed to process memory dmi data: 'Number Of Devices' -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] Clean version mismatch for command execute_clean_step - ERROR [root] duplicate settings for device ID 1017 -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_netutils.TestNetutils.test_wrap_ipv6 -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_wrap_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 ... WARNING [ironic_python_agent.extensions.image] Falling back to fstab entry addition label of UUID. We could not identify which UUID or PARTUUID identifier label should be used, thus UUID will be used. - ERROR [root] Failed to open URL data: HTTP Error 500: Internal Error -ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status_missing -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status_missing ... ok - ERROR [root] There is no deviceID provided for this settings -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.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_in_cna_card -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_in_cna_card ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_default -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_default ... 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.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_ib_interface -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_ib_interface ... ok - ERROR [ironic_python_agent.utils] failed to run hardware-detect utility: Unexpected error while running command. +Stderr: None + ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None - ERROR [root] Failed to open URL data: - ERROR [ironic_python_agent.utils] Failed to sync time using chrony to ntp server: 192.168.1.1: Unexpected error while running command. +ironic_python_agent.tests.unit.test_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_disk_utils.GetPartitionTableTypeTestCase.test_msdos +ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_msdos ... ok + WARNING [ironic_python_agent.disk_utils] Unable to get partition table type for device hello +ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_correct_mac +ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_correct_mac ... ok + ERROR [root] The provided psid MT_0000000227 does not match the image psid MT_0000000228 +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.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.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info ... ok +ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_unknown +ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_unknown ... 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_inspector.TestNormalizeMac.test_pxelinux_mac +ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_pxelinux_mac ... ok + ERROR [root] Command failed: power_off, error: Error syncing system clock: Failed to sync hardware clock: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. Command: None Exit code: - Stdout: None -Stderr: 'time verboten' - ERROR [ironic_python_agent.agent] error sending heartbeat to +Stderr: None Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/agent.py", line 148, in do_heartbeat - self.api.heartbeat( + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/utils.py", line 824, in sync_clock + execute('ntpdate', CONF.ntp_server) + File "", line 3, in execute File "/usr/lib/python3.12/unittest/mock.py", line 1137, in __call__ return self._mock_call(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -2905,460 +3170,106 @@ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/unittest/mock.py", line 1196, in _execute_mock_call raise effect -Exception: uh oh! -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 [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. +oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None -ironic-python-agent: /tmp/tmpjt90u0i_/etc/ironic-python-agent not found -ironic-python-agent: /tmp/tmpjt90u0i_/etc/ironic-python-agent.d not found - ERROR [root] Encountered issue attempting to validate the supplied configuration drive. Error: Unexpected error while running command. + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/standby.py", line 1049, in _sync_clock + utils.sync_clock(ignore_errors=ignore_errors) + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/utils.py", line 831, 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: 'boom' +Stdout: None Stderr: None - WARNING [ironic_lib.utils] Failed to unlink /tmp/tmp9yo0ql3a/tmpum8em9t_, error: [Errno 21] Is a directory: '/tmp/tmp9yo0ql3a/tmpum8em9t_' - ERROR [ironic_python_agent.utils] Unable to sync clock, available methods of 'ntpdate' or 'chrony' not found. -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 - 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_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.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.extensions.test_standby.TestStandbyExtension.test_image_location -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_image_location ... ok -ironic-python-agent: No virtual media device detected -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 - 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_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 - WARNING [root] The root device was not detected in 27 seconds - ERROR [ironic_python_agent.inspector] inspector url error 400: , proceeding with lookup - WARNING [ironic_lib.utils] Failed to unlink /tmp/tmpksae9v6_/tmpzn4u2047, error: [Errno 21] Is a directory: '/tmp/tmpksae9v6_/tmpzn4u2047' -ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_notequal -ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_notequal ... ok -ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_all -ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_all ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_md5 -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_md5 ... ok -ironic-python-agent: Cannot use configuration from virtual media as the agent was not booted from virtual media. -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 - ERROR [ironic_python_agent.utils] foo -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 - ERROR [ironic_python_agent.utils] bar - ERROR [ironic_python_agent.utils] baz - ERROR [ironic_python_agent.utils] foo -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.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.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.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: 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_disk_utils.MakePartitionsTestCase.test_make_partitions -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions ... ok - ERROR [ironic_python_agent.utils] Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/standby.py", line 1010, in power_off + self._run_shutdown_command('poweroff') + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/standby.py", line 969, in _run_shutdown_command + self._sync_clock(ignore_errors=True) + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/standby.py", line 1059, in _sync_clock + raise errors.ClockSyncError(msg) +ironic_python_agent.errors.ClockSyncError: Error syncing system clock: Failed to sync hardware clock: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed ... ok -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed_on_second_command -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed_on_second_command ... ok -ironic_python_agent.tests.unit.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.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_sha256 -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_sha256 ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_fio -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_fio ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_smart_test -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_smart_test ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_unknown_extension -ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_unknown_extension ... 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.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_base.BlockExecuteTestCase.test_can_mock_execute -ironic_python_agent.tests.unit.test_base.BlockExecuteTestCase.test_can_mock_execute ... ok -ironic_python_agent.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute -ironic_python_agent.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute ... ok +ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test__heartbeat_expected +ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test__heartbeat_expected ... 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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_component_flavor +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_component_flavor ... ok +ironic_python_agent.tests.unit.test_hardware.TestHardwareManagerLoading.test_get_managers_detail +ironic_python_agent.tests.unit.test_hardware.TestHardwareManagerLoading.test_get_managers_detail ... 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.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_ib_interface +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_ib_interface ... ok +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_chronyd +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_chronyd ... ok + ERROR [root] The provided firmware version 20.34.1012 does not match image firmware version 20.35.1012 +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.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.TestListHardwareInfo.test_caching ironic_python_agent.tests.unit.test_hardware.TestListHardwareInfo.test_caching ... 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_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_inject_files.TestInjectOne.test_delete -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete ... 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 - WARNING [root] The root device was not detected in 45 seconds -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_success -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_success ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_power_off -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_power_off ... 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: line 1. -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 ... ironic-python-agent: line 2 message -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.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.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.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 - WARNING [ironic_lib.utils] Failed to unlink /tmp/tmp9_7mgf3q/tmpf622bx86, error: [Errno 21] Is a directory: '/tmp/tmp9_7mgf3q/tmpf622bx86' - WARNING [ironic_lib.utils] Failed to unlink /tmp/tmp9_7mgf3q/tmpf4ape0hr, error: [Errno 21] Is a directory: '/tmp/tmp9_7mgf3q/tmpf4ape0hr' - ERROR [ironic_python_agent.disk_utils] Unable to stat device /dev/disk/by-path/ip-1.2.3.4:5678-iscsi-iqn.fake-lun-9 after attempting to verify 2 times. - ERROR [root] Mismatch provided checksum a94e683ea16d9ae44768f0a65942234d for image http://10.10.10.10/firmware_images/fw1.bin -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_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_apply_configuration -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration ... 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_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_numa_inspector.TestCollectNumaTopologyInfo.test_collect_no_nics_dirs -ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_no_nics_dirs ... ok -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot ... 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.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 [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.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: Did not identify any virtual media candidates devices. -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 - WARNING [root] The root device was not detected in 27 seconds -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.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_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_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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data_no_data -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data_no_data ... ok -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_empty_command_map -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_empty_command_map ... ok -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_missing_command -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_missing_command ... ok - ERROR [root] The provided psid MT_0000000227 does not match the image psid MT_0000000228 -ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_timeout -ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_timeout ... 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.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.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_sha512 -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_sha512 ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration_no_delete -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration_no_delete ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_no_numa_dirs -ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_no_numa_dirs ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_success -ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_success ... ok -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_write_error -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_write_error ... ok -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_wrong_dir_path -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_wrong_dir_path ... ok -ironic_python_agent.tests.unit.test_disk_utils.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_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_efi_utils.TestManageUefi.test_clean_boot_records -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_clean_boot_records ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_empty_partition_by_uuid -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_empty_partition_by_uuid ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure ... ok -ironic_python_agent.tests.unit.test_disk_utils.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_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_base.TestExtensionDecorators.test_async_command_execution_failure -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_execution_failure ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_name -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_name ... ok -ironic_python_agent.tests.unit.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_disk_utils.OtherFunctionTestCase.test_block_uuid_fallback_to_uuid +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_block_uuid_fallback_to_uuid ... ok +ironic_python_agent.tests.unit.extensions.test_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_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_inspector.TestCollectLogs.test +ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test ... ok + WARNING [ironic_python_agent.inspector] failed to get system journal +ironic_python_agent.tests.unit.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.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.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step -ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step ... ok -ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_exception -ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_exception ... ok -ironic_python_agent.tests.unit.test_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_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_agent.TestHeartbeater.test__heartbeat_expected -ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test__heartbeat_expected ... 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_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.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed_with_reset -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed_with_reset ... ok -ironic_python_agent.tests.unit.extensions.test_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.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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_get_nic_psid -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_get_nic_psid ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_is_image_changed_true -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_is_image_changed_true ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output_no_data -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output_no_data ... ok -ironic_python_agent.tests.unit.extensions.test_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_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_service.TestServiceExtension.test_execute_service_step_with_args -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_with_args ... ok -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_get_service_steps -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_get_service_steps ... ok -ironic_python_agent.tests.unit.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_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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output_with_running_fw -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output_with_running_fw ... ok -ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_number -ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_number ... ok -ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_number_nvme -ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_number_nvme ... ok -ironic_python_agent.tests.unit.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.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_node_indicates_skip -ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_node_indicates_skip ... ok -ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_not_enabled -ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_not_enabled ... ok -ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_raises -ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_raises ... ok -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_failure -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_failure ... ok -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_ok -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_ok ... ok - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0006597042083740234 seconds. Error: Received status code 401 from http://example.org, expected 200. Response body: Unauthorized Response headers: -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_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_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions ... ok +ironic_python_agent.tests.unit.hardware_managers.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_standby.TestStandbyExtension.test_prepare_image ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image ... 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_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_utils.TestCopyConfigFromVmedia.test_copy -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy ... 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_disk_utils.GetPartitionTableTypeTestCase.test_gpt -ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_gpt ... 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.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_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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool_exception -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool_exception ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw_exception -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw_exception ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_set_config -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_set_config ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_set_config_exception -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_set_config_exception ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_broken -ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_broken ... ok -ironic_python_agent.tests.unit.extensions.test_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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_invalid -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_invalid ... ok -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_no_cna_card_detected -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_no_cna_card_detected ... ok -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_ephemeral -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_ephemeral ... ok -ironic_python_agent.tests.unit.extensions.test_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 -ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_with_args -ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_with_args ... ok -ironic_python_agent.tests.unit.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_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_inject_files.TestInjectOne.test_plain_content -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content ... 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_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_memory -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_memory ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_nvram -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_nvram ... ok -ironic_python_agent.tests.unit.test_hardware.TestVersions.test_get_current_versions -ironic_python_agent.tests.unit.test_hardware.TestVersions.test_get_current_versions ... 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.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_with_collect_lldp_disabled -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_with_collect_lldp_disabled ... ok -ironic_python_agent.tests.unit.test_inject_files.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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_fw -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_fw ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_mstflint_package -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_mstflint_package ... ok -ironic_python_agent.tests.unit.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_poll.TestPollExtension.test_set_node_info_success -ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_set_node_info_success ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_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_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_disk_utils.GetPartitionTableTypeTestCase.test_msdos -ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_msdos ... 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_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_base.TestExtensionDecorators.test_sync_command_execution_failure -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_execution_failure ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_name -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_name ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_success -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_success ... ok -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data ... ok - ERROR [root] We were unable to make a new filesystem for the configuration drive. Error: Unexpected error while running command. +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_inspector.TestCollectLogs.test_fail +ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test_fail ... 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 -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 - WARNING [ironic_lib.utils] Failed to unlink /tmp/tmp0m8z88rv/tmpvukwnnvu, error: [Errno 21] Is a directory: '/tmp/tmp0m8z88rv/tmpvukwnnvu' - WARNING [ironic_lib.utils] Failed to unlink /tmp/tmp0m8z88rv/tmp6wk1664o, error: [Errno 21] Is a directory: '/tmp/tmp0m8z88rv/tmp6wk1664o' -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_disk_utils.MakePartitionsTestCase.test_make_partitions_with_iscsi_device -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_iscsi_device ... ok -ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_finalize_rescue -ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_finalize_rescue ... ok -ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_hashed_passwords -ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_hashed_passwords ... ok -ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_tuple_result -ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_tuple_result ... ok -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_local_device -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_local_device ... ok -ironic_python_agent.tests.unit.test_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_utils.TestClockSyncUtils.test_determine_time_method_none -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_none ... ok -ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on -ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on ... ok -ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on_wrong_path -ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on_wrong_path ... ok -ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_empty -ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_empty ... ok -ironic_python_agent.tests.unit.test_inject_files.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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http ... ok -ironic_python_agent.tests.unit.test_disk_utils.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_inject_files.TestInjectFiles.test_empty -ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_empty ... ok -ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_write_rescue_password -ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_write_rescue_password ... ok -ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_write_rescue_password_ioerror -ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_write_rescue_password_ioerror ... ok -ironic_python_agent.tests.unit.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.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data_error_handle -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data_error_handle ... ok -ironic_python_agent.tests.unit.test_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_utils.TestCopyConfigFromVmedia.test_copy_mounted -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy_mounted ... 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.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_disk_utils.GetPartitionTableTypeTestCase.test_unknown -ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_unknown ... 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.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_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_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_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_efi_utils.TestManageUefi.test_found_csv -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_found_csv ... ok - ERROR [root] Command failed: install_bootloader, error: meow + WARNING [ironic_lib.utils] Failed to unlink /tmp/tmp7qet4q46/tmpifnq53gl, error: [Errno 21] Is a directory: '/tmp/tmp7qet4q46/tmpifnq53gl' +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_disk_utils.ListPartitionsTestCase.test_correct +ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_correct ... ok +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_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.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 + ERROR [ironic_python_agent.agent] error sending heartbeat to Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/image.py", line 721, in install_bootloader - _install_grub2(device, - File "", line 3, in _install_grub2 + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/agent.py", line 148, in do_heartbeat + self.api.heartbeat( File "/usr/lib/python3.12/unittest/mock.py", line 1137, in __call__ return self._mock_call(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -3367,305 +3278,324 @@ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/unittest/mock.py", line 1196, in _execute_mock_call raise effect -OSError: meow -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_with_collect_lldp_enabled -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_with_collect_lldp_enabled ... ok -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data_error_number_of_devices -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data_error_number_of_devices ... ok -ironic_python_agent.tests.unit.test_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_partition_utils.GetLabelledPartitionTestCases.test_get_partition_DeployFail_exc -ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_DeployFail_exc ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_wait_async_command_execution_failure -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_wait_async_command_execution_failure ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_wait_async_command_success -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_wait_async_command_success ... ok -ironic_python_agent.tests.unit.extensions.test_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.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.extensions.test_image.TestImageExtension.test__append_uefi_to_fstab_handles_error -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__append_uefi_to_fstab_handles_error ... ok -ironic_python_agent.tests.unit.extensions.test_standby.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_inspector.TestCollectExtraHardware.test_benchmarks -ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_benchmarks ... 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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http_err -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http_err ... ok -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_block_uuid -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_block_uuid ... ok +Exception: uh oh! +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_softraid_bios +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_softraid_bios ... ok +ironic_python_agent.tests.unit.test_hardware.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_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_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_api.TestIronicAPI.test_execute_agent_command_params_validation -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_params_validation ... ok -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_mounted_no_files -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_mounted_no_files ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_invalid_firmware_settings_config -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_invalid_firmware_settings_config ... ok -ironic_python_agent.tests.unit.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_disk_utils.GetDeviceInformationTestCase.test_normal -ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_normal ... 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_encoding.TestSerializable.test_baseclass_serialize -ironic_python_agent.tests.unit.test_encoding.TestSerializable.test_baseclass_serialize ... ok -ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_absent -ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_absent ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_configdrive -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_configdrive ... ok -ironic_python_agent.tests.unit.test_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_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_true -ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_true ... ok -ironic_python_agent.tests.unit.test_utils.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_inject_files.TestInjectFiles.test_ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_ok ... 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_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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http_url_err -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http_url_err ... ok -ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_execute_failed -ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_execute_failed ... 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.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_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_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_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.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_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_encoding.TestSerializable.test_childclass_serialize -ironic_python_agent.tests.unit.test_encoding.TestSerializable.test_childclass_serialize ... 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_agent.TestHeartbeater.test_heartbeat -ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test_heartbeat ... ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_verify_false -ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_verify_false ... ok -ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_no_benchmarks -ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_no_benchmarks ... 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 - 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_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_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_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.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_utils.TestCopyConfigFromVmedia.test_no_vmedia -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_vmedia ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_no_partition -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_no_partition ... ok -ironic_python_agent.tests.unit.test_disk_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.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.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_hardware.TestGenericHardwareManager.test_collect_lldp_data_netutils_exception -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data_netutils_exception ... ok + ERROR [ironic_python_agent.utils] Failed to sync time using chrony to ntp server: 192.168.1.1: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: 'time verboten' ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_failed ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_failed ... ok -ironic_python_agent.tests.unit.extensions.test_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_api.TestIronicAPI.test_execute_agent_command_success_with_false_wait -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_with_false_wait ... ok -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_vmedia_found_not_booted_from_vmedia -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_vmedia_found_not_booted_from_vmedia ... ok -ironic_python_agent.tests.unit.test_utils.TestFailures.test_get_error -ironic_python_agent.tests.unit.test_utils.TestFailures.test_get_error ... ok -ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_parsing_failed -ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_parsing_failed ... ok -ironic_python_agent.tests.unit.test_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_inspector.TestCallInspector.test_inspector_error -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_error ... 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.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_unknown_file -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_unknown_file ... ok -ironic_python_agent.tests.unit.test_utils.TestFailures.test_raise -ironic_python_agent.tests.unit.test_utils.TestFailures.test_raise ... 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_utils.TestClockSyncUtils.test_sync_clock_ntp -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp ... ok + WARNING [ironic_lib.utils] Failed to unlink /tmp/tmpez2dlycc/tmpn8b884iz, error: [Errno 21] Is a directory: '/tmp/tmpez2dlycc/tmpn8b884iz' + ERROR [root] Command failed: prepare_image, error: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests! +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/standby.py", line 933, in prepare_image + _validate_partitioning(device) + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/standby.py", line 754, in _validate_partitioning + disk_utils.partprobe(device) + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/disk_utils.py", line 592, in partprobe + utils.execute('partprobe', device, attempts=attempts) + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/tests/unit/base.py", line 87, in do_not_call + raise Exception( +Exception: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests! +ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_encoder +ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_encoder ... ok ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_wrong_partition_table ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_wrong_partition_table ... ok -ironic_python_agent.tests.unit.test_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.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 - 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: -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_agent.TestHeartbeater.test_heartbeat +ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test_heartbeat ... 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_utils.TestClockSyncUtils.test_sync_clock_chrony_failure +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_chrony_failure ... ok + ERROR [ironic_python_agent.utils] Unable to sync clock, available methods of 'ntpdate' or 'chrony' not found. +ironic_python_agent.tests.unit.test_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_encoding.TestEncoder.test_ironic_lib +ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_ironic_lib ... 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_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_work -ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_work 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: - ... ok - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0020294189453125 seconds. Error: Received status code 500 from http://example.org, expected 200. Response body: Oops Response headers: -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.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_hardware.TestGenericHardwareManager.test_create_configuration -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration ... ok -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi ... ok -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_with_true_wait -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_with_true_wait ... ok -ironic_python_agent.tests.unit.test_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_utils.TestClockSyncUtils.test_sync_clock_ntp_raises_exception -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp_raises_exception ... ok -ironic_python_agent.tests.unit.test_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_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_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_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.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_utils.TestCheckEarlyLogging.test_early_logging_goes_to_logger -ironic_python_agent.tests.unit.test_utils.TestCheckEarlyLogging.test_early_logging_goes_to_logger ... ok +ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_work ... 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_get_image_mb ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_get_image_mb ... ok + WARNING [ironic_lib.utils] Failed to unlink /tmp/tmpfilbymmr/tmpsmb4c3zk, error: [Errno 21] Is a directory: '/tmp/tmpfilbymmr/tmpsmb4c3zk' + 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_lib.utils] Failed to unlink /tmp/tmpfilbymmr/tmp3226nylv, error: [Errno 21] Is a directory: '/tmp/tmpfilbymmr/tmp3226nylv' +ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata +ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata ... ok +ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_incorrect_gpt +ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_incorrect_gpt ... 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_inject_files.TestFindAndMountPath.test_with_on_as_number +ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_number ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_configdrive +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_configdrive ... ok ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_attempts ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_attempts ... ok -ironic_python_agent.tests.unit.test_utils.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.GetAgentParamsTestCase.test__find_vmedia_device_by_labels_handles_exec_error -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels_handles_exec_error ... ok -ironic_python_agent.tests.unit.test_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_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.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.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.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. + WARNING [ironic_python_agent.extensions.image] Ignoring GRUB2 boot loader installation failure: Unexpected error while running command. +Command: grub2-install +Exit code: 1 +Stdout: '' +Stderr: 'grub2-install: error: this utility cannot be used for EFI platforms because it does not support UEFI Secure Boot.\n'. + WARNING [ironic_python_agent.extensions.image] Ignoring GRUB2 boot loader installation failure: Unexpected error while running command. +Command: grub2-install +Exit code: 1 +Stdout: '' +Stderr: 'grub2-install: error: this utility cannot be used for EFI platforms because it does not support UEFI Secure Boot.\n'. +ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_4096 +ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_4096 ... 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_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_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive ... ok - ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow -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_efi_utils.TestManageUefi.test_ok -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_ok ... 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 + 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_hardware.TestMultipathEnabled.test_enable_multipath_already_running +ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_already_running ... ok + ERROR [root] We were unable to make a new filesystem for the configuration drive. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None + WARNING [ironic_lib.utils] Failed to unlink /tmp/tmph6l1lbvb/tmpbr7d71fe, error: [Errno 21] Is a directory: '/tmp/tmph6l1lbvb/tmpbr7d71fe' + WARNING [ironic_lib.utils] Failed to unlink /tmp/tmph6l1lbvb/tmpdw8jdq5r, error: [Errno 21] Is a directory: '/tmp/tmph6l1lbvb/tmpdw8jdq5r' 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_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_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_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.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_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr -ironic_python_agent.tests.unit.test_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr ... 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_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_both_succeed -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_both_succeed ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_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.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__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_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_api.TestIronicAPI.test_execute_agent_command_with_token -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_with_token ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_software_raid -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_software_raid ... ok + WARNING [root] Attempted to invoke multipath utilities, but we encountered an error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'lacking kernel support' +Stderr: None +ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_number_nvme +ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_number_nvme ... ok +ironic_python_agent.tests.unit.test_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_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_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_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.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_utils.OtherFunctionTestCase.test_is_block_device_works ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_works ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.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_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr_no_bootloaders -ironic_python_agent.tests.unit.test_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr_no_bootloaders ... ok +ironic_python_agent.tests.unit.test_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 + WARNING [root] Attempted to invoke multipath utilities, but we encountered an error: +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_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.GetConfigdriveTestCase.test_get_configdrive_base64_error -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_base64_error ... 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.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.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_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 - WARNING [ironic_python_agent.extensions.standby] Unable to connect to http://example.org, retrying. Error: - WARNING [ironic_python_agent.extensions.standby] Unable to connect to http://example.org, retrying. Error: Error downloading image: Download of image fake_id failed: Received status code 500 from http://example.org, expected 200. Response body: Response headers: -ironic_python_agent.tests.unit.extensions.test_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 + 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_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr +ironic_python_agent.tests.unit.test_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr ... ok +ironic_python_agent.tests.unit.test_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_utils.TestClockSyncUtils.test_sync_clock_ntp_server_is_none +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp_server_is_none ... ok +ironic_python_agent.tests.unit.test_hardware.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_inject_files.TestFindAndMountPath.test_without_on +ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_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.TestMultipathEnabled.test_enable_multipath_mpathconf +ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_mpathconf ... 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_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr_no_bootloaders +ironic_python_agent.tests.unit.test_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr_no_bootloaders ... ok +ironic_python_agent.tests.unit.test_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_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_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.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. + WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' + WARNING [root] Device /dev/sda1 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda1' + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda1. Skipping + WARNING [ironic_python_agent.extensions.image] Falling back to fstab entry addition label of UUID. We could not identify which UUID or PARTUUID identifier label should be used, thus UUID will be used. + WARNING [root] Attempted to determine if multipath tools were present. Not detected. Error recorded: + WARNING [ironic_python_agent.inspector] no suitable root device detected +ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_no_multipath +ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_no_multipath ... ok +ironic_python_agent.tests.unit.test_disk_utils.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_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_prepare_image_raw_stream_true +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_raw_stream_true ... ok +ironic_python_agent.tests.unit.test_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.TestAdvertiseAddress.test_advertise_address_provided +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_advertise_address_provided ... ok + WARNING [root] The root device was not detected in 27 seconds + WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None + WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None + WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None + WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None + WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None +ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device +ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device ... 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: Device sdh was disqualified as virtual media. Type: other, Transport: usb +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_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_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 + ERROR [ironic_python_agent.extensions.image] Installing GRUB2 boot loader to device /dev/fake failed with Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'error' +Stderr: None. +ironic_python_agent.tests.unit.extensions.test_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.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_agent.TestAdvertiseAddress.test_route_failed +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_failed ... WARNING [root] The root device was not detected in 45 seconds +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_utils.TestCheckVirtualMedia.test_check_vmedia_device_other +ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_other ... ok +ironic-python-agent: Excluding device sdh1 from virtual mediaconsideration as it is a partition. + WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None + WARNING [ironic_python_agent.agent] No route to host 1.2.1.2, route record: Error: some error text +ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_ok +ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_ok ... 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_agent.TestFromConfig.test_override_urls +ironic_python_agent.tests.unit.test_agent.TestFromConfig.test_override_urls ... 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_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_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_configured +ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_configured ... ok + WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. + WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' + WARNING [root] Device /dev/sda1 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda1' + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda1. Skipping + WARNING [ironic_python_agent.extensions.image] Falling back to fstab entry addition label of UUID. We could not identify which UUID or PARTUUID identifier label should be used, thus UUID will be used. + WARNING [root] The root device was not detected in 27 seconds 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 [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow -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_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_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_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_generic_method_only -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_generic_method_only ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_wholedisk -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_wholedisk ... ok - WARNING [root] Attempted to invoke multipath utilities, but we encountered an error: Unexpected error while running command. +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_agent.TestAdvertiseAddress.test_route_retry +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_retry ... 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_inject_files.TestInjectFiles.test_empty +ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_empty ... ok + ERROR [root] Command failed: foo_command, error: command execution failed +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/tests/unit/test_agent.py", line 44, in foo_execute + raise EXPECTED_ERROR +RuntimeError: command execution failed + WARNING [ironic_python_agent.agent] Cannot get route to host fc00:1111::1: Unexpected error while running command. Command: None Exit code: - -Stdout: 'lacking kernel support' +Stdout: 'boom' Stderr: None -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.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_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_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.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure_api_override -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure_api_override ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_efi -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_efi ... ok - ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow -ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_lacking_support -ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_lacking_support ... ok - WARNING [root] Attempted to invoke multipath utilities, but we encountered an error: -ironic_python_agent.tests.unit.test_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_utils.GetAgentParamsTestCase.test__get_vmedia_params_by_device -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_by_device ... ok + WARNING [ironic_python_agent.agent] No route to host 1.2.1.2, route record: Error: some error text + WARNING [ironic_python_agent.agent] Cannot get route to host fc00:1111::1: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None +ironic_python_agent.tests.unit.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_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_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_no_fstab +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_no_fstab ... ok +ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_rom +ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_rom ... ok +ironic-python-agent: Device sdh was disqualified as virtual media. Type: disk, Transport: sata +ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_boot_only +ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_boot_only ... 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_agent.TestBaseAgent.test_async_command_failure +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_async_command_failure ... 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_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_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_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.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader ... ok +ironic-python-agent: Device sdh was disqualified as virtual media. Type: other, Transport: scsi +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_mainline_fails +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_mainline_fails ... ok +ironic_python_agent.tests.unit.test_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_inspector.TestWaitForDhcp.test_disabled +ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_disabled ... ok ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command. Command: None Exit code: - @@ -3686,24 +3616,11 @@ Exit code: - Stdout: None Stderr: None, falling back to sysrq-trigger -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_agent_status -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_agent_status ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestUpdatenvidiaNicFirmwareSettings.test_update_nvidia_nic_firmware_settings_exception -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestUpdatenvidiaNicFirmwareSettings.test_update_nvidia_nic_firmware_settings_exception ... ok -ironic_python_agent.tests.unit.test_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.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_manage_failure -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_manage_failure ... ok -ironic_python_agent.tests.unit.test_hardware.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.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_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_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_mainline_fails -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_mainline_fails ... ok -ironic_python_agent.tests.unit.test_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_inject_files.TestInjectFiles.test_invalid_type_on_node +ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_invalid_type_on_node ... ok + WARNING [ironic_python_agent.inspector] Not all network interfaces received IP addresses in 1 seconds: ['em0'] +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 ERROR [root] Command failed: run_image, error: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None. Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/standby.py", line 996, in _run_shutdown_command @@ -3734,24 +3651,29 @@ File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/standby.py", line 998, in _run_shutdown_command raise errors.SystemRebootError(e.exit_code, e.stdout, e.stderr) ironic_python_agent.errors.SystemRebootError: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None. -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_result -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_result ... 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_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_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_inject_files.TestFindPartitionWithPath.test_found -ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found ... 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: 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_inject_files.TestInjectFiles.test_ok +ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_ok ... ok +ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_timeout +ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_timeout ... 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_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 + WARNING [ironic_python_agent.extensions.image] Failed to copy grub.cfg file for EFI boot operation. Error copy failed + WARNING [ironic_python_agent.extensions.image] Failed to copy grub.cfg file for EFI boot operation. Error copy failed + WARNING [ironic_python_agent.extensions.image] Failed to copy grubenv file. Error: copy failed +ironic_python_agent.tests.unit.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.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_hardware.TestGenericHardwareManager.test_create_configuration_failure_with_nvme -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_failure_with_nvme ... ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_owner_and_group -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_owner_and_group ... ok -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_nonconfigured -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_nonconfigured ... ok +ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_too_large +ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_too_large ... 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 ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command. Command: None Exit code: - @@ -3772,125 +3694,190 @@ Exit code: - Stdout: None Stderr: None, falling back to sysrq-trigger -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_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 - 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. +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid ... ok +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_ip +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_ip ... 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.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 [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_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_api.TestIronicAPI.test_list_command_results -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_command_results ... ok -ironic_python_agent.tests.unit.test_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_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_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_hardware.TestGenericHardwareManager.test_create_configuration_force_gpt_with_disk_label -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_force_gpt_with_disk_label ... ok +ironic_python_agent.tests.unit.test_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.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_fails ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_fails ... ok -ironic_python_agent.tests.unit.test_utils.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.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_api.TestIronicAPI.test_not_found -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_not_found ... ok - WARNING [root] Attempted to determine if multipath tools were present. Not detected. Error recorded: -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_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.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_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_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.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_partition_utils.TestGetPartition.test_command_fail +ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_command_fail ... ok +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_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_api.TestIronicAPI.test_execute_agent_command_validation +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_validation ... ok ironic_python_agent.tests.unit.extensions.test_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_inject_files.TestInjectOne.test_url -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url ... 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' -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_root -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_root ... ok - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping - WARNING [root] Can't find field vendor for device sda in device class block - 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 -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 - WARNING [root] Can't find field vendor for device sdb in device class block -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 [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_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_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_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_partition_utils.TestGetPartition.test_fallback_partuuid +ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_fallback_partuuid ... 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_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_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_inject_files.TestInjectOne.test_delete +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete ... 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_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_agent.TestBaseAgent.test_get_node_uuid_unassociated +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid_unassociated ... ok +ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_label +ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_label ... ok + ERROR [root] No partition with UUID 11111111-2222-3333-4444-555555555555 found on device /dev/fake ironic_python_agent.tests.unit.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_raid_utils.TestFindESPRAID.test_esp_raid -ironic_python_agent.tests.unit.test_raid_utils.TestFindESPRAID.test_esp_raid ... ok -ironic_python_agent.tests.unit.test_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_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_inject_files.TestInjectOne.test_delete_not_exists +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete_not_exists ... ok + WARNING [root] Can't find field vendor for device lo in device class net WARNING [ironic_python_agent.extensions.standby] reboot command has been ignored, falling back to sysrq-trigger +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.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader_with_grubcfg +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader_with_grubcfg ... ok +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_with_token +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_with_token ... ok +ironic_python_agent.tests.unit.test_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.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_partition_utils.TestGetPartition.test_partuuid +ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_partuuid ... 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 +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_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_agent.TestBaseAgent.test_get_route_source_indexerror +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_indexerror ... ok + ERROR [root] Unexpected error dispatching unexpected_fail to manager : A problem was encountered +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/hardware.py", line 3448, in dispatch_to_all_managers + response = getattr(manager, method)(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 32, in wrapper + return fn(self, *args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 101, in unexpected_fail + raise RuntimeError('A problem was encountered') +RuntimeError: A problem was encountered +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_method_fails +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_method_fails ... ok + WARNING [root] Can't find field vendor for device lo in device class net + 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_api.TestIronicAPI.test_get_agent_status +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_agent_status ... ok +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_with_network_interface_failed +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_with_network_interface_failed ... ok +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_modes +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_modes ... ok + ERROR [ironic_python_agent.utils] collector failed: boom +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_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_base.BlockExecuteTestCase.test_can_mock_execute +ironic_python_agent.tests.unit.test_base.BlockExecuteTestCase.test_can_mock_execute ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_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_agent.TestBaseAgent.test_get_route_source_ipv4 +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv4 ... ok +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collector_failed +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collector_failed ... 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_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_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_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_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_api.TestIronicAPI.test_list_command_results +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_command_results ... ok +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_on +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_on ... ok +ironic_python_agent.tests.unit.test_disk_utils.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_api.TestIronicAPI.test_not_found +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_not_found ... 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 + 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.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_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_encoding.TestSerializableComparable.test_childclass_equal +ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_equal ... 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_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_api.TestIronicAPI.test_root +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_root ... 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_inspector.TestInspect.test_collectors_option +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collectors_option ... 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_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 + ERROR [ironic_python_agent.inspector] inspector url error 400: , proceeding with lookup +ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_notequal +ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_notequal ... ok +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url ... 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_prep -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_prep ... ok -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_vmedia -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_vmedia ... ok -ironic_python_agent.tests.unit.test_utils.TestRemoveKeys.test_remove_keys -ironic_python_agent.tests.unit.test_utils.TestRemoveKeys.test_remove_keys ... 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_disk_utils.GetDeviceInformationTestCase.test_empty +ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_empty ... ok +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url_formatting +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url_formatting ... ok +ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_fields +ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_fields ... 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.TestFindESPRAID.test_esp_raid +ironic_python_agent.tests.unit.test_raid_utils.TestFindESPRAID.test_esp_raid ... ok +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_mainline_method_only +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_mainline_method_only ... ok +ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_normal +ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_normal ... 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.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_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.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_disk_utils.PopulateImageTestCase.test_populate_raw_image_with_convert +ironic_python_agent.tests.unit.test_disk_utils.PopulateImageTestCase.test_populate_raw_image_with_convert ... 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 ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version @@ -3909,271 +3896,31 @@ File "/usr/lib/python3.12/unittest/mock.py", line 1196, in _execute_mock_call raise effect Exception: Boom -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_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_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_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_inspector.TestInspect.test_disabled +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_disabled ... ok +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_manager_method_not_found +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_manager_method_not_found ... ok ironic_python_agent.tests.unit.test_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_encoding.TestEncoder.test_encoder -ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_encoder ... ok -ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_ironic_lib -ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_ironic_lib ... ok + WARNING [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_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_fresh ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_fresh ... ok -ironic_python_agent.tests.unit.test_utils.TestUnmountOfConfig.test__unmount_any_config_drives -ironic_python_agent.tests.unit.test_utils.TestUnmountOfConfig.test__unmount_any_config_drives ... ok -ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_save_api_client -ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_save_api_client ... ok - ERROR [root] Unexpected error dispatching unexpected_fail to manager : A problem was encountered -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/hardware.py", line 3448, in dispatch_to_all_managers - response = getattr(manager, method)(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 32, in wrapper - return fn(self, *args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.13.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_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_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_method_fails -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_method_fails ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup ... 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_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_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_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 - WARNING [ironic_python_agent.ironic_api_client] Got invalid node data in response to query for node with addresses '00:0c:29:8c:11:b1,00:0c:29:8c:11:b2' from http://agent-api.ironic.example.org: {'heartbeat_timeout': 300} -ironic_python_agent.tests.unit.test_partition_utils.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_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_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_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_no_heartbeat_timeout -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_no_heartbeat_timeout ... ok -ironic_python_agent.tests.unit.extensions.test_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_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_hardware.TestGenericHardwareManager.test_create_configuration_mismatching_hints -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_mismatching_hints ... ok -POST: /v1/commands {'name': 'do_things', 'params': []} -GOT: -POST: /v1/commands {'name': 'do_things', 'params': {'key': 'value'}} -GOT: -POST: /v1/commands?wait=false {'name': 'do_things', 'params': {'key': 'value'}} -GOT: -POST: /v1/commands?wait=true {'name': 'do_things', 'params': {'key': 'value'}} -GOT: -POST: /v1/commands {} -GOT: -POST: /v1/commands?wait=false?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 {'name': 'do_things', 'params': {'key': 'value', 'wait': False, 'agent_token': '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789'}} -GOT: -POST: /v1/commands?wait=false?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 {'name': 'do_things', 'params': {'key': 'value', 'wait': False, 'agent_token': '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789'}} -GOT: -GET: /v1/status None -GOT: -GET: /v1/commands/abc123 None -GOT: -GET: /v1/commands None -GOT: -GET: /v1/foo None -GOT: -GET: / None -GOT: -GET: /v1 None -GOT: -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_gpt -ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_gpt ... 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_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_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_hardware.TestGenericHardwareManager.test_create_configuration_partitions_detected -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_partitions_detected ... ok - WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/md/esp using the install command which does not place Secure Boot signed binaries. - WARNING [ironic_python_agent.extensions.image] Ignoring GRUB2 boot loader installation failure: Unexpected error while running command. -Command: grub2-install -Exit code: 1 -Stdout: '' -Stderr: 'grub2-install: error: this utility cannot be used for EFI platforms because it does not support UEFI Secure Boot.\n'. - WARNING [ironic_python_agent.extensions.image] Ignoring GRUB2 boot loader installation failure: Unexpected error while running command. -Command: grub2-install -Exit code: 1 -Stdout: '' -Stderr: 'grub2-install: error: this utility cannot be used for EFI platforms because it does not support UEFI Secure Boot.\n'. -ironic_python_agent.tests.unit.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.extensions.test_image.TestImageExtension.test__install_grub2_softraid_uefi_gpt -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_softraid_uefi_gpt ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_raid_5 -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_raid_5 ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_raid_6 -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_raid_6 ... ok -ironic_python_agent.tests.unit.test_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_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_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.GetConfigdriveTestCase.test_get_configdrive_insecure -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_insecure ... 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.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_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_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_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 -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_agent.TestAdvertiseAddress.test_route_failed -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_failed ... 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_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_inspector.TestMisc.test_default_collector_loadable -ironic_python_agent.tests.unit.test_inspector.TestMisc.test_default_collector_loadable ... ok -ironic_python_agent.tests.unit.test_inspector.TestMisc.test_raise_on_wrong_collector -ironic_python_agent.tests.unit.test_inspector.TestMisc.test_raise_on_wrong_collector ... ok -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test__wait_for_interface -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test__wait_for_interface ... 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 1.2.1.2, route record: Error: some error text - ERROR [root] Failed to create config drive on disk /dev/fake for node 12345678-1234-1234-1234-1234567890abcxyz. Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_retry -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_retry ... 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_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_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_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 -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_multi_hardware.TestMultipleHardwareManagerLoading.test_mainline_method_only -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_mainline_method_only ... ok - WARNING [ironic_python_agent.agent] Cannot get route to host fc00:1111::1: Unexpected error while running command. + ERROR [ironic_python_agent.extensions.image] Installing GRUB2 boot loader to device /dev/fake failed with Unexpected error while running command. Command: None Exit code: - -Stdout: 'boom' -Stderr: None - WARNING [ironic_python_agent.agent] No route to host 1.2.1.2, route record: Error: some error text - 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_partition_utils.GetConfigdriveTestCase.test_get_configdrive_ssl -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_ssl ... WARNING [ironic_python_agent.agent] Cannot get route to host fc00:1111::1: Unexpected error while running command. +Stdout: 'error' +Stderr: None. + ERROR [ironic_python_agent.extensions.image] Umounting efi system partition failed. Attempted 3 times. Error: Unexpected error while running command. Command: None Exit code: - -Stdout: 'boom' +Stdout: 'error' Stderr: None -ok -/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/tests/unit/test_tls_utils.py:57: CryptographyDeprecationWarning: Properties that return a naïve datetime object have been deprecated. Please switch to not_valid_before_utc. - self.assertLess(cert.not_valid_before, -/build/reproducible-path/ironic-python-agent-9.13.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, - 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_with_hints -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_hints ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_409_status_code -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_409_status_code ... ok - WARNING [root] Device /dev/sda1 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda1' - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda1. Skipping - WARNING [ironic_python_agent.extensions.image] Falling back to fstab entry addition label of UUID. We could not identify which UUID or PARTUUID identifier label should be used, thus UUID will be used. -ironic_python_agent.tests.unit.test_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_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_tls_utils.GenerateTestCase.test__generate -ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test__generate ... 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_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_1 -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_1 ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_fstab -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_fstab ... 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 - ERROR [root] Command failed: foo_command, error: command execution failed -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.13.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_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_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_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_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_tls_utils.GenerateTestCase.test_generate -ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test_generate ... ok -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_gpt_disk_label -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_gpt_disk_label ... ok -ironic_python_agent.tests.unit.test_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_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_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__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 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 @@ -4233,7 +3980,7 @@ ^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 210, 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: @@ -4247,7 +3994,7 @@ File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 515, 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: @@ -4266,95 +4013,25 @@ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) -requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) +requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS -ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_ok -ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_ok ... 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 - WARNING [root] Failed to remove partitions on /dev/sda: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'No md superblock detected' -Stderr: None - WARNING [root] Failed to remove partitions on /dev/sdb: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'No md superblock detected' -Stderr: None -ironic_python_agent.tests.unit.test_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_agent.TestBaseAgentVMediaToken.test_run_agent_token_vmedia -ironic_python_agent.tests.unit.test_agent.TestBaseAgentVMediaToken.test_run_agent_token_vmedia ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration ... 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_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_several_urls -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_several_urls ... ok -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_async_command_success -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_async_command_success ... ok -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_root_partition -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_root_partition ... 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 - 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_multi_hardware.TestMultipleHardwareManagerLoading.test_manager_method_not_found -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_manager_method_not_found ... ok - ERROR [root] Unable to clean all softraid correctly. Remaining ['/dev/md0'] -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_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_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_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_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_agent.TestBaseAgent.test_get_node_uuid -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid ... ok -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_ppc64le_prep_part -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_ppc64le_prep_part ... 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_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_agent.TestBaseAgent.test_get_node_uuid_invalid_node -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid_invalid_node ... ok -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_preserve_ephemeral -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_preserve_ephemeral ... 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_partition_utils.WorkOnDiskTestCase.test_uefi -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_uefi ... ok - WARNING [root] Can't find field vendor for device lo in device class net -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_agent.TestBaseAgent.test_get_node_uuid_unassociated -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid_unassociated ... ok -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_with_network_interface -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_with_network_interface ... ok -ironic_python_agent.tests.unit.test_multi_hardware_clean_steps.TestMultipleHardwareManagerCleanSteps.test_clean_step_ordering -ironic_python_agent.tests.unit.test_multi_hardware_clean_steps.TestMultipleHardwareManagerCleanSteps.test_clean_step_ordering ... ok - WARNING [ironic_python_agent.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' -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 - 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.test_partition_utils.WorkOnDiskTestCase.test_without_image -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_without_image ... 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 [root] Unexpected error dispatching unexpected_fail to manager : A problem was encountered +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_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup ... 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_agent.TestBaseAgent.test_run +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run ... 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 + 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_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_image.TestImageExtension.test__is_bootloader_loaded +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded ... 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} + ERROR [root] Unexpected error dispatching unexpected_fail to manager : A problem was encountered Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/hardware.py", line 3492, in dispatch_to_managers return getattr(manager, method)(*args, **kwargs) @@ -4365,85 +4042,38 @@ File "/build/reproducible-path/ironic-python-agent-9.13.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.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_empty +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_empty ... ok +ironic_python_agent.tests.unit.test_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 + 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_bad_response_data +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_data ... ok ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_method_fails ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_method_fails ... 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_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_hardware.TestGenericHardwareManager.test_erase_block_device_ata_erase_disabled -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_erase_disabled ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestGetNextFreeRaidDevice.test_ok -ironic_python_agent.tests.unit.test_raid_utils.TestGetNextFreeRaidDevice.test_ok ... 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 - 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_inject_files.TestValidateFiles.test_content_and_deleted -ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_content_and_deleted ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_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_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_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_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_inject_files.TestValidateFiles.test_root_without_on -ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_root_without_on ... ok - WARNING [root] Failed to invoke secure erase, falling back to shred: Error erasing block device: An unknown error occurred erasing block device /dev/sda -ironic_python_agent.tests.unit.test_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_hardware.TestGenericHardwareManager.test_erase_block_device_ata_failed_continued -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_failed_continued ... ok -ironic_python_agent.tests.unit.test_inspector.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.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 - 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_agent.TestBaseAgent.test_get_route_source_ipv4 -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv4 ... ok -ironic_python_agent.tests.unit.test_hardware.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_agent.TestBaseAgent.test_get_route_source_ipv6 -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv6 ... 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 -ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_enabled -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_enabled ... ok -ironic_python_agent.tests.unit.test_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_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 - WARNING [ironic_python_agent.extensions.image] Failed to copy grub.cfg file for EFI boot operation. Error copy failed - WARNING [ironic_python_agent.extensions.image] Failed to copy grub.cfg file for EFI boot operation. Error copy failed - WARNING [ironic_python_agent.extensions.image] Failed to copy grubenv file. Error: copy failed -ironic_python_agent.tests.unit.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_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.TestGenericHardwareManager.test_erase_block_device_ata_security_unlock_fallback_pass -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_unlock_fallback_pass ... ok -ironic_python_agent.tests.unit.test_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 -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_success ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_ip6 -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_ip6 ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_token -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_token ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_verify_ca -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_verify_ca ... ok - WARNING [root] Unable to execute `smartctl` utility: boom -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_success_no_smartctl -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_success_no_smartctl ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nosecurity_shred -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nosecurity_shred ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_no_heartbeat_timeout +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_no_heartbeat_timeout ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_not_bootable +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_not_bootable ... ok +/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/tests/unit/test_tls_utils.py:57: CryptographyDeprecationWarning: Properties that return a naïve datetime object have been deprecated. Please switch to not_valid_before_utc. + self.assertLess(cert.not_valid_before, +/build/reproducible-path/ironic-python-agent-9.13.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.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_tls_utils.GenerateTestCase.test__generate +ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test__generate ... ok +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_cores_info +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_cores_info ... ok +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_memory_info +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_memory_info ... ok + 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_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.extensions.test_image.TestImageExtension.test__uefi_bootloader_find_partition +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_find_partition ... 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 @@ -4503,7 +4133,7 @@ ^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 210, 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: @@ -4517,7 +4147,7 @@ File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 515, 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: @@ -4536,28 +4166,64 @@ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 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_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_agent.TestBaseAgent.test_run -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader_with_grubcfg -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader_with_grubcfg ... ok -ironic_python_agent.tests.unit.test_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 - ERROR [root] nvme-cli did not return any supported format modes for device: /dev/nvme0n1 -ironic_python_agent.tests.unit.test_partition_utils.RealFilePartitioningTestCase.test_different_sizes -ironic_python_agent.tests.unit.test_partition_utils.RealFilePartitioningTestCase.test_different_sizes ... skipped "parted utility was not found: [Errno 2] No such file or directory: 'parted'" -ironic_python_agent.tests.unit.test_partition_utils.RealFilePartitioningTestCase.test_whole_disk -ironic_python_agent.tests.unit.test_partition_utils.RealFilePartitioningTestCase.test_whole_disk ... skipped "parted utility was not found: [Errno 2] No such file or directory: 'parted'" -ironic_python_agent.tests.unit.test_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_utils.ExecuteTestCase.test_execute -ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute ... 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 - WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. +ironic_python_agent.tests.unit.test_utils.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 + 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_inspector.TestInspect.test_inspector_error +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_inspector_error ... ok +ironic-python-agent: Did not identify any virtual media candidates devices. +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_node_locked +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_node_locked ... ok +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels_handles_exec_error +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels_handles_exec_error ... ok +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_agent_token +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_agent_token ... ok +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels_not_found +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels_not_found ... ok +ironic_python_agent.tests.unit.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.GetAgentParamsTestCase.test__get_vmedia_device +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_device ... 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_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_thread_dirs +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_thread_dirs ... ok + WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_transient_exceptions +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_transient_exceptions ... 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.extensions.test_image.TestImageExtension.test__uefi_bootloader_with_entry_removal +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_with_entry_removal ... ok +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params ... 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 [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_nics_info +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_nics_info ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_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.extensions.test_image.TestImageExtension.test__uefi_bootloader_with_entry_removal_lenovo +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_with_entry_removal_lenovo ... ok + WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. + WARNING [ironic_python_agent.extensions.image] efibootmgr is not available in the ramdisk +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format ... ok +ironic_python_agent.tests.unit.test_utils.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_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 + ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_mdns +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_mdns ... 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 @@ -4617,7 +4283,7 @@ ^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 210, 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: @@ -4631,7 +4297,7 @@ File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 515, 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: @@ -4650,28 +4316,112 @@ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 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_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_userdata_success -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_userdata_success ... ok -ironic_python_agent.tests.unit.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_agent.TestBaseAgent.test_run_agent_token -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_agent_token ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_0_pass_no_zeroize -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_0_pass_no_zeroize ... ok - ERROR [root] Erasing block device /dev/sda failed with error -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_fail_oserror -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_fail_oserror ... ok - ERROR [root] Erasing block device /dev/sda failed with error Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_fail_processerror -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_fail_processerror ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_uses_internal_info -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_uses_internal_info ... ok +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 + ERROR [root] Command failed: install_bootloader, error: +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/image.py", line 721, in install_bootloader + _install_grub2(device, + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/image.py", line 167, in _install_grub2 + root_partition = partition_utils.get_partition(device, uuid=root_uuid) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/partition_utils.py", line 610, in get_partition + ipa_utils.rescan_device(device) + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/utils.py", line 920, in rescan_device + execute('partx', '-av', device, attempts=3, delay_on_retry=True) + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/utils.py", line 76, in execute + return ironic_utils.execute(*cmd, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 3, in do_not_call + File "/usr/lib/python3.12/unittest/mock.py", line 1137, in __call__ + return self._mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1141, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1196, in _execute_mock_call + raise effect +FileNotFoundError +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_agent.TestBaseAgent.test_run_listen_host_port +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_listen_host_port ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test_install_bootloader_failure +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test_install_bootloader_failure ... 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_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_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_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_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_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_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_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_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_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_protocol +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_protocol ... ok +ironic_python_agent.tests.unit.test_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_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_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_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_1 +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_1 ... ok +ironic_python_agent.tests.unit.test_utils.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_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_2 +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_2 ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_3 +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_3 ... ok + WARNING [root] No hardware manager was able to handle interface foobar +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_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_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_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_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_threaddir_format_cores_info +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_threaddir_format_cores_info ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_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_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_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_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_node +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_node ... WARNING [root] Cannot find detailed information about interface eth0 +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_inspector.TestInspect.test_ok +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_ok ... ok +ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_true +ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_true ... ok +ironic_python_agent.tests.unit.test_utils.TestRemoveKeys.test_remove_keys +ironic_python_agent.tests.unit.test_utils.TestRemoveKeys.test_remove_keys ... ok 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 @@ -4731,7 +4481,7 @@ ^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 210, 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: @@ -4745,7 +4495,7 @@ File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 515, 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: @@ -4764,21 +4514,39 @@ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) -requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) - WARNING [ironic_python_agent.agent] Ironic does not support automated TLS -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_listen_host_port -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_listen_host_port ... ok - 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] Refusing to permit ATA Secure Erase as direct ATA commands via the `smartctl` utility with device /dev/sda do not succeed. -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_smartctl_fails_security_fallback_to_shred -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_smartctl_fails_security_fallback_to_shred ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_preserve_failure -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_preserve_failure ... ok -ironic_python_agent.tests.unit.test_hardware.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 - 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. +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_hardware.TestListNetworkInterfaces.test_list_network_interfaces_no_carrier +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_no_carrier WARNING [ironic_python_agent.agent] Ironic does not support automated TLS + ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_fallback_bios +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_fallback_bios ... ok +ironic_python_agent.tests.unit.test_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_agent.TestBaseAgent.test_run_raise_keyboard_interrupt +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_raise_keyboard_interrupt ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_fallback_uefi +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_fallback_uefi ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_driver_internal_info +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_driver_internal_info ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_dict +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_dict ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_json_str +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_json_str ... ok + WARNING [root] Cannot find detailed information about interface eth0 +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_biosdevname +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_biosdevname ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_str +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_str ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_implicit_with_secure_boot +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_implicit_with_secure_boot ... ok + WARNING [root] Cannot find detailed information about interface bond0 +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_inspector.TestInspect.test_ok_with_ironic_url +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_ok_with_ironic_url ... ok + WARNING [root] Can't find field vendor for device lo in device class net ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve @@ -4838,7 +4606,7 @@ ^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 210, 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: @@ -4852,7 +4620,7 @@ File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 515, 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: @@ -4871,32 +4639,100 @@ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) -requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) +requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_raise_keyboard_interrupt -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_raise_keyboard_interrupt ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_preserve_failure2 -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_preserve_failure2 ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_concurrency -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_concurrency ... ok - WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. - ERROR [ironic_python_agent.extensions.image] Installing GRUB2 boot loader to device /dev/fake failed with Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'error' -Stderr: None. - ERROR [ironic_python_agent.extensions.image] Umounting efi system partition failed. Attempted 3 times. Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'error' -Stderr: None -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_umount_fails -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_umount_fails ... ok +ironic_python_agent.tests.unit.test_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_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_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_utils.TestUtils.test_collect_system_logs_journald +ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_journald ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_journald_with_logfile +ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_journald_with_logfile ... ok + WARNING [root] Cannot find detailed information about interface eth0 +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.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_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_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.TestUtils.test_collect_system_logs_non_journald_with_logfile +ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_non_journald_with_logfile ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_device_extractor +ironic_python_agent.tests.unit.test_utils.TestUtils.test_device_extractor ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_dict +ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_dict ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_json_string +ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_json_string ... ok + 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_old_format_caps +ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_old_format_caps ... ok + WARNING [root] Cannot find detailed information about interface eth0 + ERROR [ironic_lib.exception] Exception in string format operation (arguments ) +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/ironic_lib/exception.py", line 134, in __init__ + message = self._msg_fmt % kwargs + ~~~~~~~~~~~~~~^~~~~~~~ +KeyError: 'service' +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp_error +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp_error ... ok + WARNING [ironic_python_agent.agent] Could not get baremetal endpoint from mDNS, will not heartbeat +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 WARNING [root] Can't find field vendor for device lo in device class net -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_empty -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_empty ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_fail +ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_fail ... ok + 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_with_lines +ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_with_lines ... ok + WARNING [root] Cannot find detailed information about interface eth0 +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.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_utils.TestUtils.test_get_ssl_client_options +ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_ssl_client_options ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_timeout +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_timeout ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_disks_too_small +ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_disks_too_small ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_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_utils.TestUtils.test_guess_root_disk_primary_sort +ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_primary_sort ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_token +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_token ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_verify_ca +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_verify_ca ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_secondary_sort +ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_secondary_sort ... ok + WARNING [root] Cannot find detailed information about interface eth0 +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 + WARNING [root] Cannot find detailed information about interface eth0.100 +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_is_journalctl_present +ironic_python_agent.tests.unit.test_utils.TestUtils.test_is_journalctl_present ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_is_journalctl_present_false +ironic_python_agent.tests.unit.test_utils.TestUtils.test_is_journalctl_present_false ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_secure_boot_overriden_with_instance_info_caps +ironic_python_agent.tests.unit.test_utils.TestUtils.test_secure_boot_overriden_with_instance_info_caps ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type +ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_disk_label_ignored_with_uefi +ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_disk_label_ignored_with_uefi ... ok 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 @@ -4956,7 +4792,7 @@ ^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 210, 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: @@ -4970,7 +4806,7 @@ File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 515, 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: @@ -4989,95 +4825,78 @@ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 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.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_agent.TestBaseAgent.test_run_with_inspection -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_inspection ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_uefi_mode -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_uefi_mode ... ok - WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_find_partition -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_find_partition ... ok - WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. -ironic_python_agent.tests.unit.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.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_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_with_disk_label +ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_with_disk_label ... ok + WARNING [root] Cannot find detailed information about interface eth0 + WARNING [root] Cannot find detailed information about interface eth0.100 +ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_with_instance_disk_label +ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_with_instance_disk_label ... ok + WARNING [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 +POST: /v1/commands {'name': 'do_things', 'params': []} +GOT: +POST: /v1/commands {'name': 'do_things', 'params': {'key': 'value'}} +GOT: +POST: /v1/commands?wait=false {'name': 'do_things', 'params': {'key': 'value'}} +GOT: +POST: /v1/commands?wait=true {'name': 'do_things', 'params': {'key': 'value'}} +GOT: +POST: /v1/commands {} +GOT: +POST: /v1/commands?wait=false?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 {'name': 'do_things', 'params': {'key': 'value', 'wait': False, 'agent_token': '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789'}} +GOT: +POST: /v1/commands?wait=false?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 {'name': 'do_things', 'params': {'key': 'value', 'wait': False, 'agent_token': '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789'}} +GOT: +GET: /v1/status None +GOT: +GET: /v1/commands/abc123 None +GOT: +GET: /v1/commands None +GOT: +GET: /v1/foo None +GOT: +GET: / None +GOT: +GET: /v1 None +GOT: + 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 +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_agent.TestBaseAgent.test_run_with_ssl +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_ssl ... ok + WARNING [root] Cannot find detailed information about interface eth0 +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 ERROR [ironic_lib.exception] Exception in string format operation (arguments ) Traceback (most recent call last): File "/usr/lib/python3/dist-packages/ironic_lib/exception.py", line 134, in __init__ message = self._msg_fmt % kwargs ~~~~~~~~~~~~~~^~~~~~~~ KeyError: 'service' - WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. WARNING [ironic_python_agent.agent] Could not get baremetal endpoint from mDNS, will not heartbeat -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.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_inject_files.TestFindPartitionWithPath.test_found +ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found ... ok WARNING [root] Can't find field vendor for device lo in device class net + ERROR [ironic_python_agent.agent] Neither ipa-api-url nor inspection_callback_urlfound, please check your pxe append parameters. WARNING [ironic_python_agent.agent] Ironic does not support automated TLS - 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_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_agent.TestBaseAgent.test_run_with_inspection_without_apiurl -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_inspection_without_apiurl ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_with_entry_removal_lenovo -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_with_entry_removal_lenovo ... ok - WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. - WARNING [ironic_python_agent.extensions.image] efibootmgr is not available in the ramdisk - ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error -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 - ERROR [root] Command failed: install_bootloader, error: -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/image.py", line 721, in install_bootloader - _install_grub2(device, - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/extensions/image.py", line 167, in _install_grub2 - root_partition = partition_utils.get_partition(device, uuid=root_uuid) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/partition_utils.py", line 610, in get_partition - ipa_utils.rescan_device(device) - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/utils.py", line 920, in rescan_device - execute('partx', '-av', device, attempts=3, delay_on_retry=True) - File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/utils.py", line 76, in execute - return ironic_utils.execute(*cmd, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "", line 3, in do_not_call - File "/usr/lib/python3.12/unittest/mock.py", line 1137, in __call__ - return self._mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1141, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.12/unittest/mock.py", line 1196, in _execute_mock_call - raise effect -FileNotFoundError -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test_install_bootloader_failure -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test_install_bootloader_failure ... ok -ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_custom_attempts -ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_custom_attempts ... ok - WARNING [ironic_python_agent.disk_utils] Failed to verify partition tables on device /dev/fake: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None -ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_fails -ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_fails ... ok -ironic_python_agent.tests.unit.test_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_disk_utils.TriggerDeviceRescanTestCase.test_trigger -ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_trigger ... ok - ERROR [root] Failed to erase the metadata on device "/dev/sdb". Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'Booo00000ooommmmm' -Stderr: None -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata_error -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata_error ... ok +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_without_inspection_and_apiurl +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_without_inspection_and_apiurl ... ok +ironic_python_agent.tests.unit.test_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 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 @@ -5137,7 +4956,7 @@ ^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 210, in _new_conn raise NameResolutionError(self.host, self, e) from e -urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) +urllib3.exceptions.NameResolutionError: : Failed to resolve 'example.com' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: @@ -5151,7 +4970,7 @@ File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 515, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) +urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='example.com', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'example.com' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: @@ -5170,38 +4989,10 @@ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) -requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) +requests.exceptions.ConnectionError: HTTPSConnectionPool(host='example.com', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'example.com' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_sleep -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_sleep ... 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.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_agent.TestBaseAgent.test_run_with_ssl -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_ssl ... ok -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collectors_option -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collectors_option ... 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 ERROR [ironic_lib.exception] Exception in string format operation (arguments ) -Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/ironic_lib/exception.py", line 134, in __init__ - message = self._msg_fmt % kwargs - ~~~~~~~~~~~~~~^~~~~~~~ -KeyError: 'service' - ... 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. - WARNING [ironic_python_agent.agent] Ironic does not support automated TLS -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_without_inspection_and_apiurl -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_without_inspection_and_apiurl ... ok -ironic_python_agent.tests.unit.test_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_agent.TestBaseAgent.test_url_from_mdns_by_default +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_url_from_mdns_by_default ... ok ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve @@ -5261,7 +5052,7 @@ ^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 210, 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: @@ -5275,7 +5066,7 @@ File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 515, 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: @@ -5294,23 +5085,55 @@ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) -requests.exceptions.ConnectionError: HTTPSConnectionPool(host='example.com', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'example.com' ([Errno -2] Name or service not known)")) +requests.exceptions.ConnectionError: HTTPSConnectionPool(host='example.com', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'example.com' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_url_from_mdns_by_default -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_url_from_mdns_by_default ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default_protected_device -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default_protected_device ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_without_disk -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_without_disk ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_pstore -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_pstore ... ok -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_inspector_error -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_inspector_error ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_ok ... ok - WARNING [root] Executable 'biosdevname' not found -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_oserror -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_oserror ... ok +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_url_from_mdns_explicitly +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_url_from_mdns_explicitly ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status ... ok + ERROR [ironic_python_agent.burnin] SMART test on /dev/sdj failed with 'string' +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status_missing +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status_missing ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_default +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_default ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_default +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_default ... ok + ERROR [ironic_python_agent.burnin] fio (disk) failed with error Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_fio +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_fio ... ok +ironic_python_agent.tests.unit.test_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_multi_hardware.TestNoHardwareManagerLoading.test_no_managers_found +ironic_python_agent.tests.unit.test_multi_hardware.TestNoHardwareManagerLoading.test_no_managers_found ... ok + WARNING [ironic_python_agent.numa_inspector] Failed to get some NUMA information (Error in NUMA node data format: An unexpected error occurred. Please try back later.) +ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_failure +ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_failure ... ok + WARNING [ironic_python_agent.numa_inspector] Failed to get some NUMA information (Error in NUMA node data format: An unexpected error occurred. Please try back later.) +ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_no_nics_dirs +ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_no_nics_dirs ... ok + WARNING [ironic_python_agent.numa_inspector] Failed to get list of NUMA nodes, NUMA node path does not exist: /sys/devices/system/node/ +ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_no_numa_dirs +ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_no_numa_dirs ... ok +ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_success +ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_success ... ok +ironic-python-agent: line 1. +ironic-python-agent: line 2 message +ironic_python_agent.tests.unit.test_utils.TestCheckEarlyLogging.test_early_logging_goes_to_logger +ironic_python_agent.tests.unit.test_utils.TestCheckEarlyLogging.test_early_logging_goes_to_logger ... ok +ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_ok +ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_ok ... ok +ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run +ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run ... 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.TestStreamingClient.test_retries +ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_retries ... 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 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 @@ -5370,7 +5193,7 @@ ^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 210, in _new_conn raise NameResolutionError(self.host, self, e) from e -urllib3.exceptions.NameResolutionError: : Failed to resolve 'example.com' ([Errno -2] Name or service not known) +urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: @@ -5384,7 +5207,7 @@ File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 515, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='example.com', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'example.com' ([Errno -2] Name or service not known)")) +urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: @@ -5403,30 +5226,238 @@ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) -requests.exceptions.ConnectionError: HTTPSConnectionPool(host='example.com', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'example.com' ([Errno -2] Name or service not known)")) +requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_url_from_mdns_explicitly -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_url_from_mdns_explicitly ... ok -ironic_python_agent.tests.unit.test_agent.TestFromConfig.test_override_urls -ironic_python_agent.tests.unit.test_agent.TestFromConfig.test_override_urls ... ok -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata ... ok -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_4096 -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_4096 ... ok -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_ebr -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_ebr ... ok -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_sgdisk_fail -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_sgdisk_fail ... ok -ironic_python_agent.tests.unit.test_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_agent.TestBaseAgentVMediaToken.test_run_agent_token_vmedia +ironic_python_agent.tests.unit.test_agent.TestBaseAgentVMediaToken.test_run_agent_token_vmedia ... 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_hardware.TestGenericHardwareManager.test__ata_erase_security_enabled_set_password_exception +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_enabled_set_password_exception ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_enabled_unlock_exception +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_enabled_unlock_exception ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_erase_exec_exception +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_erase_exec_exception ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__find_pstore_mount_point +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__find_pstore_mount_point ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__find_pstore_mount_point_no_pstore +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__find_pstore_mount_point_no_pstore ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__get_device_info +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__get_device_info ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__get_md_uuid +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__get_md_uuid ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_linux_raid_member +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_linux_raid_member ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_linux_raid_member_false +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_linux_raid_member_false ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device ... ok + WARNING [root] Could not determine if /dev/sdfake is aread-only device. Error: +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_error +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_error ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_false +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_false ... ok + WARNING [root] Could not determine if /dev/sdfake1 is aread-only device. Error: +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_partition_error +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_partition_error ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_partition_ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_partition_ok ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_exists +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_exists ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_exists_no_match +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_exists_no_match ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_path_doesnt_exist +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_path_doesnt_exist ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration_no_delete +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration_no_delete ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_steps_exist +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_steps_exist ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_invalid +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_invalid ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_nvram +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_nvram ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_nvram_defaults +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_nvram_defaults ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data_decode_exception +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data_decode_exception ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data_netutils_exception +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data_netutils_exception ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures_raid5 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures_raid5 ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures_raid6 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures_raid6 ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_efi +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_efi ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_empty_target_raid_config +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_empty_target_raid_config ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_failure_with_nvme +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_failure_with_nvme ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_force_gpt_with_disk_label +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_force_gpt_with_disk_label ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_invalid_hints +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_invalid_hints ... ok + WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' + WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping + WARNING [root] Can't find field vendor for device sda in device class block + 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 + 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_hardware.TestGenericHardwareManager.test_create_configuration_mismatching_hints +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_mismatching_hints ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_no_max +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_no_max ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_partitions_detected +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_partitions_detected ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_raid_5 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_raid_5 ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_raid_6 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_raid_6 ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_skip_list_existing_device_does_not_match +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_skip_list_existing_device_does_not_match ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_complete_skip_list +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_complete_skip_list ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_hints +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_hints ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_nvme +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_nvme ... ok + WARNING [root] Failed to remove partitions on /dev/sda: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'No md superblock detected' +Stderr: None + WARNING [root] Failed to remove partitions on /dev/sdb: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'No md superblock detected' +Stderr: None +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration ... ok + ERROR [root] Unable to clean all softraid correctly. Remaining ['/dev/md0'] +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_failure_blocks_remaining +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_failure_blocks_remaining ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_partition +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_partition ... ok + WARNING [root] RAID device /dev/md1 will not be deleted + WARNING [root] Software RAID device /dev/md1 is not going to be deleted as its volume name - small - is on the skip list + WARNING [root] Software RAID device /dev/md1 was not deleted + WARNING [root] Holder disk /dev/sda contains logical disk on the skip list. Deleting just partitions: ['1'] + WARNING [root] Holder disk /dev/sdb contains logical disk on the skip list. Deleting just partitions: ['1'] +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_skip_list +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_skip_list ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_deploy_steps_exist +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_deploy_steps_exist ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_erase_disabled +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_erase_disabled ... ok + ERROR [root] Failed to invoke secure erase, fallback to shred is not enabled: Error erasing block device: An unknown error occurred erasing block device /dev/sda +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_failed +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_failed ... ok + WARNING [root] Failed to invoke secure erase, falling back to shred: Error erasing block device: An unknown error occurred erasing block device /dev/sda +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_failed_continued +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_failed_continued ... ok + ERROR [root] Failed to invoke secure erase, fallback to shred is not enabled: Error erasing block device: Block device /dev/sda is frozen and cannot be erased +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_frozen +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_frozen ... ok + ERROR [root] Failed to invoke secure erase, fallback to shred is not enabled: Error erasing block device: Block device /dev/sda already has a security password set +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_enabled +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_enabled ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_enabled_unlock_attempt +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_enabled_unlock_attempt ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_unlock_fallback_pass +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_unlock_fallback_pass ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_success +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_success ... ok + WARNING [root] Unable to execute `smartctl` utility: boom +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_success_no_smartctl +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_success_no_smartctl ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nosecurity_shred +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nosecurity_shred ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_notsupported_shred +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_notsupported_shred ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_crypto_success +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_crypto_success ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_failed +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_failed ... ok + ERROR [root] nvme-cli did not return any supported format modes for device: /dev/nvme0n1 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_format_unsupported +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_format_unsupported ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_userdata_success +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_userdata_success ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_0_pass_no_zeroize +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_0_pass_no_zeroize ... ok + ERROR [root] Erasing block device /dev/sda failed with error +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_fail_oserror +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_fail_oserror ... ok + ERROR [root] Erasing block device /dev/sda failed with error Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_fail_processerror +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_fail_processerror ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_uses_internal_info +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_uses_internal_info ... ok + WARNING [root] Refusing to permit ATA Secure Erase as direct ATA commands via the `smartctl` utility with device /dev/sda do not succeed. +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_smartctl_fails_security_fallback_to_shred +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_smartctl_fails_security_fallback_to_shred ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_smartctl_unsupported_shred +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_smartctl_unsupported_shred ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_virtual_media +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_virtual_media ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_concurrency +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_concurrency ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_concurrency_pool_size +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_concurrency_pool_size ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_express +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_express ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_express_stops_on_safety_failure +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_express_stops_on_safety_failure ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata ... ok + ERROR [root] Failed to erase the metadata on device "/dev/sdb". Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'Booo00000ooommmmm' +Stderr: None +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata_error +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata_error ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata_safety_check +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata_safety_check ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default_protected_device +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default_protected_device ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_without_disk +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_without_disk ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_pstore +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_pstore ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_ok ... ok + WARNING [root] Executable 'biosdevname' not found +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_oserror +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_oserror ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err3 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err3 ... ok -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_mdns -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_mdns ... 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 @@ -5449,8 +5480,6 @@ 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_inspector.TestInspect.test_ok -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_ok ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_random_error ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_random_error ... ok WARNING [root] Cannot get BMC address: Unexpected error while running command. @@ -5482,8 +5511,6 @@ WARNING [root] Invalid ipmitool output ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_not_available ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_not_available ... ok -ironic_python_agent.tests.unit.test_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_hardware.TestGenericHardwareManager.test_get_bmc_mac_random_error ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_random_error ... ok WARNING [root] Cannot get BMC MAC address: Unexpected error while running command. @@ -5607,7 +5634,7 @@ WARNING [root] Can't find field vendor for device dm-0 in device class block ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device ... ok - WARNING [root] Using hint {'vendor': 'basic vendor'} skipping devices: /dev/sda,/dev/sdb + WARNING [root] Using hint {'vendor': 'basic vendor'} skipping devices: /dev/sdb,/dev/sda 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' @@ -5658,21 +5685,205 @@ WARNING [root] Can't find field vendor for device md0 in device class block ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_raid ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_raid ... ok + ERROR [ironic_python_agent.extensions.standby] Timeout reached waiting for a chunk of data from a remote server. +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_socket_read_timeout +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_socket_read_timeout ... ok + WARNING [ironic_python_agent.extensions.standby] Image download failed, 0 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! + WARNING [ironic_python_agent.extensions.standby] Image download failed, 1 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_by_path ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_by_path ... ok + 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 + ERROR [ironic_python_agent.extensions.standby] Flushing file system buffers failed. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync_error +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync_error ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_checksum +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_checksum ... ok +ironic_python_agent.tests.unit.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.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_iinfo ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_iinfo ... ok +ironic_python_agent.tests.unit.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 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_model ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_model ... ok + 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.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_name ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_name ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_without_fallback +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_without_fallback ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_with_md5_fallback +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_with_md5_fallback ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_with_new_hash_fields +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_with_new_hash_fields ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_without_md5 +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_without_md5 ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_fails +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_fails ... ok + ERROR [ironic_lib.exception] Exception in string format operation (arguments ) +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/ironic_lib/exception.py", line 134, in __init__ + message = self._msg_fmt % kwargs + ~~~~~~~~~~~~~~^~~~~~~~ +KeyError: 'reason' +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_gpt_fails +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_gpt_fails ... ok + ERROR [ironic_python_agent.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests! +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_exception +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_exception ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_exception_image_mb +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_exception_image_mb ... ok + ERROR [ironic_python_agent.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests! +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid ... ok + ERROR [ironic_python_agent.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests! +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid_uefi +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid_uefi ... ok +ironic_python_agent.tests.unit.test_base.DontBlockExecuteTestCase.test_no_exception_raised_for_execute +ironic_python_agent.tests.unit.test_base.DontBlockExecuteTestCase.test_no_exception_raised_for_execute ... ok +ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition +ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition ... ok +ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_not_found +ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_not_found ... ok +ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_only_boot_flag_gpt +ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_only_boot_flag_gpt ... ok +ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_only_boot_flag_mbr +ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_only_boot_flag_mbr ... ok +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available ... ok +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_dev_becomes_avail_busybox +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_dev_becomes_avail_busybox ... ok +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_dev_becomes_avail_psmisc +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_dev_becomes_avail_psmisc ... ok +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_device_in_use_busybox +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_device_in_use_busybox ... ok +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_device_in_use_psmisc +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_device_in_use_psmisc ... ok +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_no_device +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_no_device ... ok + WARNING [ironic_python_agent.disk_utils] Failed to check the device fake-dev with fuser: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: 'fake' + WARNING [ironic_python_agent.disk_utils] Failed to check the device fake-dev with fuser: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: 'fake' +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_no_fuser +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_no_fuser ... ok + WARNING [ironic_python_agent.efi_utils] Invalid sgdisk line: I am a teaport + WARNING [ironic_python_agent.efi_utils] No UUID information provided in sgdisk output for partition 1 on device /dev/fake +ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_broken +ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_broken ... ok +ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_ok +ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_ok ... ok +ironic_python_agent.tests.unit.test_encoding.TestSerializable.test_baseclass_serialize +ironic_python_agent.tests.unit.test_encoding.TestSerializable.test_baseclass_serialize ... ok +ironic_python_agent.tests.unit.test_encoding.TestSerializable.test_childclass_serialize +ironic_python_agent.tests.unit.test_encoding.TestSerializable.test_childclass_serialize ... ok +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi ... ok +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi_no_iscsi +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi_no_iscsi ... ok +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__load_ipmi_modules +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__load_ipmi_modules ... ok +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_missing +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_missing ... ok + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda1. Skipping +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_partuuid_success +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_partuuid_success ... ok + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sdb. Skipping +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success ... ok + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sdb. Skipping + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md1. Skipping +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success_raid +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success_raid ... ok +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_wrong_block_type +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_wrong_block_type ... ok + WARNING [ironic_python_agent.inspector] Failed to gather vendor id, product id or pci class from PCI device bar: + WARNING [ironic_python_agent.inspector] Wrong format of vendor id, product id or pci class in PCI device baz: +ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_bad_pci_device_info +ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_bad_pci_device_info ... ok +ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success +ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success ... ok + WARNING [ironic_python_agent.inspector] Failed to gather numa_node id from PCI device foo: + WARNING [ironic_python_agent.inspector] Failed to gather numa_node id from PCI device bar: +ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success_numa_ioerror +ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success_numa_ioerror ... ok + ERROR [ironic_python_agent.utils] Failed to get list of PCI devices: +ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_wrong_path +ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_wrong_path ... ok WARNING [ironic_lib.utils] No device found that matches the root device hints {'model': 'fastable sd131 7', 'wwn': 'fake-wwn', 'serial': 'fake-serial', 'vendor': 'fake-vendor', 'size': 10} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_no_device_found ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_no_device_found ... ok - 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_agent.TestAgentStandalone.test_run -ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_rotational ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_rotational ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_serial @@ -5687,8 +5898,6 @@ WARNING [ironic_lib.utils] No device found that matches the root device hints {'wwn': 'fake-wwn'} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_skip_list ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_skip_list ... ok -ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_retries -ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_retries ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_vendor ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_vendor ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_wwn @@ -5732,6 +5941,8 @@ ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_hctl_fail ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_only_udev ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_only_udev ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_1st +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_1st ... ok WARNING [root] We have identified a multipath device sdd, this is being ignored in favor of dm-0 and its related child devices. ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_udev ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_udev ... ok @@ -5810,343 +6021,70 @@ 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 - WARNING [root] No hardware manager was able to handle interface foobar -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces ... ok - WARNING [root] Cannot find detailed information about interface eth0 -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_no_carrier -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_no_carrier ... ok - WARNING [root] Cannot find detailed information about interface eth0 -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_biosdevname -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_biosdevname ... ok - WARNING [root] Cannot find detailed information about interface bond0 -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_bond -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_bond ... ok - WARNING [root] Cannot find detailed information about interface eth0 -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp ... ok - WARNING [root] Cannot find detailed information about interface eth0 -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp_error -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp_error ... ok - WARNING [root] Cannot find detailed information about interface eth0 -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_vendor_info -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_vendor_info ... ok - WARNING [root] Cannot find detailed information about interface eth0 - WARNING [root] Cannot find detailed information about interface eth0.100 -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces ... ok - WARNING [root] Cannot find detailed information about interface eth0 - WARNING [root] Cannot find detailed information about interface eth0.100 - WARNING [root] Cannot find detailed information about interface eth0.101 -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces_using_lldp -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces_using_lldp ... ok - WARNING [root] Cannot find detailed information about interface eth0 - WARNING [root] Cannot find detailed information about interface eth1 - WARNING [root] Cannot find detailed information about interface eth0.100 - WARNING [root] Cannot find detailed information about interface eth0.101 - WARNING [root] Cannot find detailed information about interface eth1.102 - WARNING [root] Cannot find detailed information about interface eth1.103 -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 - WARNING [root] Cannot find detailed information about interface eth0 -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_invalid_int -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_invalid_int ... ok -ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_cache_hardware_info -ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_cache_hardware_info ... ok - WARNING [ironic_python_agent.inspector] no suitable root device detected -ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_no_root_disk -ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_no_root_disk ... ok -ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_ok -ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_ok ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_fallback_bios -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_fallback_bios ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_fallback_uefi -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_fallback_uefi ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_driver_internal_info -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_driver_internal_info ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_dict -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_dict ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_json_str -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_json_str ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_str -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_str ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_implicit_with_secure_boot -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_implicit_with_secure_boot ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_invalid_cap -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_invalid_cap ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_override_with_instance_info -ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_override_with_instance_info ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_journald -ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_journald ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_journald_with_logfile -ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_journald_with_logfile ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_non_journald -ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_non_journald ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_non_journald_with_logfile -ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_non_journald_with_logfile ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_device_extractor -ironic_python_agent.tests.unit.test_utils.TestUtils.test_device_extractor ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_dict -ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_dict ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_json_string -ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_json_string ... ok - 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_old_format_caps -ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_old_format_caps ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_command_output -ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_command_output ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output -ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_fail -ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_fail ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_with_lines -ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_with_lines ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_with_units -ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_with_units ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_ssl_client_options -ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_ssl_client_options ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_disks_too_small -ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_disks_too_small ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_primary_sort -ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_primary_sort ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_secondary_sort -ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_secondary_sort ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_gzip_and_b64encode -ironic_python_agent.tests.unit.test_utils.TestUtils.test_gzip_and_b64encode ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_is_journalctl_present -ironic_python_agent.tests.unit.test_utils.TestUtils.test_is_journalctl_present ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_is_journalctl_present_false -ironic_python_agent.tests.unit.test_utils.TestUtils.test_is_journalctl_present_false ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_secure_boot_overriden_with_instance_info_caps -ironic_python_agent.tests.unit.test_utils.TestUtils.test_secure_boot_overriden_with_instance_info_caps ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type -ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_disk_label_ignored_with_uefi -ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_disk_label_ignored_with_uefi ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_gpt -ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_gpt ... ok -ironic_python_agent.tests.unit.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 [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_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_hardware.TestModuleFunctions.test__check_for_iscsi -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi ... ok -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi_no_iscsi -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi_no_iscsi ... ok -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__load_ipmi_modules -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__load_ipmi_modules ... ok -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_missing -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_missing ... ok - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda1. Skipping -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_partuuid_success -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_partuuid_success ... ok - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sdb. Skipping -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success ... ok - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sdb. Skipping - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md1. Skipping -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success_raid -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success_raid ... ok -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_wrong_block_type -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_wrong_block_type ... ok - WARNING [ironic_python_agent.inspector] Failed to gather vendor id, product id or pci class from PCI device bar: - WARNING [ironic_python_agent.inspector] Wrong format of vendor id, product id or pci class in PCI device baz: -ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_bad_pci_device_info -ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_bad_pci_device_info ... ok -ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success -ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success ... ok - WARNING [ironic_python_agent.inspector] Failed to gather numa_node id from PCI device foo: - WARNING [ironic_python_agent.inspector] Failed to gather numa_node id from PCI device bar: -ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success_numa_ioerror -ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success_numa_ioerror ... ok - ERROR [ironic_python_agent.utils] Failed to get list of PCI devices: -ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_wrong_path -ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_wrong_path ... ok -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test ... ok - ERROR [root] Finding the partition with UUID 11111111-2222-3333-4444-555555555555 on device /dev/fake failed with Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boom' -Stderr: None -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_command_fail -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_command_fail ... ok -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_fallback_partuuid -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_fallback_partuuid ... ok -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_label -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_label ... ok - ERROR [root] No partition with UUID 11111111-2222-3333-4444-555555555555 found on device /dev/fake -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_no_device_found -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_no_device_found ... ok -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_partuuid -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_partuuid ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_1st -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_1st ... ok +ironic_python_agent.tests.unit.test_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_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.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_burnin.TestBurnin.test_fio_network_dynamic_find_pair_2nd ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_2nd ... ok - ERROR [ironic_python_agent.extensions.standby] Timeout reached waiting for a chunk of data from a remote server. -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_socket_read_timeout -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_socket_read_timeout ... ok - WARNING [ironic_python_agent.extensions.standby] Image download failed, 0 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! - WARNING [ironic_python_agent.extensions.standby] Image download failed, 1 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! - WARNING [ironic_python_agent.extensions.standby] Image download failed, 2 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! - WARNING [ironic_python_agent.extensions.standby] Image download failed, 3 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! - WARNING [ironic_python_agent.extensions.standby] Image download failed, 4 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! - WARNING [ironic_python_agent.extensions.standby] Image download failed, 5 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! - WARNING [ironic_python_agent.extensions.standby] Image download failed, 6 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! - WARNING [ironic_python_agent.extensions.standby] Image download failed, 7 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! - WARNING [ironic_python_agent.extensions.standby] Image download failed, 8 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_write_error -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_write_error ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync ... ok - ERROR [ironic_python_agent.extensions.standby] Flushing file system buffers failed. Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync_error -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync_error ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_checksum -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_checksum ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_urls -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_urls ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_invalid_checksum -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_invalid_checksum ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_invalid_urls -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_invalid_urls ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_legacy_md5_checksum -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_legacy_md5_checksum ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_legacy_md5_checksum_enabled -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_legacy_md5_checksum_enabled ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_missing_field -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_missing_field ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_no_hash_algo -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_no_hash_algo ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_no_hash_value -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_no_hash_value ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_sha256 -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_sha256 ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_ignore_none_md5 -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_ignore_none_md5 ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_with_new_hash_fields -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_with_new_hash_fields ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_without_md5 -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_without_md5 ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_url -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_url ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_empty_password -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_empty_password ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_empty_user -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_empty_user ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_none_password -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_none_password ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_none_user -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_none_user ... ok - ERROR [ironic_python_agent.extensions.standby] Unable to verify image fake_id with available checksums. Please make sure the specified 'os_hash_algo' (currently algo-beyond-milky-way) is supported by this ramdisk, or provide a md5 checksum via the 'checksum' field -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_fails_if_unknown_is_used -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_fails_if_unknown_is_used ... ok - ERROR [ironic_python_agent.extensions.standby] Image failed to verify against checksum. location: /foo/bar; image ID: fake_id; image checksum: fake-checksum; verification checksum: invalid-checksum -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure ... ok - ERROR [ironic_python_agent.extensions.standby] Image failed to verify against checksum. location: /foo/bar; image ID: fake_id; image checksum: fake-sha512-value; verification checksum: invalid-checksum -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_with_new_hash_fields -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_with_new_hash_fields ... ok - ERROR [ironic_python_agent.extensions.standby] Unable to verify image fake_id with available checksums. Please make sure the specified 'os_hash_algo' (currently unsupported-algorithm) is supported by this ramdisk, or provide a md5 checksum via the 'checksum' field -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_without_fallback -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_without_fallback ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_with_md5_fallback -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_with_md5_fallback ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_with_new_hash_fields -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_with_new_hash_fields ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_without_md5 -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_without_md5 ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_fails -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_fails ... ok - ERROR [ironic_lib.exception] Exception in string format operation (arguments ) -Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/ironic_lib/exception.py", line 134, in __init__ - message = self._msg_fmt % kwargs - ~~~~~~~~~~~~~~^~~~~~~~ -KeyError: 'reason' -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_gpt_fails -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_gpt_fails ... ok - ERROR [ironic_python_agent.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests! -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_exception -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_exception ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_exception_image_mb -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_exception_image_mb ... ok - ERROR [ironic_python_agent.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests! -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid ... ok - ERROR [ironic_python_agent.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests! -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid_uefi -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid_uefi ... ok -ironic_python_agent.tests.unit.test_errors.TestErrors.test_RESTError -ironic_python_agent.tests.unit.test_errors.TestErrors.test_RESTError ... 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_errors.TestErrors.test_error_string -ironic_python_agent.tests.unit.test_errors.TestErrors.test_error_string ... 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_multi_hardware.TestNoHardwareManagerLoading.test_no_managers_found -ironic_python_agent.tests.unit.test_multi_hardware.TestNoHardwareManagerLoading.test_no_managers_found ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_cores_info -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_cores_info ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_memory_info -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_memory_info ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_nics_info -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_nics_info ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_thread_dirs -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_thread_dirs ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_cores_info -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_cores_info ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_memory_info -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_memory_info ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_nics_info -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_nics_info ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format_cores_info -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format_cores_info ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format_memory_info -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format_memory_info ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_valid_format -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_valid_format ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_no_nics_dir -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_no_nics_dir ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_memory_unit -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_memory_unit ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_numa_format_memory_info -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_numa_format_memory_info ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_threaddir_format_cores_info -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_threaddir_format_cores_info ... ok +ironic_python_agent.tests.unit.test_partition_utils.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: Copying configuration from /tmp/tmp2tk_ia0j/etc/ironic-python-agent to /etc/ironic-python-agent +ironic-python-agent: Copying configuration from /tmp/tmp2tk_ia0j/etc/ironic-python-agent.d to /etc/ironic-python-agent.d +ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy +ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy ... ok +ironic-python-agent: Copying configuration from /tmp/tmpclcuyoug/etc/ironic-python-agent to /etc/ironic-python-agent +ironic-python-agent: Copying configuration from /tmp/tmpclcuyoug/etc/ironic-python-agent.d to /etc/ironic-python-agent.d +ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy_mounted +ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy_mounted ... ok +ironic-python-agent: /some/path/etc/ironic-python-agent not found +ironic-python-agent: /some/path/etc/ironic-python-agent.d not found ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries ... 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: /tmp/tmpmbl9vm9j/etc/ironic-python-agent not found +ironic-python-agent: /tmp/tmpmbl9vm9j/etc/ironic-python-agent.d not found +ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_files +ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_files ... ok +ironic-python-agent: No virtual media device detected +ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_vmedia +ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_vmedia ... ok +ironic-python-agent: Cannot use configuration from virtual media as the agent was not booted from virtual media. + ERROR [ironic_python_agent.utils] foo + ERROR [ironic_python_agent.utils] bar + ERROR [ironic_python_agent.utils] baz +ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_vmedia_found_not_booted_from_vmedia +ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_vmedia_found_not_booted_from_vmedia ... ERROR [ironic_python_agent.utils] foo +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_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 @@ -6155,26 +6093,26 @@ ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_no_defaults ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_raise_missing_config ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_raise_missing_config ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_raise_wrong_config -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_raise_wrong_config ... ok ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_raise_wrong_config +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_raise_wrong_config ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_fio ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_fio ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_partner ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_partner ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_role ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_role ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader ... ok ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. Command: None Exit code: 16 Stdout: 'Connection timeout' Stderr: None +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader ... ok ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. Command: None Exit code: 16 @@ -6195,37 +6133,112 @@ ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer_w_logfile ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer_w_logfile ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_default -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_default ... ok ERROR [ironic_python_agent.burnin] stress-ng (cpu) failed with error Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_default +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_default ... 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_burnin.TestBurnin.test_stress_ng_vm_default -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_default ... ok ERROR [ironic_python_agent.burnin] stress-ng (vm) failed with error Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_default +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_default ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_no_stress_ng ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_no_stress_ng ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_non_default ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_non_default ... ok -ironic_python_agent.tests.unit.test_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_inspector.TestCollectLogs.test -ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test ... ok - WARNING [ironic_python_agent.inspector] failed to get system journal -ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test_fail -ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test_fail ... ok +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions ... ok +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_disk_label_gpt +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_disk_label_gpt ... ok +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_gpt_with_prep +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_gpt_with_prep ... ok +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot ... ok +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot_gpt_bios +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot_gpt_bios ... ok +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot_uefi +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot_uefi ... ok +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_mbr_with_prep +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_mbr_with_prep ... ok +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_ephemeral +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_ephemeral ... ok +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_iscsi_device +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_iscsi_device ... ok +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_local_device +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_local_device ... ok +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_nvme_device +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_nvme_device ... ok +ironic_python_agent.tests.unit.test_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', )] +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', )] +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-9.13.0/ironic_python_agent/netutils.py", line 197, in _get_lldp_info + lldp_info[interface[0]] = _receive_lldp_packets(s) + ^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-9.13.0/ironic_python_agent/netutils.py", line 160, in _receive_lldp_packets + pkt = sock.recv(1600) + ^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1137, in __call__ + return self._mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1141, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/mock.py", line 1196, in _execute_mock_call + raise effect +OSError: BOOM +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 + 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 +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets_exception +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets_exception ... ok +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_wrap_ipv6 +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_wrap_ipv6 ... ok +ironic_python_agent.tests.unit.test_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_partition_utils.GetLabelledPartitionTestCases.test_get_partition_DeployFail_exc +ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_DeployFail_exc ... ok +ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_absent +ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_absent ... ok + WARNING [ironic_python_agent.disk_utils] Unable to probe for partitions on device /dev/fake, the partitioning table may be broken. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None +ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_exc +ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_exc ... ok +ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_present +ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_present ... ok +ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_present_uppercase +ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_present_uppercase ... ok +ironic_python_agent.tests.unit.test_raid_utils.TestGetNextFreeRaidDevice.test_no_device +ironic_python_agent.tests.unit.test_raid_utils.TestGetNextFreeRaidDevice.test_no_device ... ok +ironic_python_agent.tests.unit.test_raid_utils.TestGetNextFreeRaidDevice.test_ok +ironic_python_agent.tests.unit.test_raid_utils.TestGetNextFreeRaidDevice.test_ok ... ok ironic_python_agent.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 @@ -6248,6 +6261,8 @@ ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_get_volume_name_of_raid_device_invalid ... ok ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_bios_gpt ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_bios_gpt ... ok +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries_on_50X_error +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries_on_50X_error ... ok ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_bios_msdos ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_bios_msdos ... ok ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt @@ -6256,60 +6271,93 @@ ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt_efi_provided ... ok ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt_esp_not_found ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt_esp_not_found ... ok -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device ... ok -ironic-python-agent: Device sdh was disqualified as virtual media. Type: other, Transport: usb -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_other -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_other ... ok -ironic-python-agent: Excluding device sdh1 from virtual mediaconsideration as it is a partition. -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_part -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_part ... ok -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_rom -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_rom ... ok -ironic-python-agent: Device sdh was disqualified as virtual media. Type: disk, Transport: sata -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_sata -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_sata ... ok -ironic-python-agent: Device sdh was disqualified as virtual media. Type: other, Transport: scsi -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_scsi -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_scsi ... ok -ironic-python-agent: Device sdh appears to not qualify as virtual due to the device size. Size: 1610612736000 -ironic-python-agent: Device sdh was disqualified as virtual media. Type: disk, Transport: usb -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_too_large -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_too_large ... ok -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries_on_50X_error -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries_on_50X_error ... ok +ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute +ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute ... 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 - WARNING [ironic_python_agent.inspector] Connection error when accessing url1, trying the next URL. Error: ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_several_urls ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_several_urls ... ok ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_ok ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_ok ... ok ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_send_failure ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_send_failure ... ok + WARNING [ironic_python_agent.inspector] Connection error when accessing http://url1/v1/continue_inspection, trying the next URL. Error: ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_use_api_url ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_use_api_url ... ok - 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.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_partition_utils.WorkOnDiskTestCase.test_convert_to_sparse +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_convert_to_sparse ... ok +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_gpt_disk_label +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_gpt_disk_label ... ok +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_configdrive_partition +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_configdrive_partition ... ok +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_ephemeral_partition +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_ephemeral_partition ... ok +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_root_partition +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_root_partition ... ok +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_swap_partition +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_swap_partition ... ok +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_ppc64le_prep_part +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_ppc64le_prep_part ... ok +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_preserve_ephemeral +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_preserve_ephemeral ... ok +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_uefi +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_uefi ... ok +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_without_image +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_without_image ... ok +ironic_python_agent.tests.unit.test_utils.TestUnmountOfConfig.test__unmount_any_config_drives +ironic_python_agent.tests.unit.test_utils.TestUnmountOfConfig.test__unmount_any_config_drives ... ok ---------------------------------------------------------------------- -Ran 966 tests in 20.978s +Ran 966 tests in 39.246s OK (skipped=2) + stestr slowest Test id Runtime (s) --------------------------------------------------------------------------------------------------------------------------------- ----------- -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries 4.005 -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_socket_read_timeout 3.016 -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_1st 3.009 -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_timeout 2.009 +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries 4.006 +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_socket_read_timeout 3.022 +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_1st 3.016 +ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run 2.272 +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_timeout 2.014 ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries_on_50X_error 2.005 -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retry_on_50X_and_succeed 2.004 -ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run 1.479 -ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run_no_tls 1.020 -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_several_urls 1.004 -ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_retries 1.004 +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retry_on_50X_and_succeed 2.005 +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_advertise_address_provided 1.253 +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test__wait_for_interface 1.237 +ironic_python_agent.tests.unit.test_agent.TestFromConfig.test_override_urls 1.208 + rm -rf .stestr mkdir -p /build/reproducible-path/ironic-python-agent-9.13.0/debian/ironic-python-agent/etc/ironic-python-agent PYTHONPATH=/build/reproducible-path/ironic-python-agent-9.13.0/debian/tmp/usr/lib/python3/dist-packages oslo-config-generator \ @@ -6337,8 +6385,8 @@ make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions dh_python3 --shebang=/usr/bin/python3 -I: dh_python3 tools:113: replacing shebang in debian/ironic-python-agent/usr/bin/ironic-python-agent I: dh_python3 tools:113: replacing shebang in debian/ironic-python-agent/usr/bin/ironic-collect-introspection-data +I: dh_python3 tools:113: replacing shebang in debian/ironic-python-agent/usr/bin/ironic-python-agent make[1]: Leaving directory '/build/reproducible-path/ironic-python-agent-9.13.0' debian/rules override_dh_installinit make[1]: Entering directory '/build/reproducible-path/ironic-python-agent-9.13.0' @@ -6351,20 +6399,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 \ @@ -6373,13 +6422,14 @@ pkgos-gen-systemd-unit $i ; \ fi \ done -+ ls debian/ironic-python-agent.init.in -+ echo debian/ironic-python-agent.init.in -+ sed s/.init.in/.service.in/ +++ ls debian/ironic-python-agent.init.in ++ for i in `ls debian/*.init.in` +++ echo debian/ironic-python-agent.init.in +++ sed s/.init.in/.service.in/ + MYINIT=debian/ironic-python-agent.service.in -+ [ -e debian/ironic-python-agent.service.in ] ++ '[' -e debian/ironic-python-agent.service.in ']' + pkgos-gen-systemd-unit debian/ironic-python-agent.init.in -/usr/bin/pkgos-gen-systemd-unit: 22: debian/ironic-python-agent.init.in: modprobe: not found +debian/ironic-python-agent.init.in: line 22: modprobe: command not found dh_installinit --error-handler=true make[1]: Leaving directory '/build/reproducible-path/ironic-python-agent-9.13.0' debian/rules override_dh_installsystemd @@ -6393,20 +6443,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 \ @@ -6415,13 +6466,14 @@ pkgos-gen-systemd-unit $i ; \ fi \ done -+ ls debian/ironic-python-agent.init.in -+ echo debian/ironic-python-agent.init.in -+ sed s/.init.in/.service.in/ +++ ls debian/ironic-python-agent.init.in ++ for i in `ls debian/*.init.in` +++ echo debian/ironic-python-agent.init.in +++ sed s/.init.in/.service.in/ + MYINIT=debian/ironic-python-agent.service.in -+ [ -e debian/ironic-python-agent.service.in ] ++ '[' -e debian/ironic-python-agent.service.in ']' + pkgos-gen-systemd-unit debian/ironic-python-agent.init.in -/usr/bin/pkgos-gen-systemd-unit: 22: debian/ironic-python-agent.init.in: modprobe: not found +debian/ironic-python-agent.init.in: line 22: modprobe: command not found dh_installsystemd make[1]: Leaving directory '/build/reproducible-path/ironic-python-agent-9.13.0' dh_installlogrotate -O--buildsystem=python_distutils @@ -6453,12 +6505,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/61111/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/61111/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/87196 and its subdirectories -I: Current time: Wed Oct 1 17:39:12 -12 2025 -I: pbuilder-time-stamp: 1759383552 +I: removing directory /srv/workspace/pbuilder/61111 and its subdirectories +I: Current time: Fri Aug 30 13:18:43 +14 2024 +I: pbuilder-time-stamp: 1724973523