Running as unit: rb-build-amd64_29-50543.service ==================================================================================== Thu Aug 7 18:15:59 UTC 2025 - running /srv/jenkins/bin/reproducible_build.sh (for job reproducible_builder_amd64_29) on jenkins, called using "ionos1-amd64 ionos15-amd64" as arguments. Thu Aug 7 18:15:59 UTC 2025 - actually running "reproducible_build.sh" (md5sum 44ec6a3142940d5e9a7ab76543d96029) as "/tmp/jenkins-script-gui3zx9N" $ git clone https://salsa.debian.org/qa/jenkins.debian.net.git ; more CONTRIBUTING Thu Aug 7 18:15:59 UTC 2025 - checking /var/lib/jenkins/offline_nodes if ionos1-amd64.debian.net is marked as down. Thu Aug 7 18:15:59 UTC 2025 - checking via ssh if ionos1-amd64.debian.net is up. removed '/tmp/read-only-fs-test-xvUzA1' Thu Aug 7 18:15:59 UTC 2025 - checking /var/lib/jenkins/offline_nodes if ionos15-amd64.debian.net is marked as down. Thu Aug 7 18:15:59 UTC 2025 - checking via ssh if ionos15-amd64.debian.net is up. removed '/tmp/read-only-fs-test-ikXlb4' ok, let's check if ironic-python-agent is building anywhere yet… ok, ironic-python-agent is not building anywhere… UPDATE 1 ============================================================================= Initialising reproducibly build of ironic-python-agent in trixie on amd64 on jenkins now. 1st build will be done on ionos1-amd64.debian.net. 2nd build will be done on ionos15-amd64.debian.net. ============================================================================= Thu Aug 7 18:16:21 UTC 2025 I: starting to build ironic-python-agent/trixie/amd64 on jenkins on '2025-08-07 18:15' Thu Aug 7 18:16:21 UTC 2025 I: The jenkins build log is/was available at https://jenkins.debian.net/userContent/reproducible/debian/build_service/amd64_29/50543/console.log 1754590581 amd64 trixie ironic-python-agent Thu Aug 7 18:16:21 UTC 2025 I: Downloading source for trixie/ironic-python-agent=10.2.0-3 --2025-08-07 18:16:21-- http://deb.debian.org/debian/pool/main/i/ironic-python-agent/ironic-python-agent_10.2.0-3.dsc Connecting to 46.16.76.132:3128... connected. Proxy request sent, awaiting response... 200 OK Length: 2679 (2.6K) [text/prs.lines.tag] Saving to: ‘ironic-python-agent_10.2.0-3.dsc’ 0K .. 100% 325M=0s 2025-08-07 18:16:21 (325 MB/s) - ‘ironic-python-agent_10.2.0-3.dsc’ saved [2679/2679] --2025-08-07 18:16:21-- http://deb.debian.org/debian/pool/main/i/ironic-python-agent/ironic-python-agent_10.2.0-3.dsc Connecting to 46.16.76.132:3128... connected. Proxy request sent, awaiting response... 200 OK Length: 2679 (2.6K) [text/prs.lines.tag] Saving to: ‘ironic-python-agent_10.2.0-3.dsc’ 0K .. 100% 325M=0s 2025-08-07 18:16:21 (325 MB/s) - ‘ironic-python-agent_10.2.0-3.dsc’ saved [2679/2679] Thu Aug 7 18:16:21 UTC 2025 I: ironic-python-agent_10.2.0-3.dsc -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Format: 3.0 (quilt) Source: ironic-python-agent Binary: ironic-python-agent Architecture: all Version: 10.2.0-3 Maintainer: Debian OpenStack Uploaders: Thomas Goirand , Homepage: https://github.com/openstack/ironic-python-agent Standards-Version: 4.6.1 Vcs-Browser: https://salsa.debian.org/openstack-team/services/ironic-python-agent Vcs-Git: https://salsa.debian.org/openstack-team/services/ironic-python-agent.git Testsuite: autopkgtest Testsuite-Triggers: @builddeps@ Build-Depends: debhelper-compat (= 11), dh-python, libffi-dev, openstack-pkg-tools, python3-all, python3-all-dev, python3-pbr (>= 6.0.0), python3-setuptools Build-Depends-Indep: python3-coverage, python3-cryptography, python3-eventlet, python3-hardware, python3-kazoo, python3-oslo.concurrency, python3-oslo.config, python3-oslo.log, python3-oslo.service, python3-oslo.utils (>= 8.0.0), python3-oslotest, python3-pint, python3-psutil, python3-pyudev, python3-requests, python3-stestr, python3-stevedore, python3-tenacity, python3-testtools, python3-tooz, python3-werkzeug, python3-zeroconf, qemu-utils Package-List: ironic-python-agent deb net optional arch=all Checksums-Sha1: 78557104140ff0097874917c19635193d8ea2a9c 301492 ironic-python-agent_10.2.0.orig.tar.xz e3c54e2e6d4a18e9f2a4f3c533dcc6b94bc8963e 6488 ironic-python-agent_10.2.0-3.debian.tar.xz Checksums-Sha256: 60d3f086c4923fe61fad807555cd6cb5dac87cf87d68b2a6e6ffce3c9f24bc6b 301492 ironic-python-agent_10.2.0.orig.tar.xz bc9fd2f20ef85a38dc40779d388e341671187330a97e97b37806eb7e9a3b7322 6488 ironic-python-agent_10.2.0-3.debian.tar.xz Files: 4ecd26f18b05288dc7cc8cc0c64e97d9 301492 ironic-python-agent_10.2.0.orig.tar.xz 22c0098c9767f2d0ebba014609820567 6488 ironic-python-agent_10.2.0-3.debian.tar.xz -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEoLGp81CJVhMOekJc1BatFaxrQ/4FAmfr73YACgkQ1BatFaxr Q/5P7A/+JUuRQUOlZ0jogFoj2HuZE8WAJgpFNZdsr0aY+4VkBS/kFJrvZsJTpKk0 wBgOKSez20thVZ8PpA/kO+OFMo6yPQohtXXJTz7ULpfqj67tX/lsqejN52TdkhjC MhWhmJb8Layf9Um6qpohMoSX3hdt7GAqQ0L7RDpmaNF5UW2Dp5m5oDz0JGR8Dczq jxCdUZgMqtsIbG7BEBnXdZOQV8wkgUM9ytphItHDznURVDYQq1paZPijK26OEBYi hnDwQUPQgpiSFYwKSIGXhnU16FlINt5eAj9+9LGchW3uMSivMyVQc7PUGHACFi0X zTjUOWpwTq6+c5jXO8oYhFj0aTCZq+kSi49dGNEA/L0xjiizNO0jyJbP4LvWVJ45 x8ZFovyHRGZbqBk/Mnv7EZD0G8VAg7ScjE/mQ3MgWcxCggAuaiOAOOSPgOpvb4Dl sAczg/ogIlXbNbTeMl+dg8ulj3nTltwUOaFepJMAj+TmL/8VvBIU9uoDh/fRTRo+ cUSnV/vA2tGYSwLUUZT7PgN7D9+v5JsGNUQfPnbhY89nqmEj0BR9uF9e9RPRRKTa xVOhKXp1776SIjlW42PSBtEALJ3SX0bT2TRf8LUsLQoNSmxbw1w/H9YXLDEHXJEb tMobzFW5seN3KmcFwMq4hEQVk5CGIMZXd9G8Zaqmz7qLLTZGZos= =qmZl -----END PGP SIGNATURE----- Thu Aug 7 18:16:21 UTC 2025 I: Checking whether the package is not for us Thu Aug 7 18:16:21 UTC 2025 I: Starting 1st build on remote node ionos1-amd64.debian.net. Thu Aug 7 18:16:21 UTC 2025 I: Preparing to do remote build '1' on ionos1-amd64.debian.net. Thu Aug 7 18:16:21 UTC 2025 - checking /var/lib/jenkins/offline_nodes if ionos1-amd64.debian.net is marked as down. Thu Aug 7 18:16:21 UTC 2025 - checking via ssh if ionos1-amd64.debian.net is up. removed '/tmp/read-only-fs-test-MPfaox' ==================================================================================== Thu Aug 7 18:16:22 UTC 2025 - running /srv/jenkins/bin/reproducible_build.sh (for job /srv/jenkins/bin/reproducible_build.sh) on ionos1-amd64, called using "1 ironic-python-agent trixie /srv/reproducible-results/rbuild-debian/r-b-build.EnM5AewD 10.2.0-3" as arguments. Thu Aug 7 18:16:22 UTC 2025 - actually running "reproducible_build.sh" (md5sum 44ec6a3142940d5e9a7ab76543d96029) as "/tmp/jenkins-script-0fq3aFdF" $ git clone https://salsa.debian.org/qa/jenkins.debian.net.git ; more CONTRIBUTING Thu Aug 7 18:16:22 UTC 2025 I: Downloading source for trixie/ironic-python-agent=10.2.0-3 Reading package lists... NOTICE: 'ironic-python-agent' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/openstack-team/services/ironic-python-agent.git Please use: git clone https://salsa.debian.org/openstack-team/services/ironic-python-agent.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 311 kB of source archives. Get:1 http://deb.debian.org/debian trixie/main ironic-python-agent 10.2.0-3 (dsc) [2679 B] Get:2 http://deb.debian.org/debian trixie/main ironic-python-agent 10.2.0-3 (tar) [301 kB] Get:3 http://deb.debian.org/debian trixie/main ironic-python-agent 10.2.0-3 (diff) [6488 B] Fetched 311 kB in 0s (12.1 MB/s) Download complete and in download only mode Reading package lists... NOTICE: 'ironic-python-agent' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/openstack-team/services/ironic-python-agent.git Please use: git clone https://salsa.debian.org/openstack-team/services/ironic-python-agent.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 311 kB of source archives. Get:1 http://deb.debian.org/debian trixie/main ironic-python-agent 10.2.0-3 (dsc) [2679 B] Get:2 http://deb.debian.org/debian trixie/main ironic-python-agent 10.2.0-3 (tar) [301 kB] Get:3 http://deb.debian.org/debian trixie/main ironic-python-agent 10.2.0-3 (diff) [6488 B] Fetched 311 kB in 0s (12.1 MB/s) Download complete and in download only mode ============================================================================= Building ironic-python-agent in trixie on amd64 on ionos1-amd64 now. Date: Thu Aug 7 18:16:22 UTC 2025 Date UTC: Thu Aug 7 18:16:22 UTC 2025 ============================================================================= W: /root/.pbuilderrc does not exist I: Logging to b1/build.log I: pbuilder: network access will be disabled during build I: Current time: Thu Aug 7 06:16:22 -12 2025 I: pbuilder-time-stamp: 1754590582 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: Copying source file I: copying [ironic-python-agent_10.2.0-3.dsc] I: copying [./ironic-python-agent_10.2.0.orig.tar.xz] I: copying [./ironic-python-agent_10.2.0-3.debian.tar.xz] I: Extracting source dpkg-source: warning: cannot verify inline signature for ./ironic-python-agent_10.2.0-3.dsc: no acceptable signature found dpkg-source: info: extracting ironic-python-agent in ironic-python-agent-10.2.0 dpkg-source: info: unpacking ironic-python-agent_10.2.0.orig.tar.xz dpkg-source: info: unpacking ironic-python-agent_10.2.0-3.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying remove-broken-test.patch dpkg-source: info: applying fix-syntax-warning.patch I: using fakeroot in build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/3729440/tmp/hooks/D02_print_environment starting I: set BUILDDIR='/build/reproducible-path' BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' BUILDUSERNAME='pbuilder1' BUILD_ARCH='amd64' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=40 ' DISTRIBUTION='trixie' HOME='/root' HOST_ARCH='amd64' IFS=' ' INVOCATION_ID='88b5818034ba4517aac187d462112165' LANG='C' LANGUAGE='en_US:en' LC_ALL='C' MAIL='/var/mail/root' OPTIND='1' PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' PBCURRENTCOMMANDLINEOPERATION='build' PBUILDER_OPERATION='build' PBUILDER_PKGDATADIR='/usr/share/pbuilder' PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' PBUILDER_SYSCONFDIR='/etc' PPID='3729440' PS1='# ' PS2='> ' 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.EnM5AewD/pbuilderrc_69DE --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.EnM5AewD/b1 --logfile b1/build.log ironic-python-agent_10.2.0-3.dsc' SUDO_GID='110' SUDO_UID='105' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' http_proxy='http://46.16.76.132:3128' I: uname -a Linux ionos1-amd64 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1 (2025-05-22) x86_64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 May 12 19:25 /bin -> usr/bin I: user script /srv/workspace/pbuilder/3729440/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: amd64 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper-compat (= 11), dh-python, libffi-dev, openstack-pkg-tools, python3-all, python3-all-dev, python3-pbr (>= 6.0.0), python3-setuptools, python3-coverage, python3-cryptography, python3-eventlet, python3-hardware, python3-kazoo, python3-oslo.concurrency, python3-oslo.config, python3-oslo.log, python3-oslo.service, python3-oslo.utils (>= 8.0.0), python3-oslotest, python3-pint, python3-psutil, python3-pyudev, python3-requests, python3-stestr, python3-stevedore, python3-tenacity, python3-testtools, python3-tooz, python3-werkzeug, python3-zeroconf, qemu-utils dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19851 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper-compat (= 11); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on dh-python; however: Package dh-python is not installed. pbuilder-satisfydepends-dummy depends on libffi-dev; however: Package libffi-dev is not installed. pbuilder-satisfydepends-dummy depends on openstack-pkg-tools; however: Package openstack-pkg-tools is not installed. pbuilder-satisfydepends-dummy depends on python3-all; however: Package python3-all is not installed. pbuilder-satisfydepends-dummy depends on python3-all-dev; however: Package python3-all-dev is not installed. pbuilder-satisfydepends-dummy depends on python3-pbr (>= 6.0.0); however: Package python3-pbr is not installed. pbuilder-satisfydepends-dummy depends on python3-setuptools; however: Package python3-setuptools is not installed. pbuilder-satisfydepends-dummy depends on python3-coverage; however: Package python3-coverage is not installed. pbuilder-satisfydepends-dummy depends on python3-cryptography; however: Package python3-cryptography is not installed. pbuilder-satisfydepends-dummy depends on python3-eventlet; however: Package python3-eventlet is not installed. pbuilder-satisfydepends-dummy depends on python3-hardware; however: Package python3-hardware is not installed. pbuilder-satisfydepends-dummy depends on python3-kazoo; however: Package python3-kazoo is not installed. pbuilder-satisfydepends-dummy depends on python3-oslo.concurrency; however: Package python3-oslo.concurrency is not installed. pbuilder-satisfydepends-dummy depends on python3-oslo.config; however: Package python3-oslo.config is not installed. pbuilder-satisfydepends-dummy depends on python3-oslo.log; however: Package python3-oslo.log is not installed. pbuilder-satisfydepends-dummy depends on python3-oslo.service; however: Package python3-oslo.service is not installed. pbuilder-satisfydepends-dummy depends on python3-oslo.utils (>= 8.0.0); however: Package python3-oslo.utils is not installed. pbuilder-satisfydepends-dummy depends on python3-oslotest; however: Package python3-oslotest is not installed. pbuilder-satisfydepends-dummy depends on python3-pint; however: Package python3-pint is not installed. pbuilder-satisfydepends-dummy depends on python3-psutil; however: Package python3-psutil is not installed. pbuilder-satisfydepends-dummy depends on python3-pyudev; however: Package python3-pyudev is not installed. pbuilder-satisfydepends-dummy depends on python3-requests; however: Package python3-requests is not installed. pbuilder-satisfydepends-dummy depends on python3-stestr; however: Package python3-stestr is not installed. pbuilder-satisfydepends-dummy depends on python3-stevedore; however: Package python3-stevedore is not installed. pbuilder-satisfydepends-dummy depends on python3-tenacity; however: Package python3-tenacity is not installed. pbuilder-satisfydepends-dummy depends on python3-testtools; however: Package python3-testtools is not installed. pbuilder-satisfydepends-dummy depends on python3-tooz; however: Package python3-tooz is not installed. pbuilder-satisfydepends-dummy depends on python3-werkzeug; however: Package python3-werkzeug is not installed. pbuilder-satisfydepends-dummy depends on python3-zeroconf; however: Package python3-zeroconf is not installed. pbuilder-satisfydepends-dummy depends on qemu-utils; however: Package qemu-utils is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} ca-certificates{a} debhelper{a} dh-autoreconf{a} dh-python{a} dh-strip-nondeterminism{a} docutils-common{a} dwz{a} ethtool{a} file{a} freeipmi-common{a} gettext{a} gettext-base{a} groff-base{a} hdparm{a} ieee-data{a} intltool-debian{a} ipmitool{a} jq{a} libabsl20240722{a} libaio1t64{a} libarchive-zip-perl{a} libcares2{a} libcom-err2{a} libconfig11{a} libdebhelper-perl{a} libelf1t64{a} libev4t64{a} libexpat1{a} libexpat1-dev{a} libffi-dev{a} libffi8{a} libfile-stripnondeterminism-perl{a} libfreeipmi17{a} libgcrypt20{a} libglib2.0-0t64{a} libgnutls30t64{a} libgpg-error0{a} libgssapi-krb5-2{a} libice6{a} libidn2-0{a} libjq1{a} libjs-jquery{a} libjs-sphinxdoc{a} libjs-underscore{a} libk5crypto3{a} libkeyutils1{a} libkmod2{a} libkrb5-3{a} libkrb5support0{a} libmagic-mgc{a} libmagic1t64{a} libmnl0{a} libnl-3-200{a} libnuma1{a} libonig5{a} libp11-kit0{a} libpci3{a} libpipeline1{a} libproc2-0{a} libprotobuf32t64{a} libpsl5t64{a} libpython3-all-dev{a} libpython3-dev{a} libpython3-stdlib{a} libpython3.13{a} libpython3.13-dev{a} libpython3.13-minimal{a} libpython3.13-stdlib{a} libre2-11{a} libreadline8t64{a} libsm6{a} libsubunit-perl{a} libtasn1-6{a} libtool{a} libuchardet0{a} libunistring5{a} liburing2{a} libx11-6{a} libx11-data{a} libxau6{a} libxcb1{a} libxdmcp6{a} libxext6{a} libxml2{a} libxmu6{a} libxslt1.1{a} libxt6t64{a} libyaml-0-2{a} lldpad{a} lsb-release{a} lshw{a} m4{a} man-db{a} media-types{a} netbase{a} openssl{a} openstack-pkg-tools{a} pci.ids{a} pciutils{a} po-debconf{a} procps{a} python-babel-localedata{a} python3{a} python3-all{a} python3-all-dev{a} python3-autocommand{a} python3-autopage{a} python3-babel{a} python3-bcrypt{a} python3-blinker{a} python3-certifi{a} python3-cffi-backend{a} python3-chardet{a} python3-charset-normalizer{a} python3-cliff{a} python3-cmd2{a} python3-coverage{a} python3-cryptography{a} python3-dateutil{a} python3-debtcollector{a} python3-decorator{a} python3-deprecation{a} python3-dev{a} python3-dnspython{a} python3-docutils{a} python3-dogpile.cache{a} python3-etcd3{a} python3-etcd3gw{a} python3-eventlet{a} python3-extras{a} python3-fasteners{a} python3-fixtures{a} python3-flexcache{a} python3-flexparser{a} python3-futurist{a} python3-gevent{a} python3-greenlet{a} python3-grpcio{a} python3-hardware{a} python3-idna{a} python3-ifaddr{a} python3-inflect{a} python3-iso8601{a} python3-jaraco.context{a} python3-jaraco.functools{a} python3-jaraco.text{a} python3-jinja2{a} python3-jmespath{a} python3-json-pointer{a} python3-jsonpatch{a} python3-jwt{a} python3-kazoo{a} python3-kerberos{a} python3-keystoneauth1{a} python3-legacy-cgi{a} python3-lxml{a} python3-mako{a} python3-markupsafe{a} python3-minimal{a} python3-monotonic{a} python3-more-itertools{a} python3-msgpack{a} python3-netaddr{a} python3-oauthlib{a} python3-openstacksdk{a} python3-os-client-config{a} python3-os-service-types{a} python3-oslo.concurrency{a} python3-oslo.config{a} python3-oslo.context{a} python3-oslo.i18n{a} python3-oslo.log{a} python3-oslo.serialization{a} python3-oslo.service{a} python3-oslo.utils{a} python3-oslotest{a} python3-packaging{a} python3-paste{a} python3-pastedeploy{a} python3-pastedeploy-tpl{a} python3-pbr{a} python3-pexpect{a} python3-pint{a} python3-pip{a} python3-pkg-resources{a} python3-platformdirs{a} python3-prettytable{a} python3-protobuf{a} python3-psutil{a} python3-ptyprocess{a} python3-pure-sasl{a} python3-pyasyncore{a} python3-pymemcache{a} python3-pymysql{a} python3-pyparsing{a} python3-pyperclip{a} python3-pytz{a} python3-pyudev{a} python3-redis{a} python3-repoze.lru{a} python3-requests{a} python3-requestsexceptions{a} python3-rfc3986{a} python3-roman{a} python3-routes{a} python3-setuptools{a} python3-six{a} python3-stestr{a} python3-stevedore{a} python3-subunit{a} python3-tempita{a} python3-tenacity{a} python3-testtools{a} python3-tomlkit{a} python3-tooz{a} python3-typeguard{a} python3-typing-extensions{a} python3-tz{a} python3-urllib3{a} python3-voluptuous{a} python3-wcwidth{a} python3-webob{a} python3-werkzeug{a} python3-wheel{a} python3-wrapt{a} python3-yaml{a} python3-yappi{a} python3-zake{a} python3-zeroconf{a} python3-zipp{a} python3-zope.event{a} python3-zope.interface{a} python3.13{a} python3.13-dev{a} python3.13-minimal{a} qemu-utils{a} readline-common{a} sensible-utils{a} sgml-base{a} smartmontools{a} subunit{a} tzdata{a} wget{a} x11-common{a} xclip{a} xml-core{a} zlib1g-dev{a} The following packages are RECOMMENDED but will NOT be installed: autopkgtest gir1.2-glib-2.0 javascript-common krb5-locales libarchive-cpio-perl libglib2.0-data libgpg-error-l10n libltdl-dev libmail-sendmail-perl libpaper-utils linux-sysctl-defaults madison-lite openipmi powermgmt-base pristine-tar psmisc publicsuffix python3-bs4 python3-cssselect python3-gi python3-h2 python3-html5lib python3-httpcore python3-httpx python3-openssl python3-pastescript python3-pil python3-pygments python3-pyinotify qemu-block-extra shared-mime-info usb.ids xauth xdg-user-dirs 0 packages upgraded, 252 newly installed, 0 to remove and 0 not upgraded. Need to get 73.4 MB of archives. After unpacking 313 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian trixie/main amd64 freeipmi-common all 1.6.15-1 [357 kB] Get: 2 http://deb.debian.org/debian trixie/main amd64 libgpg-error0 amd64 1.51-4 [82.1 kB] Get: 3 http://deb.debian.org/debian trixie/main amd64 libgcrypt20 amd64 1.11.0-7 [843 kB] Get: 4 http://deb.debian.org/debian trixie/main amd64 libfreeipmi17 amd64 1.6.15-1 [1044 kB] Get: 5 http://deb.debian.org/debian trixie/main amd64 readline-common all 8.2-6 [69.4 kB] Get: 6 http://deb.debian.org/debian trixie/main amd64 libreadline8t64 amd64 8.2-6 [169 kB] Get: 7 http://deb.debian.org/debian trixie/main amd64 ipmitool amd64 1.8.19-9 [2042 kB] Get: 8 http://deb.debian.org/debian trixie/main amd64 libexpat1 amd64 2.7.1-2 [108 kB] Get: 9 http://deb.debian.org/debian trixie/main amd64 libconfig11 amd64 1.7.3-2 [33.7 kB] Get: 10 http://deb.debian.org/debian trixie/main amd64 libnl-3-200 amd64 3.7.0-2 [59.4 kB] Get: 11 http://deb.debian.org/debian trixie/main amd64 lldpad amd64 1.1.1-1+b1 [250 kB] Get: 12 http://deb.debian.org/debian trixie/main amd64 libpython3.13-minimal amd64 3.13.5-2 [862 kB] Get: 13 http://deb.debian.org/debian trixie/main amd64 python3.13-minimal amd64 3.13.5-2 [2224 kB] Get: 14 http://deb.debian.org/debian trixie/main amd64 python3-minimal amd64 3.13.5-1 [27.2 kB] Get: 15 http://deb.debian.org/debian trixie/main amd64 media-types all 13.0.0 [29.3 kB] Get: 16 http://deb.debian.org/debian trixie/main amd64 netbase all 6.5 [12.4 kB] Get: 17 http://deb.debian.org/debian trixie/main amd64 tzdata all 2025b-4 [260 kB] Get: 18 http://deb.debian.org/debian trixie/main amd64 libffi8 amd64 3.4.8-2 [24.1 kB] Get: 19 http://deb.debian.org/debian trixie/main amd64 libpython3.13-stdlib amd64 3.13.5-2 [1956 kB] Get: 20 http://deb.debian.org/debian trixie/main amd64 python3.13 amd64 3.13.5-2 [757 kB] Get: 21 http://deb.debian.org/debian trixie/main amd64 libpython3-stdlib amd64 3.13.5-1 [10.2 kB] Get: 22 http://deb.debian.org/debian trixie/main amd64 python3 amd64 3.13.5-1 [28.2 kB] Get: 23 http://deb.debian.org/debian trixie/main amd64 libproc2-0 amd64 2:4.0.4-9 [65.6 kB] Get: 24 http://deb.debian.org/debian trixie/main amd64 procps amd64 2:4.0.4-9 [882 kB] Get: 25 http://deb.debian.org/debian trixie/main amd64 sensible-utils all 0.0.25 [25.0 kB] Get: 26 http://deb.debian.org/debian trixie/main amd64 openssl amd64 3.5.1-1 [1494 kB] Get: 27 http://deb.debian.org/debian trixie/main amd64 ca-certificates all 20250419 [162 kB] Get: 28 http://deb.debian.org/debian trixie/main amd64 libmagic-mgc amd64 1:5.46-5 [338 kB] Get: 29 http://deb.debian.org/debian trixie/main amd64 libmagic1t64 amd64 1:5.46-5 [109 kB] Get: 30 http://deb.debian.org/debian trixie/main amd64 file amd64 1:5.46-5 [43.6 kB] Get: 31 http://deb.debian.org/debian trixie/main amd64 gettext-base amd64 0.23.1-2 [243 kB] Get: 32 http://deb.debian.org/debian trixie/main amd64 libuchardet0 amd64 0.0.8-1+b2 [68.9 kB] Get: 33 http://deb.debian.org/debian trixie/main amd64 groff-base amd64 1.23.0-9 [1187 kB] Get: 34 http://deb.debian.org/debian trixie/main amd64 bsdextrautils amd64 2.41-5 [94.6 kB] Get: 35 http://deb.debian.org/debian trixie/main amd64 libpipeline1 amd64 1.5.8-1 [42.0 kB] Get: 36 http://deb.debian.org/debian trixie/main amd64 man-db amd64 2.13.1-1 [1469 kB] Get: 37 http://deb.debian.org/debian trixie/main amd64 libkmod2 amd64 34.2-2 [63.2 kB] Get: 38 http://deb.debian.org/debian trixie/main amd64 pci.ids all 0.0~2025.06.09-1 [269 kB] Get: 39 http://deb.debian.org/debian trixie/main amd64 libpci3 amd64 1:3.13.0-2 [75.6 kB] Get: 40 http://deb.debian.org/debian trixie/main amd64 pciutils amd64 1:3.13.0-2 [129 kB] Get: 41 http://deb.debian.org/debian trixie/main amd64 libunistring5 amd64 1.3-2 [477 kB] Get: 42 http://deb.debian.org/debian trixie/main amd64 libidn2-0 amd64 2.3.8-2 [109 kB] Get: 43 http://deb.debian.org/debian trixie/main amd64 libp11-kit0 amd64 0.25.5-3 [425 kB] Get: 44 http://deb.debian.org/debian trixie/main amd64 libtasn1-6 amd64 4.20.0-2 [49.9 kB] Get: 45 http://deb.debian.org/debian trixie/main amd64 libgnutls30t64 amd64 3.8.9-3 [1465 kB] Get: 46 http://deb.debian.org/debian trixie/main amd64 libpsl5t64 amd64 0.21.2-1.1+b1 [57.2 kB] Get: 47 http://deb.debian.org/debian trixie/main amd64 wget amd64 1.25.0-2 [984 kB] Get: 48 http://deb.debian.org/debian trixie/main amd64 m4 amd64 1.4.19-8 [294 kB] Get: 49 http://deb.debian.org/debian trixie/main amd64 autoconf all 2.72-3.1 [494 kB] Get: 50 http://deb.debian.org/debian trixie/main amd64 autotools-dev all 20240727.1 [60.2 kB] Get: 51 http://deb.debian.org/debian trixie/main amd64 automake all 1:1.17-4 [862 kB] Get: 52 http://deb.debian.org/debian trixie/main amd64 autopoint all 0.23.1-2 [770 kB] Get: 53 http://deb.debian.org/debian trixie/main amd64 libdebhelper-perl all 13.24.2 [90.9 kB] Get: 54 http://deb.debian.org/debian trixie/main amd64 libtool all 2.5.4-4 [539 kB] Get: 55 http://deb.debian.org/debian trixie/main amd64 dh-autoreconf all 20 [17.1 kB] Get: 56 http://deb.debian.org/debian trixie/main amd64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 57 http://deb.debian.org/debian trixie/main amd64 libfile-stripnondeterminism-perl all 1.14.1-2 [19.7 kB] Get: 58 http://deb.debian.org/debian trixie/main amd64 dh-strip-nondeterminism all 1.14.1-2 [8620 B] Get: 59 http://deb.debian.org/debian trixie/main amd64 libelf1t64 amd64 0.192-4 [189 kB] Get: 60 http://deb.debian.org/debian trixie/main amd64 dwz amd64 0.15-1+b1 [110 kB] Get: 61 http://deb.debian.org/debian trixie/main amd64 libxml2 amd64 2.12.7+dfsg+really2.9.14-2.1 [698 kB] Get: 62 http://deb.debian.org/debian trixie/main amd64 gettext amd64 0.23.1-2 [1680 kB] Get: 63 http://deb.debian.org/debian trixie/main amd64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 64 http://deb.debian.org/debian trixie/main amd64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 65 http://deb.debian.org/debian trixie/main amd64 debhelper all 13.24.2 [919 kB] Get: 66 http://deb.debian.org/debian trixie/main amd64 dh-python all 6.20250414 [116 kB] Get: 67 http://deb.debian.org/debian trixie/main amd64 sgml-base all 1.31+nmu1 [10.9 kB] Get: 68 http://deb.debian.org/debian trixie/main amd64 xml-core all 0.19 [20.1 kB] Get: 69 http://deb.debian.org/debian trixie/main amd64 docutils-common all 0.21.2+dfsg-2 [128 kB] Get: 70 http://deb.debian.org/debian trixie/main amd64 libmnl0 amd64 1.0.5-3 [11.9 kB] Get: 71 http://deb.debian.org/debian trixie/main amd64 ethtool amd64 1:6.14.1-1 [227 kB] Get: 72 http://deb.debian.org/debian trixie/main amd64 hdparm amd64 9.65+ds-1.1 [107 kB] Get: 73 http://deb.debian.org/debian trixie/main amd64 ieee-data all 20240722 [2221 kB] Get: 74 http://deb.debian.org/debian trixie/main amd64 libonig5 amd64 6.9.9-1+b1 [189 kB] Get: 75 http://deb.debian.org/debian trixie/main amd64 libjq1 amd64 1.7.1-6+deb13u1 [164 kB] Get: 76 http://deb.debian.org/debian trixie/main amd64 jq amd64 1.7.1-6+deb13u1 [77.7 kB] Get: 77 http://deb.debian.org/debian trixie/main amd64 libabsl20240722 amd64 20240722.0-4 [492 kB] Get: 78 http://deb.debian.org/debian trixie/main amd64 libaio1t64 amd64 0.3.113-8+b1 [14.9 kB] Get: 79 http://deb.debian.org/debian trixie/main amd64 libcares2 amd64 1.34.5-1 [98.2 kB] Get: 80 http://deb.debian.org/debian trixie/main amd64 libcom-err2 amd64 1.47.2-3+b3 [25.0 kB] Get: 81 http://deb.debian.org/debian trixie/main amd64 libev4t64 amd64 1:4.33-2.1+b1 [42.4 kB] Get: 82 http://deb.debian.org/debian trixie/main amd64 libexpat1-dev amd64 2.7.1-2 [161 kB] Get: 83 http://deb.debian.org/debian trixie/main amd64 libffi-dev amd64 3.4.8-2 [61.1 kB] Get: 84 http://deb.debian.org/debian trixie/main amd64 libglib2.0-0t64 amd64 2.84.3-1 [1515 kB] Get: 85 http://deb.debian.org/debian trixie/main amd64 libkrb5support0 amd64 1.21.3-5 [33.0 kB] Get: 86 http://deb.debian.org/debian trixie/main amd64 libk5crypto3 amd64 1.21.3-5 [81.5 kB] Get: 87 http://deb.debian.org/debian trixie/main amd64 libkeyutils1 amd64 1.6.3-6 [9456 B] Get: 88 http://deb.debian.org/debian trixie/main amd64 libkrb5-3 amd64 1.21.3-5 [326 kB] Get: 89 http://deb.debian.org/debian trixie/main amd64 libgssapi-krb5-2 amd64 1.21.3-5 [138 kB] Get: 90 http://deb.debian.org/debian trixie/main amd64 x11-common all 1:7.7+24 [217 kB] Get: 91 http://deb.debian.org/debian trixie/main amd64 libice6 amd64 2:1.1.1-1 [65.4 kB] Get: 92 http://deb.debian.org/debian trixie/main amd64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [326 kB] Get: 93 http://deb.debian.org/debian trixie/main amd64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [116 kB] Get: 94 http://deb.debian.org/debian trixie/main amd64 libjs-sphinxdoc all 8.1.3-5 [30.5 kB] Get: 95 http://deb.debian.org/debian trixie/main amd64 libnuma1 amd64 2.0.19-1 [22.2 kB] Get: 96 http://deb.debian.org/debian trixie/main amd64 libprotobuf32t64 amd64 3.21.12-11 [983 kB] Get: 97 http://deb.debian.org/debian trixie/main amd64 libpython3.13 amd64 3.13.5-2 [2160 kB] Get: 98 http://deb.debian.org/debian trixie/main amd64 zlib1g-dev amd64 1:1.3.dfsg+really1.3.1-1+b1 [920 kB] Get: 99 http://deb.debian.org/debian trixie/main amd64 libpython3.13-dev amd64 3.13.5-2 [5291 kB] Get: 100 http://deb.debian.org/debian trixie/main amd64 libpython3-dev amd64 3.13.5-1 [10.4 kB] Get: 101 http://deb.debian.org/debian trixie/main amd64 libpython3-all-dev amd64 3.13.5-1 [1068 B] Get: 102 http://deb.debian.org/debian trixie/main amd64 libre2-11 amd64 20240702-3+b1 [169 kB] Get: 103 http://deb.debian.org/debian trixie/main amd64 libsm6 amd64 2:1.2.6-1 [37.3 kB] Get: 104 http://deb.debian.org/debian trixie/main amd64 libsubunit-perl all 1.4.2-3 [5724 B] Get: 105 http://deb.debian.org/debian trixie/main amd64 liburing2 amd64 2.9-1 [26.4 kB] Get: 106 http://deb.debian.org/debian trixie/main amd64 libxau6 amd64 1:1.0.11-1 [20.4 kB] Get: 107 http://deb.debian.org/debian trixie/main amd64 libxdmcp6 amd64 1:1.1.5-1 [27.8 kB] Get: 108 http://deb.debian.org/debian trixie/main amd64 libxcb1 amd64 1.17.0-2+b1 [144 kB] Get: 109 http://deb.debian.org/debian trixie/main amd64 libx11-data all 2:1.8.12-1 [343 kB] Get: 110 http://deb.debian.org/debian trixie/main amd64 libx11-6 amd64 2:1.8.12-1 [815 kB] Get: 111 http://deb.debian.org/debian trixie/main amd64 libxext6 amd64 2:1.3.4-1+b3 [50.4 kB] Get: 112 http://deb.debian.org/debian trixie/main amd64 libxt6t64 amd64 1:1.2.1-1.2+b2 [188 kB] Get: 113 http://deb.debian.org/debian trixie/main amd64 libxmu6 amd64 2:1.1.3-3+b4 [59.0 kB] Get: 114 http://deb.debian.org/debian trixie/main amd64 libxslt1.1 amd64 1.1.35-1.2 [233 kB] Get: 115 http://deb.debian.org/debian trixie/main amd64 libyaml-0-2 amd64 0.2.5-2 [52.5 kB] Get: 116 http://deb.debian.org/debian trixie/main amd64 lsb-release all 12.1-1 [5912 B] Get: 117 http://deb.debian.org/debian trixie/main amd64 lshw amd64 02.19.git.2021.06.19.996aaad9c7-2.1 [312 kB] Get: 118 http://deb.debian.org/debian trixie/main amd64 python3-packaging all 25.0-1 [56.6 kB] Get: 119 http://deb.debian.org/debian trixie/main amd64 python3-wheel all 0.46.1-2 [21.7 kB] Get: 120 http://deb.debian.org/debian trixie/main amd64 python3-pip all 25.1.1+dfsg-1 [1457 kB] Get: 121 http://deb.debian.org/debian trixie/main amd64 openstack-pkg-tools all 135 [98.7 kB] Get: 122 http://deb.debian.org/debian trixie/main amd64 python-babel-localedata all 2.17.0-1 [6050 kB] Get: 123 http://deb.debian.org/debian trixie/main amd64 python3-all amd64 3.13.5-1 [1048 B] Get: 124 http://deb.debian.org/debian trixie/main amd64 python3.13-dev amd64 3.13.5-2 [504 kB] Get: 125 http://deb.debian.org/debian trixie/main amd64 python3-dev amd64 3.13.5-1 [26.1 kB] Get: 126 http://deb.debian.org/debian trixie/main amd64 python3-all-dev amd64 3.13.5-1 [1068 B] Get: 127 http://deb.debian.org/debian trixie/main amd64 python3-autocommand all 2.2.2-3 [13.6 kB] Get: 128 http://deb.debian.org/debian trixie/main amd64 python3-autopage all 0.4.0-4 [12.9 kB] Get: 129 http://deb.debian.org/debian trixie/main amd64 python3-babel all 2.17.0-1 [117 kB] Get: 130 http://deb.debian.org/debian trixie/main amd64 python3-bcrypt amd64 4.2.0-2.1+b1 [211 kB] Get: 131 http://deb.debian.org/debian trixie/main amd64 python3-blinker all 1.9.0-1 [12.6 kB] Get: 132 http://deb.debian.org/debian trixie/main amd64 python3-certifi all 2025.1.31+ds-1 [9652 B] Get: 133 http://deb.debian.org/debian trixie/main amd64 python3-cffi-backend amd64 1.17.1-3 [93.4 kB] Get: 134 http://deb.debian.org/debian trixie/main amd64 python3-chardet all 5.2.0+dfsg-2 [108 kB] Get: 135 http://deb.debian.org/debian trixie/main amd64 python3-charset-normalizer amd64 3.4.2-1 [128 kB] Get: 136 http://deb.debian.org/debian trixie/main amd64 python3-wcwidth all 0.2.13+dfsg1-1 [24.9 kB] Get: 137 http://deb.debian.org/debian trixie/main amd64 xclip amd64 0.13-4 [21.3 kB] Get: 138 http://deb.debian.org/debian trixie/main amd64 python3-pyperclip all 1.8.2-2 [13.2 kB] Get: 139 http://deb.debian.org/debian trixie/main amd64 python3-cmd2 all 2.5.11+ds-1 [150 kB] Get: 140 http://deb.debian.org/debian trixie/main amd64 python3-roman all 5.0-1 [10.6 kB] Get: 141 http://deb.debian.org/debian trixie/main amd64 python3-docutils all 0.21.2+dfsg-2 [403 kB] Get: 142 http://deb.debian.org/debian trixie/main amd64 python3-more-itertools all 10.7.0-1 [67.4 kB] Get: 143 http://deb.debian.org/debian trixie/main amd64 python3-typing-extensions all 4.13.2-1 [90.5 kB] Get: 144 http://deb.debian.org/debian trixie/main amd64 python3-typeguard all 4.4.2-1 [37.3 kB] Get: 145 http://deb.debian.org/debian trixie/main amd64 python3-inflect all 7.3.1-2 [32.4 kB] Get: 146 http://deb.debian.org/debian trixie/main amd64 python3-jaraco.context all 6.0.1-1 [8276 B] Get: 147 http://deb.debian.org/debian trixie/main amd64 python3-jaraco.functools all 4.1.0-1 [12.0 kB] Get: 148 http://deb.debian.org/debian trixie/main amd64 python3-pkg-resources all 78.1.1-0.1 [224 kB] Get: 149 http://deb.debian.org/debian trixie/main amd64 python3-jaraco.text all 4.0.0-1 [11.4 kB] Get: 150 http://deb.debian.org/debian trixie/main amd64 python3-zipp all 3.21.0-1 [10.6 kB] Get: 151 http://deb.debian.org/debian trixie/main amd64 python3-setuptools all 78.1.1-0.1 [738 kB] Get: 152 http://deb.debian.org/debian trixie/main amd64 python3-pbr all 6.1.1-2 [57.1 kB] Get: 153 http://deb.debian.org/debian trixie/main amd64 python3-prettytable all 3.15.1-1 [41.8 kB] Get: 154 http://deb.debian.org/debian trixie/main amd64 python3-stevedore all 5.4.1-2 [20.9 kB] Get: 155 http://deb.debian.org/debian trixie/main amd64 python3-yaml amd64 6.0.2-1+b2 [136 kB] Get: 156 http://deb.debian.org/debian trixie/main amd64 python3-cliff all 4.9.1-2 [44.2 kB] Get: 157 http://deb.debian.org/debian trixie/main amd64 python3-coverage amd64 7.6.0+dfsg1-2+b2 [175 kB] Get: 158 http://deb.debian.org/debian trixie/main amd64 python3-cryptography amd64 43.0.0-3 [941 kB] Get: 159 http://deb.debian.org/debian trixie/main amd64 python3-dateutil all 2.9.0-4 [79.4 kB] Get: 160 http://deb.debian.org/debian trixie/main amd64 python3-wrapt amd64 1.15.0-4+b1 [43.6 kB] Get: 161 http://deb.debian.org/debian trixie/main amd64 python3-debtcollector all 3.0.0-5 [13.2 kB] Get: 162 http://deb.debian.org/debian trixie/main amd64 python3-decorator all 5.2.1-2 [33.0 kB] Get: 163 http://deb.debian.org/debian trixie/main amd64 python3-deprecation all 2.1.0-4 [14.7 kB] Get: 164 http://deb.debian.org/debian trixie/main amd64 python3-dnspython all 2.7.0-1 [164 kB] Get: 165 http://deb.debian.org/debian trixie/main amd64 python3-markupsafe amd64 2.1.5-1+b3 [14.0 kB] Get: 166 http://deb.debian.org/debian trixie/main amd64 python3-mako all 1.3.9-1 [83.6 kB] Get: 167 http://deb.debian.org/debian trixie/main amd64 python3-dogpile.cache all 1.3.3-1 [46.0 kB] Get: 168 http://deb.debian.org/debian trixie/main amd64 python3-protobuf amd64 3.21.12-11 [251 kB] Get: 169 http://deb.debian.org/debian trixie/main amd64 python3-grpcio amd64 1.51.1-6 [2344 kB] Get: 170 http://deb.debian.org/debian trixie/main amd64 python3-six all 1.17.0-1 [16.5 kB] Get: 171 http://deb.debian.org/debian trixie/main amd64 python3-tenacity all 8.4.2+really8.4.1-2 [46.0 kB] Get: 172 http://deb.debian.org/debian trixie/main amd64 python3-etcd3 all 0.12.0-3 [31.0 kB] Get: 173 http://deb.debian.org/debian trixie/main amd64 python3-greenlet amd64 3.1.0-1+b2 [165 kB] Get: 174 http://deb.debian.org/debian trixie/main amd64 python3-futurist all 3.1.0-2 [24.1 kB] Get: 175 http://deb.debian.org/debian trixie/main amd64 python3-idna all 3.10-1 [42.0 kB] Get: 176 http://deb.debian.org/debian trixie/main amd64 python3-urllib3 all 2.3.0-3 [115 kB] Get: 177 http://deb.debian.org/debian trixie/main amd64 python3-requests all 2.32.3+dfsg-5 [72.2 kB] Get: 178 http://deb.debian.org/debian trixie/main amd64 python3-etcd3gw all 2.4.2-3 [13.9 kB] Get: 179 http://deb.debian.org/debian trixie/main amd64 python3-eventlet all 0.39.1-2 [310 kB] Get: 180 http://deb.debian.org/debian trixie/main amd64 python3-extras all 1.0.0-6 [7528 B] Get: 181 http://deb.debian.org/debian trixie/main amd64 python3-monotonic all 1.6-3 [5340 B] Get: 182 http://deb.debian.org/debian trixie/main amd64 python3-fasteners all 0.18-2 [14.0 kB] Get: 183 http://deb.debian.org/debian trixie/main amd64 python3-testtools all 2.7.2-5 [123 kB] Get: 184 http://deb.debian.org/debian trixie/main amd64 python3-fixtures all 4.1.0-3 [34.2 kB] Get: 185 http://deb.debian.org/debian trixie/main amd64 python3-flexcache all 0.3-2 [13.5 kB] Get: 186 http://deb.debian.org/debian trixie/main amd64 python3-flexparser all 0.4-1 [42.9 kB] Get: 187 http://deb.debian.org/debian trixie/main amd64 python3-zope.event all 5.0-0.1 [8164 B] Get: 188 http://deb.debian.org/debian trixie/main amd64 python3-zope.interface amd64 7.2-1+b1 [152 kB] Get: 189 http://deb.debian.org/debian trixie/main amd64 python3-gevent amd64 24.11.1-1+b1 [829 kB] Get: 190 http://deb.debian.org/debian trixie/main amd64 python3-ptyprocess all 0.7.0-6 [14.5 kB] Get: 191 http://deb.debian.org/debian trixie/main amd64 python3-pexpect all 4.9-3 [55.6 kB] Get: 192 http://deb.debian.org/debian trixie/main amd64 smartmontools amd64 7.4-3 [648 kB] Get: 193 http://deb.debian.org/debian trixie/main amd64 python3-hardware all 0.30.0-4 [57.0 kB] Get: 194 http://deb.debian.org/debian trixie/main amd64 python3-ifaddr all 0.2.0-2 [9916 B] Get: 195 http://deb.debian.org/debian trixie/main amd64 python3-iso8601 all 2.1.0-2 [12.1 kB] Get: 196 http://deb.debian.org/debian trixie/main amd64 python3-jinja2 all 3.1.6-1 [107 kB] Get: 197 http://deb.debian.org/debian trixie/main amd64 python3-jmespath all 1.0.1-1 [21.1 kB] Get: 198 http://deb.debian.org/debian trixie/main amd64 python3-json-pointer all 2.4-3 [14.6 kB] Get: 199 http://deb.debian.org/debian trixie/main amd64 python3-jsonpatch all 1.32-5 [12.1 kB] Get: 200 http://deb.debian.org/debian trixie/main amd64 python3-jwt all 2.10.1-2 [31.3 kB] Get: 201 http://deb.debian.org/debian trixie/main amd64 python3-kerberos amd64 1.1.14-3.1+b11 [20.4 kB] Get: 202 http://deb.debian.org/debian trixie/main amd64 python3-pure-sasl all 0.5.1+dfsg1-5 [11.9 kB] Get: 203 http://deb.debian.org/debian trixie/main amd64 python3-kazoo all 2.9.0-2 [115 kB] Get: 204 http://deb.debian.org/debian trixie/main amd64 python3-lxml amd64 5.4.0-1 [1297 kB] Get: 205 http://deb.debian.org/debian trixie/main amd64 python3-oauthlib all 3.2.2-3 [95.6 kB] Get: 206 http://deb.debian.org/debian trixie/main amd64 python3-os-service-types all 1.7.0-5 [12.6 kB] Get: 207 http://deb.debian.org/debian trixie/main amd64 python3-keystoneauth1 all 5.10.0-2 [164 kB] Get: 208 http://deb.debian.org/debian trixie/main amd64 python3-legacy-cgi all 2.6.3-1 [16.5 kB] Get: 209 http://deb.debian.org/debian trixie/main amd64 python3-msgpack amd64 1.0.3-3+b4 [84.5 kB] Get: 210 http://deb.debian.org/debian trixie/main amd64 python3-netaddr all 1.3.0-1 [356 kB] Get: 211 http://deb.debian.org/debian trixie/main amd64 python3-platformdirs all 4.3.7-1 [16.6 kB] Get: 212 http://deb.debian.org/debian trixie/main amd64 python3-psutil amd64 7.0.0-2 [220 kB] Get: 213 http://deb.debian.org/debian trixie/main amd64 python3-requestsexceptions all 1.4.0-5 [3860 B] Get: 214 http://deb.debian.org/debian trixie/main amd64 python3-openstacksdk all 4.4.0-5 [681 kB] Get: 215 http://deb.debian.org/debian trixie/main amd64 python3-os-client-config all 2.1.0-3 [17.5 kB] Get: 216 http://deb.debian.org/debian trixie/main amd64 python3-oslo.i18n all 6.5.1-3 [19.2 kB] Get: 217 http://deb.debian.org/debian trixie/main amd64 python3-oslo.context all 5.7.1-3 [13.4 kB] Get: 218 http://deb.debian.org/debian trixie/main amd64 python3-pyparsing all 3.1.2-1 [146 kB] Get: 219 http://deb.debian.org/debian trixie/main amd64 python3-pytz all 2025.2-3 [152 kB] Get: 220 http://deb.debian.org/debian trixie/main amd64 python3-tz all 2025.2-3 [4280 B] Get: 221 http://deb.debian.org/debian trixie/main amd64 python3-oslo.utils all 8.2.0-4 [83.9 kB] Get: 222 http://deb.debian.org/debian trixie/main amd64 python3-oslo.serialization all 5.7.0-3 [14.7 kB] Get: 223 http://deb.debian.org/debian trixie/main amd64 python3-pyasyncore all 1.0.2-3 [10.1 kB] Get: 224 http://deb.debian.org/debian trixie/main amd64 python3-oslo.log all 7.1.0-4 [43.0 kB] Get: 225 http://deb.debian.org/debian trixie/main amd64 python3-rfc3986 all 2.0.0-3 [21.6 kB] Get: 226 http://deb.debian.org/debian trixie/main amd64 python3-oslo.config all 1:9.7.1-3 [108 kB] Get: 227 http://deb.debian.org/debian trixie/main amd64 python3-oslo.concurrency all 7.1.0-3 [27.2 kB] Get: 228 http://deb.debian.org/debian trixie/main amd64 python3-tempita all 0.6.0-1 [14.6 kB] Get: 229 http://deb.debian.org/debian trixie/main amd64 python3-paste all 3.10.1-1 [222 kB] Get: 230 http://deb.debian.org/debian trixie/main amd64 python3-pastedeploy-tpl all 3.1-1 [8268 B] Get: 231 http://deb.debian.org/debian trixie/main amd64 python3-pastedeploy all 3.1-1 [18.3 kB] Get: 232 http://deb.debian.org/debian trixie/main amd64 python3-repoze.lru all 0.7-3 [12.2 kB] Get: 233 http://deb.debian.org/debian trixie/main amd64 python3-routes all 2.5.1-7 [98.2 kB] Get: 234 http://deb.debian.org/debian trixie/main amd64 python3-yappi amd64 1.6.10-2+b1 [32.5 kB] Get: 235 http://deb.debian.org/debian trixie/main amd64 python3-webob all 1:1.8.9-1 [89.1 kB] Get: 236 http://deb.debian.org/debian trixie/main amd64 python3-oslo.service all 4.1.1-2 [46.9 kB] Get: 237 http://deb.debian.org/debian trixie/main amd64 python3-tomlkit all 0.13.2-1 [42.7 kB] Get: 238 http://deb.debian.org/debian trixie/main amd64 python3-voluptuous all 0.14.2-1 [45.8 kB] Get: 239 http://deb.debian.org/debian trixie/main amd64 python3-subunit all 1.4.2-3 [66.4 kB] Get: 240 http://deb.debian.org/debian trixie/main amd64 subunit all 1.4.2-3 [5248 B] Get: 241 http://deb.debian.org/debian trixie/main amd64 python3-stestr all 4.1.0-3 [56.9 kB] Get: 242 http://deb.debian.org/debian trixie/main amd64 python3-oslotest all 1:5.0.0-4 [17.2 kB] Get: 243 http://deb.debian.org/debian trixie/main amd64 python3-pint all 0.24.4-2 [225 kB] Get: 244 http://deb.debian.org/debian trixie/main amd64 python3-pymemcache all 4.0.0-8 [45.0 kB] Get: 245 http://deb.debian.org/debian trixie/main amd64 python3-pymysql all 1.1.1-2 [43.0 kB] Get: 246 http://deb.debian.org/debian trixie/main amd64 python3-pyudev all 0.24.3-1 [32.6 kB] Get: 247 http://deb.debian.org/debian trixie/main amd64 python3-redis all 6.1.0-2 [249 kB] Get: 248 http://deb.debian.org/debian trixie/main amd64 python3-zake all 0.2.2-8 [15.6 kB] Get: 249 http://deb.debian.org/debian trixie/main amd64 python3-tooz all 6.3.0-4 [52.6 kB] Get: 250 http://deb.debian.org/debian trixie/main amd64 python3-werkzeug all 3.1.3-2 [207 kB] Get: 251 http://deb.debian.org/debian trixie/main amd64 python3-zeroconf all 0.147.0-1 [82.2 kB] Get: 252 http://deb.debian.org/debian trixie/main amd64 qemu-utils amd64 1:10.0.2+ds-2+b1 [1992 kB] Fetched 73.4 MB in 5s (14.6 MB/s) Preconfiguring packages ... Selecting previously unselected package freeipmi-common. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19851 files and directories currently installed.) Preparing to unpack .../00-freeipmi-common_1.6.15-1_all.deb ... Unpacking freeipmi-common (1.6.15-1) ... Selecting previously unselected package libgpg-error0:amd64. Preparing to unpack .../01-libgpg-error0_1.51-4_amd64.deb ... Unpacking libgpg-error0:amd64 (1.51-4) ... Selecting previously unselected package libgcrypt20:amd64. Preparing to unpack .../02-libgcrypt20_1.11.0-7_amd64.deb ... Unpacking libgcrypt20:amd64 (1.11.0-7) ... Selecting previously unselected package libfreeipmi17. Preparing to unpack .../03-libfreeipmi17_1.6.15-1_amd64.deb ... Unpacking libfreeipmi17 (1.6.15-1) ... Selecting previously unselected package readline-common. Preparing to unpack .../04-readline-common_8.2-6_all.deb ... Unpacking readline-common (8.2-6) ... Selecting previously unselected package libreadline8t64:amd64. Preparing to unpack .../05-libreadline8t64_8.2-6_amd64.deb ... Adding 'diversion of /lib/x86_64-linux-gnu/libhistory.so.8 to /lib/x86_64-linux-gnu/libhistory.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/x86_64-linux-gnu/libhistory.so.8.2 to /lib/x86_64-linux-gnu/libhistory.so.8.2.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/x86_64-linux-gnu/libreadline.so.8 to /lib/x86_64-linux-gnu/libreadline.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/x86_64-linux-gnu/libreadline.so.8.2 to /lib/x86_64-linux-gnu/libreadline.so.8.2.usr-is-merged by libreadline8t64' Unpacking libreadline8t64:amd64 (8.2-6) ... Selecting previously unselected package ipmitool. Preparing to unpack .../06-ipmitool_1.8.19-9_amd64.deb ... Unpacking ipmitool (1.8.19-9) ... Selecting previously unselected package libexpat1:amd64. Preparing to unpack .../07-libexpat1_2.7.1-2_amd64.deb ... Unpacking libexpat1:amd64 (2.7.1-2) ... Selecting previously unselected package libconfig11:amd64. Preparing to unpack .../08-libconfig11_1.7.3-2_amd64.deb ... Unpacking libconfig11:amd64 (1.7.3-2) ... Selecting previously unselected package libnl-3-200:amd64. Preparing to unpack .../09-libnl-3-200_3.7.0-2_amd64.deb ... Unpacking libnl-3-200:amd64 (3.7.0-2) ... Selecting previously unselected package lldpad. Preparing to unpack .../10-lldpad_1.1.1-1+b1_amd64.deb ... Unpacking lldpad (1.1.1-1+b1) ... Selecting previously unselected package libpython3.13-minimal:amd64. Preparing to unpack .../11-libpython3.13-minimal_3.13.5-2_amd64.deb ... Unpacking libpython3.13-minimal:amd64 (3.13.5-2) ... Selecting previously unselected package python3.13-minimal. Preparing to unpack .../12-python3.13-minimal_3.13.5-2_amd64.deb ... Unpacking python3.13-minimal (3.13.5-2) ... Setting up libpython3.13-minimal:amd64 (3.13.5-2) ... Setting up libexpat1:amd64 (2.7.1-2) ... Setting up python3.13-minimal (3.13.5-2) ... Selecting previously unselected package python3-minimal. (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 ... 20362 files and directories currently installed.) Preparing to unpack .../0-python3-minimal_3.13.5-1_amd64.deb ... Unpacking python3-minimal (3.13.5-1) ... Selecting previously unselected package media-types. Preparing to unpack .../1-media-types_13.0.0_all.deb ... Unpacking media-types (13.0.0) ... Selecting previously unselected package netbase. Preparing to unpack .../2-netbase_6.5_all.deb ... Unpacking netbase (6.5) ... Selecting previously unselected package tzdata. Preparing to unpack .../3-tzdata_2025b-4_all.deb ... Unpacking tzdata (2025b-4) ... Selecting previously unselected package libffi8:amd64. Preparing to unpack .../4-libffi8_3.4.8-2_amd64.deb ... Unpacking libffi8:amd64 (3.4.8-2) ... Selecting previously unselected package libpython3.13-stdlib:amd64. Preparing to unpack .../5-libpython3.13-stdlib_3.13.5-2_amd64.deb ... Unpacking libpython3.13-stdlib:amd64 (3.13.5-2) ... Selecting previously unselected package python3.13. Preparing to unpack .../6-python3.13_3.13.5-2_amd64.deb ... Unpacking python3.13 (3.13.5-2) ... Selecting previously unselected package libpython3-stdlib:amd64. Preparing to unpack .../7-libpython3-stdlib_3.13.5-1_amd64.deb ... Unpacking libpython3-stdlib:amd64 (3.13.5-1) ... Setting up python3-minimal (3.13.5-1) ... Selecting previously unselected package python3. (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 ... 21345 files and directories currently installed.) Preparing to unpack .../000-python3_3.13.5-1_amd64.deb ... Unpacking python3 (3.13.5-1) ... Selecting previously unselected package libproc2-0:amd64. Preparing to unpack .../001-libproc2-0_2%3a4.0.4-9_amd64.deb ... Unpacking libproc2-0:amd64 (2:4.0.4-9) ... Selecting previously unselected package procps. Preparing to unpack .../002-procps_2%3a4.0.4-9_amd64.deb ... Unpacking procps (2:4.0.4-9) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../003-sensible-utils_0.0.25_all.deb ... Unpacking sensible-utils (0.0.25) ... Selecting previously unselected package openssl. Preparing to unpack .../004-openssl_3.5.1-1_amd64.deb ... Unpacking openssl (3.5.1-1) ... Selecting previously unselected package ca-certificates. Preparing to unpack .../005-ca-certificates_20250419_all.deb ... Unpacking ca-certificates (20250419) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../006-libmagic-mgc_1%3a5.46-5_amd64.deb ... Unpacking libmagic-mgc (1:5.46-5) ... Selecting previously unselected package libmagic1t64:amd64. Preparing to unpack .../007-libmagic1t64_1%3a5.46-5_amd64.deb ... Unpacking libmagic1t64:amd64 (1:5.46-5) ... Selecting previously unselected package file. Preparing to unpack .../008-file_1%3a5.46-5_amd64.deb ... Unpacking file (1:5.46-5) ... Selecting previously unselected package gettext-base. Preparing to unpack .../009-gettext-base_0.23.1-2_amd64.deb ... Unpacking gettext-base (0.23.1-2) ... Selecting previously unselected package libuchardet0:amd64. Preparing to unpack .../010-libuchardet0_0.0.8-1+b2_amd64.deb ... Unpacking libuchardet0:amd64 (0.0.8-1+b2) ... Selecting previously unselected package groff-base. Preparing to unpack .../011-groff-base_1.23.0-9_amd64.deb ... Unpacking groff-base (1.23.0-9) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../012-bsdextrautils_2.41-5_amd64.deb ... Unpacking bsdextrautils (2.41-5) ... Selecting previously unselected package libpipeline1:amd64. Preparing to unpack .../013-libpipeline1_1.5.8-1_amd64.deb ... Unpacking libpipeline1:amd64 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../014-man-db_2.13.1-1_amd64.deb ... Unpacking man-db (2.13.1-1) ... Selecting previously unselected package libkmod2:amd64. Preparing to unpack .../015-libkmod2_34.2-2_amd64.deb ... Unpacking libkmod2:amd64 (34.2-2) ... Selecting previously unselected package pci.ids. Preparing to unpack .../016-pci.ids_0.0~2025.06.09-1_all.deb ... Unpacking pci.ids (0.0~2025.06.09-1) ... Selecting previously unselected package libpci3:amd64. Preparing to unpack .../017-libpci3_1%3a3.13.0-2_amd64.deb ... Unpacking libpci3:amd64 (1:3.13.0-2) ... Selecting previously unselected package pciutils. Preparing to unpack .../018-pciutils_1%3a3.13.0-2_amd64.deb ... Unpacking pciutils (1:3.13.0-2) ... Selecting previously unselected package libunistring5:amd64. Preparing to unpack .../019-libunistring5_1.3-2_amd64.deb ... Unpacking libunistring5:amd64 (1.3-2) ... Selecting previously unselected package libidn2-0:amd64. Preparing to unpack .../020-libidn2-0_2.3.8-2_amd64.deb ... Unpacking libidn2-0:amd64 (2.3.8-2) ... Selecting previously unselected package libp11-kit0:amd64. Preparing to unpack .../021-libp11-kit0_0.25.5-3_amd64.deb ... Unpacking libp11-kit0:amd64 (0.25.5-3) ... Selecting previously unselected package libtasn1-6:amd64. Preparing to unpack .../022-libtasn1-6_4.20.0-2_amd64.deb ... Unpacking libtasn1-6:amd64 (4.20.0-2) ... Selecting previously unselected package libgnutls30t64:amd64. Preparing to unpack .../023-libgnutls30t64_3.8.9-3_amd64.deb ... Unpacking libgnutls30t64:amd64 (3.8.9-3) ... Selecting previously unselected package libpsl5t64:amd64. Preparing to unpack .../024-libpsl5t64_0.21.2-1.1+b1_amd64.deb ... Unpacking libpsl5t64:amd64 (0.21.2-1.1+b1) ... Selecting previously unselected package wget. Preparing to unpack .../025-wget_1.25.0-2_amd64.deb ... Unpacking wget (1.25.0-2) ... Selecting previously unselected package m4. Preparing to unpack .../026-m4_1.4.19-8_amd64.deb ... Unpacking m4 (1.4.19-8) ... Selecting previously unselected package autoconf. Preparing to unpack .../027-autoconf_2.72-3.1_all.deb ... Unpacking autoconf (2.72-3.1) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../028-autotools-dev_20240727.1_all.deb ... Unpacking autotools-dev (20240727.1) ... Selecting previously unselected package automake. Preparing to unpack .../029-automake_1%3a1.17-4_all.deb ... Unpacking automake (1:1.17-4) ... Selecting previously unselected package autopoint. Preparing to unpack .../030-autopoint_0.23.1-2_all.deb ... Unpacking autopoint (0.23.1-2) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../031-libdebhelper-perl_13.24.2_all.deb ... Unpacking libdebhelper-perl (13.24.2) ... Selecting previously unselected package libtool. Preparing to unpack .../032-libtool_2.5.4-4_all.deb ... Unpacking libtool (2.5.4-4) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../033-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../034-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../035-libfile-stripnondeterminism-perl_1.14.1-2_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.1-2) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../036-dh-strip-nondeterminism_1.14.1-2_all.deb ... Unpacking dh-strip-nondeterminism (1.14.1-2) ... Selecting previously unselected package libelf1t64:amd64. Preparing to unpack .../037-libelf1t64_0.192-4_amd64.deb ... Unpacking libelf1t64:amd64 (0.192-4) ... Selecting previously unselected package dwz. Preparing to unpack .../038-dwz_0.15-1+b1_amd64.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libxml2:amd64. Preparing to unpack .../039-libxml2_2.12.7+dfsg+really2.9.14-2.1_amd64.deb ... Unpacking libxml2:amd64 (2.12.7+dfsg+really2.9.14-2.1) ... Selecting previously unselected package gettext. Preparing to unpack .../040-gettext_0.23.1-2_amd64.deb ... Unpacking gettext (0.23.1-2) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../041-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../042-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../043-debhelper_13.24.2_all.deb ... Unpacking debhelper (13.24.2) ... Selecting previously unselected package dh-python. Preparing to unpack .../044-dh-python_6.20250414_all.deb ... Unpacking dh-python (6.20250414) ... Selecting previously unselected package sgml-base. Preparing to unpack .../045-sgml-base_1.31+nmu1_all.deb ... Unpacking sgml-base (1.31+nmu1) ... Selecting previously unselected package xml-core. Preparing to unpack .../046-xml-core_0.19_all.deb ... Unpacking xml-core (0.19) ... Selecting previously unselected package docutils-common. Preparing to unpack .../047-docutils-common_0.21.2+dfsg-2_all.deb ... Unpacking docutils-common (0.21.2+dfsg-2) ... Selecting previously unselected package libmnl0:amd64. Preparing to unpack .../048-libmnl0_1.0.5-3_amd64.deb ... Unpacking libmnl0:amd64 (1.0.5-3) ... Selecting previously unselected package ethtool. Preparing to unpack .../049-ethtool_1%3a6.14.1-1_amd64.deb ... Unpacking ethtool (1:6.14.1-1) ... Selecting previously unselected package hdparm. Preparing to unpack .../050-hdparm_9.65+ds-1.1_amd64.deb ... Unpacking hdparm (9.65+ds-1.1) ... Selecting previously unselected package ieee-data. Preparing to unpack .../051-ieee-data_20240722_all.deb ... Unpacking ieee-data (20240722) ... Selecting previously unselected package libonig5:amd64. Preparing to unpack .../052-libonig5_6.9.9-1+b1_amd64.deb ... Unpacking libonig5:amd64 (6.9.9-1+b1) ... Selecting previously unselected package libjq1:amd64. Preparing to unpack .../053-libjq1_1.7.1-6+deb13u1_amd64.deb ... Unpacking libjq1:amd64 (1.7.1-6+deb13u1) ... Selecting previously unselected package jq. Preparing to unpack .../054-jq_1.7.1-6+deb13u1_amd64.deb ... Unpacking jq (1.7.1-6+deb13u1) ... Selecting previously unselected package libabsl20240722:amd64. Preparing to unpack .../055-libabsl20240722_20240722.0-4_amd64.deb ... Unpacking libabsl20240722:amd64 (20240722.0-4) ... Selecting previously unselected package libaio1t64:amd64. Preparing to unpack .../056-libaio1t64_0.3.113-8+b1_amd64.deb ... Unpacking libaio1t64:amd64 (0.3.113-8+b1) ... Selecting previously unselected package libcares2:amd64. Preparing to unpack .../057-libcares2_1.34.5-1_amd64.deb ... Unpacking libcares2:amd64 (1.34.5-1) ... Selecting previously unselected package libcom-err2:amd64. Preparing to unpack .../058-libcom-err2_1.47.2-3+b3_amd64.deb ... Unpacking libcom-err2:amd64 (1.47.2-3+b3) ... Selecting previously unselected package libev4t64:amd64. Preparing to unpack .../059-libev4t64_1%3a4.33-2.1+b1_amd64.deb ... Unpacking libev4t64:amd64 (1:4.33-2.1+b1) ... Selecting previously unselected package libexpat1-dev:amd64. Preparing to unpack .../060-libexpat1-dev_2.7.1-2_amd64.deb ... Unpacking libexpat1-dev:amd64 (2.7.1-2) ... Selecting previously unselected package libffi-dev:amd64. Preparing to unpack .../061-libffi-dev_3.4.8-2_amd64.deb ... Unpacking libffi-dev:amd64 (3.4.8-2) ... Selecting previously unselected package libglib2.0-0t64:amd64. Preparing to unpack .../062-libglib2.0-0t64_2.84.3-1_amd64.deb ... Unpacking libglib2.0-0t64:amd64 (2.84.3-1) ... Selecting previously unselected package libkrb5support0:amd64. Preparing to unpack .../063-libkrb5support0_1.21.3-5_amd64.deb ... Unpacking libkrb5support0:amd64 (1.21.3-5) ... Selecting previously unselected package libk5crypto3:amd64. Preparing to unpack .../064-libk5crypto3_1.21.3-5_amd64.deb ... Unpacking libk5crypto3:amd64 (1.21.3-5) ... Selecting previously unselected package libkeyutils1:amd64. Preparing to unpack .../065-libkeyutils1_1.6.3-6_amd64.deb ... Unpacking libkeyutils1:amd64 (1.6.3-6) ... Selecting previously unselected package libkrb5-3:amd64. Preparing to unpack .../066-libkrb5-3_1.21.3-5_amd64.deb ... Unpacking libkrb5-3:amd64 (1.21.3-5) ... Selecting previously unselected package libgssapi-krb5-2:amd64. Preparing to unpack .../067-libgssapi-krb5-2_1.21.3-5_amd64.deb ... Unpacking libgssapi-krb5-2:amd64 (1.21.3-5) ... Selecting previously unselected package x11-common. Preparing to unpack .../068-x11-common_1%3a7.7+24_all.deb ... Unpacking x11-common (1:7.7+24) ... Selecting previously unselected package libice6:amd64. Preparing to unpack .../069-libice6_2%3a1.1.1-1_amd64.deb ... Unpacking libice6:amd64 (2:1.1.1-1) ... Selecting previously unselected package libjs-jquery. Preparing to unpack .../070-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... Selecting previously unselected package libjs-underscore. Preparing to unpack .../071-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... Selecting previously unselected package libjs-sphinxdoc. Preparing to unpack .../072-libjs-sphinxdoc_8.1.3-5_all.deb ... Unpacking libjs-sphinxdoc (8.1.3-5) ... Selecting previously unselected package libnuma1:amd64. Preparing to unpack .../073-libnuma1_2.0.19-1_amd64.deb ... Unpacking libnuma1:amd64 (2.0.19-1) ... Selecting previously unselected package libprotobuf32t64:amd64. Preparing to unpack .../074-libprotobuf32t64_3.21.12-11_amd64.deb ... Unpacking libprotobuf32t64:amd64 (3.21.12-11) ... Selecting previously unselected package libpython3.13:amd64. Preparing to unpack .../075-libpython3.13_3.13.5-2_amd64.deb ... Unpacking libpython3.13:amd64 (3.13.5-2) ... Selecting previously unselected package zlib1g-dev:amd64. Preparing to unpack .../076-zlib1g-dev_1%3a1.3.dfsg+really1.3.1-1+b1_amd64.deb ... Unpacking zlib1g-dev:amd64 (1:1.3.dfsg+really1.3.1-1+b1) ... Selecting previously unselected package libpython3.13-dev:amd64. Preparing to unpack .../077-libpython3.13-dev_3.13.5-2_amd64.deb ... Unpacking libpython3.13-dev:amd64 (3.13.5-2) ... Selecting previously unselected package libpython3-dev:amd64. Preparing to unpack .../078-libpython3-dev_3.13.5-1_amd64.deb ... Unpacking libpython3-dev:amd64 (3.13.5-1) ... Selecting previously unselected package libpython3-all-dev:amd64. Preparing to unpack .../079-libpython3-all-dev_3.13.5-1_amd64.deb ... Unpacking libpython3-all-dev:amd64 (3.13.5-1) ... Selecting previously unselected package libre2-11:amd64. Preparing to unpack .../080-libre2-11_20240702-3+b1_amd64.deb ... Unpacking libre2-11:amd64 (20240702-3+b1) ... Selecting previously unselected package libsm6:amd64. Preparing to unpack .../081-libsm6_2%3a1.2.6-1_amd64.deb ... Unpacking libsm6:amd64 (2:1.2.6-1) ... Selecting previously unselected package libsubunit-perl. Preparing to unpack .../082-libsubunit-perl_1.4.2-3_all.deb ... Unpacking libsubunit-perl (1.4.2-3) ... Selecting previously unselected package liburing2:amd64. Preparing to unpack .../083-liburing2_2.9-1_amd64.deb ... Unpacking liburing2:amd64 (2.9-1) ... Selecting previously unselected package libxau6:amd64. Preparing to unpack .../084-libxau6_1%3a1.0.11-1_amd64.deb ... Unpacking libxau6:amd64 (1:1.0.11-1) ... Selecting previously unselected package libxdmcp6:amd64. Preparing to unpack .../085-libxdmcp6_1%3a1.1.5-1_amd64.deb ... Unpacking libxdmcp6:amd64 (1:1.1.5-1) ... Selecting previously unselected package libxcb1:amd64. Preparing to unpack .../086-libxcb1_1.17.0-2+b1_amd64.deb ... Unpacking libxcb1:amd64 (1.17.0-2+b1) ... Selecting previously unselected package libx11-data. Preparing to unpack .../087-libx11-data_2%3a1.8.12-1_all.deb ... Unpacking libx11-data (2:1.8.12-1) ... Selecting previously unselected package libx11-6:amd64. Preparing to unpack .../088-libx11-6_2%3a1.8.12-1_amd64.deb ... Unpacking libx11-6:amd64 (2:1.8.12-1) ... Selecting previously unselected package libxext6:amd64. Preparing to unpack .../089-libxext6_2%3a1.3.4-1+b3_amd64.deb ... Unpacking libxext6:amd64 (2:1.3.4-1+b3) ... Selecting previously unselected package libxt6t64:amd64. Preparing to unpack .../090-libxt6t64_1%3a1.2.1-1.2+b2_amd64.deb ... Unpacking libxt6t64:amd64 (1:1.2.1-1.2+b2) ... Selecting previously unselected package libxmu6:amd64. Preparing to unpack .../091-libxmu6_2%3a1.1.3-3+b4_amd64.deb ... Unpacking libxmu6:amd64 (2:1.1.3-3+b4) ... Selecting previously unselected package libxslt1.1:amd64. Preparing to unpack .../092-libxslt1.1_1.1.35-1.2_amd64.deb ... Unpacking libxslt1.1:amd64 (1.1.35-1.2) ... Selecting previously unselected package libyaml-0-2:amd64. Preparing to unpack .../093-libyaml-0-2_0.2.5-2_amd64.deb ... Unpacking libyaml-0-2:amd64 (0.2.5-2) ... Selecting previously unselected package lsb-release. Preparing to unpack .../094-lsb-release_12.1-1_all.deb ... Unpacking lsb-release (12.1-1) ... Selecting previously unselected package lshw. Preparing to unpack .../095-lshw_02.19.git.2021.06.19.996aaad9c7-2.1_amd64.deb ... Unpacking lshw (02.19.git.2021.06.19.996aaad9c7-2.1) ... Selecting previously unselected package python3-packaging. Preparing to unpack .../096-python3-packaging_25.0-1_all.deb ... Unpacking python3-packaging (25.0-1) ... Selecting previously unselected package python3-wheel. Preparing to unpack .../097-python3-wheel_0.46.1-2_all.deb ... Unpacking python3-wheel (0.46.1-2) ... Selecting previously unselected package python3-pip. Preparing to unpack .../098-python3-pip_25.1.1+dfsg-1_all.deb ... Unpacking python3-pip (25.1.1+dfsg-1) ... Selecting previously unselected package openstack-pkg-tools. Preparing to unpack .../099-openstack-pkg-tools_135_all.deb ... Unpacking openstack-pkg-tools (135) ... Selecting previously unselected package python-babel-localedata. Preparing to unpack .../100-python-babel-localedata_2.17.0-1_all.deb ... Unpacking python-babel-localedata (2.17.0-1) ... Selecting previously unselected package python3-all. Preparing to unpack .../101-python3-all_3.13.5-1_amd64.deb ... Unpacking python3-all (3.13.5-1) ... Selecting previously unselected package python3.13-dev. Preparing to unpack .../102-python3.13-dev_3.13.5-2_amd64.deb ... Unpacking python3.13-dev (3.13.5-2) ... Selecting previously unselected package python3-dev. Preparing to unpack .../103-python3-dev_3.13.5-1_amd64.deb ... Unpacking python3-dev (3.13.5-1) ... Selecting previously unselected package python3-all-dev. Preparing to unpack .../104-python3-all-dev_3.13.5-1_amd64.deb ... Unpacking python3-all-dev (3.13.5-1) ... Selecting previously unselected package python3-autocommand. Preparing to unpack .../105-python3-autocommand_2.2.2-3_all.deb ... Unpacking python3-autocommand (2.2.2-3) ... Selecting previously unselected package python3-autopage. Preparing to unpack .../106-python3-autopage_0.4.0-4_all.deb ... Unpacking python3-autopage (0.4.0-4) ... Selecting previously unselected package python3-babel. Preparing to unpack .../107-python3-babel_2.17.0-1_all.deb ... Unpacking python3-babel (2.17.0-1) ... Selecting previously unselected package python3-bcrypt. Preparing to unpack .../108-python3-bcrypt_4.2.0-2.1+b1_amd64.deb ... Unpacking python3-bcrypt (4.2.0-2.1+b1) ... Selecting previously unselected package python3-blinker. Preparing to unpack .../109-python3-blinker_1.9.0-1_all.deb ... Unpacking python3-blinker (1.9.0-1) ... Selecting previously unselected package python3-certifi. Preparing to unpack .../110-python3-certifi_2025.1.31+ds-1_all.deb ... Unpacking python3-certifi (2025.1.31+ds-1) ... Selecting previously unselected package python3-cffi-backend:amd64. Preparing to unpack .../111-python3-cffi-backend_1.17.1-3_amd64.deb ... Unpacking python3-cffi-backend:amd64 (1.17.1-3) ... Selecting previously unselected package python3-chardet. Preparing to unpack .../112-python3-chardet_5.2.0+dfsg-2_all.deb ... Unpacking python3-chardet (5.2.0+dfsg-2) ... Selecting previously unselected package python3-charset-normalizer. Preparing to unpack .../113-python3-charset-normalizer_3.4.2-1_amd64.deb ... Unpacking python3-charset-normalizer (3.4.2-1) ... Selecting previously unselected package python3-wcwidth. Preparing to unpack .../114-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... Selecting previously unselected package xclip. Preparing to unpack .../115-xclip_0.13-4_amd64.deb ... Unpacking xclip (0.13-4) ... Selecting previously unselected package python3-pyperclip. Preparing to unpack .../116-python3-pyperclip_1.8.2-2_all.deb ... Unpacking python3-pyperclip (1.8.2-2) ... Selecting previously unselected package python3-cmd2. Preparing to unpack .../117-python3-cmd2_2.5.11+ds-1_all.deb ... Unpacking python3-cmd2 (2.5.11+ds-1) ... Selecting previously unselected package python3-roman. Preparing to unpack .../118-python3-roman_5.0-1_all.deb ... Unpacking python3-roman (5.0-1) ... Selecting previously unselected package python3-docutils. Preparing to unpack .../119-python3-docutils_0.21.2+dfsg-2_all.deb ... Unpacking python3-docutils (0.21.2+dfsg-2) ... Selecting previously unselected package python3-more-itertools. Preparing to unpack .../120-python3-more-itertools_10.7.0-1_all.deb ... Unpacking python3-more-itertools (10.7.0-1) ... Selecting previously unselected package python3-typing-extensions. Preparing to unpack .../121-python3-typing-extensions_4.13.2-1_all.deb ... Unpacking python3-typing-extensions (4.13.2-1) ... Selecting previously unselected package python3-typeguard. Preparing to unpack .../122-python3-typeguard_4.4.2-1_all.deb ... Unpacking python3-typeguard (4.4.2-1) ... Selecting previously unselected package python3-inflect. Preparing to unpack .../123-python3-inflect_7.3.1-2_all.deb ... Unpacking python3-inflect (7.3.1-2) ... Selecting previously unselected package python3-jaraco.context. Preparing to unpack .../124-python3-jaraco.context_6.0.1-1_all.deb ... Unpacking python3-jaraco.context (6.0.1-1) ... Selecting previously unselected package python3-jaraco.functools. Preparing to unpack .../125-python3-jaraco.functools_4.1.0-1_all.deb ... Unpacking python3-jaraco.functools (4.1.0-1) ... Selecting previously unselected package python3-pkg-resources. Preparing to unpack .../126-python3-pkg-resources_78.1.1-0.1_all.deb ... Unpacking python3-pkg-resources (78.1.1-0.1) ... Selecting previously unselected package python3-jaraco.text. Preparing to unpack .../127-python3-jaraco.text_4.0.0-1_all.deb ... Unpacking python3-jaraco.text (4.0.0-1) ... Selecting previously unselected package python3-zipp. Preparing to unpack .../128-python3-zipp_3.21.0-1_all.deb ... Unpacking python3-zipp (3.21.0-1) ... Selecting previously unselected package python3-setuptools. Preparing to unpack .../129-python3-setuptools_78.1.1-0.1_all.deb ... Unpacking python3-setuptools (78.1.1-0.1) ... Selecting previously unselected package python3-pbr. Preparing to unpack .../130-python3-pbr_6.1.1-2_all.deb ... Unpacking python3-pbr (6.1.1-2) ... Selecting previously unselected package python3-prettytable. Preparing to unpack .../131-python3-prettytable_3.15.1-1_all.deb ... Unpacking python3-prettytable (3.15.1-1) ... Selecting previously unselected package python3-stevedore. Preparing to unpack .../132-python3-stevedore_5.4.1-2_all.deb ... Unpacking python3-stevedore (5.4.1-2) ... Selecting previously unselected package python3-yaml. Preparing to unpack .../133-python3-yaml_6.0.2-1+b2_amd64.deb ... Unpacking python3-yaml (6.0.2-1+b2) ... Selecting previously unselected package python3-cliff. Preparing to unpack .../134-python3-cliff_4.9.1-2_all.deb ... Unpacking python3-cliff (4.9.1-2) ... Selecting previously unselected package python3-coverage. Preparing to unpack .../135-python3-coverage_7.6.0+dfsg1-2+b2_amd64.deb ... Unpacking python3-coverage (7.6.0+dfsg1-2+b2) ... Selecting previously unselected package python3-cryptography. Preparing to unpack .../136-python3-cryptography_43.0.0-3_amd64.deb ... Unpacking python3-cryptography (43.0.0-3) ... Selecting previously unselected package python3-dateutil. Preparing to unpack .../137-python3-dateutil_2.9.0-4_all.deb ... Unpacking python3-dateutil (2.9.0-4) ... Selecting previously unselected package python3-wrapt. Preparing to unpack .../138-python3-wrapt_1.15.0-4+b1_amd64.deb ... Unpacking python3-wrapt (1.15.0-4+b1) ... Selecting previously unselected package python3-debtcollector. Preparing to unpack .../139-python3-debtcollector_3.0.0-5_all.deb ... Unpacking python3-debtcollector (3.0.0-5) ... Selecting previously unselected package python3-decorator. Preparing to unpack .../140-python3-decorator_5.2.1-2_all.deb ... Unpacking python3-decorator (5.2.1-2) ... Selecting previously unselected package python3-deprecation. Preparing to unpack .../141-python3-deprecation_2.1.0-4_all.deb ... Unpacking python3-deprecation (2.1.0-4) ... Selecting previously unselected package python3-dnspython. Preparing to unpack .../142-python3-dnspython_2.7.0-1_all.deb ... Unpacking python3-dnspython (2.7.0-1) ... Selecting previously unselected package python3-markupsafe. Preparing to unpack .../143-python3-markupsafe_2.1.5-1+b3_amd64.deb ... Unpacking python3-markupsafe (2.1.5-1+b3) ... Selecting previously unselected package python3-mako. Preparing to unpack .../144-python3-mako_1.3.9-1_all.deb ... Unpacking python3-mako (1.3.9-1) ... Selecting previously unselected package python3-dogpile.cache. Preparing to unpack .../145-python3-dogpile.cache_1.3.3-1_all.deb ... Unpacking python3-dogpile.cache (1.3.3-1) ... Selecting previously unselected package python3-protobuf. Preparing to unpack .../146-python3-protobuf_3.21.12-11_amd64.deb ... Unpacking python3-protobuf (3.21.12-11) ... Selecting previously unselected package python3-grpcio. Preparing to unpack .../147-python3-grpcio_1.51.1-6_amd64.deb ... Unpacking python3-grpcio (1.51.1-6) ... Selecting previously unselected package python3-six. Preparing to unpack .../148-python3-six_1.17.0-1_all.deb ... Unpacking python3-six (1.17.0-1) ... Selecting previously unselected package python3-tenacity. Preparing to unpack .../149-python3-tenacity_8.4.2+really8.4.1-2_all.deb ... Unpacking python3-tenacity (8.4.2+really8.4.1-2) ... Selecting previously unselected package python3-etcd3. Preparing to unpack .../150-python3-etcd3_0.12.0-3_all.deb ... Unpacking python3-etcd3 (0.12.0-3) ... Selecting previously unselected package python3-greenlet. Preparing to unpack .../151-python3-greenlet_3.1.0-1+b2_amd64.deb ... Unpacking python3-greenlet (3.1.0-1+b2) ... Selecting previously unselected package python3-futurist. Preparing to unpack .../152-python3-futurist_3.1.0-2_all.deb ... Unpacking python3-futurist (3.1.0-2) ... Selecting previously unselected package python3-idna. Preparing to unpack .../153-python3-idna_3.10-1_all.deb ... Unpacking python3-idna (3.10-1) ... Selecting previously unselected package python3-urllib3. Preparing to unpack .../154-python3-urllib3_2.3.0-3_all.deb ... Unpacking python3-urllib3 (2.3.0-3) ... Selecting previously unselected package python3-requests. Preparing to unpack .../155-python3-requests_2.32.3+dfsg-5_all.deb ... Unpacking python3-requests (2.32.3+dfsg-5) ... Selecting previously unselected package python3-etcd3gw. Preparing to unpack .../156-python3-etcd3gw_2.4.2-3_all.deb ... Unpacking python3-etcd3gw (2.4.2-3) ... Selecting previously unselected package python3-eventlet. Preparing to unpack .../157-python3-eventlet_0.39.1-2_all.deb ... Unpacking python3-eventlet (0.39.1-2) ... Selecting previously unselected package python3-extras. Preparing to unpack .../158-python3-extras_1.0.0-6_all.deb ... Unpacking python3-extras (1.0.0-6) ... Selecting previously unselected package python3-monotonic. Preparing to unpack .../159-python3-monotonic_1.6-3_all.deb ... Unpacking python3-monotonic (1.6-3) ... Selecting previously unselected package python3-fasteners. Preparing to unpack .../160-python3-fasteners_0.18-2_all.deb ... Unpacking python3-fasteners (0.18-2) ... Selecting previously unselected package python3-testtools. Preparing to unpack .../161-python3-testtools_2.7.2-5_all.deb ... Unpacking python3-testtools (2.7.2-5) ... Selecting previously unselected package python3-fixtures. Preparing to unpack .../162-python3-fixtures_4.1.0-3_all.deb ... Unpacking python3-fixtures (4.1.0-3) ... Selecting previously unselected package python3-flexcache. Preparing to unpack .../163-python3-flexcache_0.3-2_all.deb ... Unpacking python3-flexcache (0.3-2) ... Selecting previously unselected package python3-flexparser. Preparing to unpack .../164-python3-flexparser_0.4-1_all.deb ... Unpacking python3-flexparser (0.4-1) ... Selecting previously unselected package python3-zope.event. Preparing to unpack .../165-python3-zope.event_5.0-0.1_all.deb ... Unpacking python3-zope.event (5.0-0.1) ... Selecting previously unselected package python3-zope.interface. Preparing to unpack .../166-python3-zope.interface_7.2-1+b1_amd64.deb ... Unpacking python3-zope.interface (7.2-1+b1) ... Selecting previously unselected package python3-gevent. Preparing to unpack .../167-python3-gevent_24.11.1-1+b1_amd64.deb ... Unpacking python3-gevent (24.11.1-1+b1) ... Selecting previously unselected package python3-ptyprocess. Preparing to unpack .../168-python3-ptyprocess_0.7.0-6_all.deb ... Unpacking python3-ptyprocess (0.7.0-6) ... Selecting previously unselected package python3-pexpect. Preparing to unpack .../169-python3-pexpect_4.9-3_all.deb ... Unpacking python3-pexpect (4.9-3) ... Selecting previously unselected package smartmontools. Preparing to unpack .../170-smartmontools_7.4-3_amd64.deb ... Unpacking smartmontools (7.4-3) ... Selecting previously unselected package python3-hardware. Preparing to unpack .../171-python3-hardware_0.30.0-4_all.deb ... Unpacking python3-hardware (0.30.0-4) ... Selecting previously unselected package python3-ifaddr. Preparing to unpack .../172-python3-ifaddr_0.2.0-2_all.deb ... Unpacking python3-ifaddr (0.2.0-2) ... Selecting previously unselected package python3-iso8601. Preparing to unpack .../173-python3-iso8601_2.1.0-2_all.deb ... Unpacking python3-iso8601 (2.1.0-2) ... Selecting previously unselected package python3-jinja2. Preparing to unpack .../174-python3-jinja2_3.1.6-1_all.deb ... Unpacking python3-jinja2 (3.1.6-1) ... Selecting previously unselected package python3-jmespath. Preparing to unpack .../175-python3-jmespath_1.0.1-1_all.deb ... Unpacking python3-jmespath (1.0.1-1) ... Selecting previously unselected package python3-json-pointer. Preparing to unpack .../176-python3-json-pointer_2.4-3_all.deb ... Unpacking python3-json-pointer (2.4-3) ... Selecting previously unselected package python3-jsonpatch. Preparing to unpack .../177-python3-jsonpatch_1.32-5_all.deb ... Unpacking python3-jsonpatch (1.32-5) ... Selecting previously unselected package python3-jwt. Preparing to unpack .../178-python3-jwt_2.10.1-2_all.deb ... Unpacking python3-jwt (2.10.1-2) ... Selecting previously unselected package python3-kerberos. Preparing to unpack .../179-python3-kerberos_1.1.14-3.1+b11_amd64.deb ... Unpacking python3-kerberos (1.1.14-3.1+b11) ... Selecting previously unselected package python3-pure-sasl. Preparing to unpack .../180-python3-pure-sasl_0.5.1+dfsg1-5_all.deb ... Unpacking python3-pure-sasl (0.5.1+dfsg1-5) ... Selecting previously unselected package python3-kazoo. Preparing to unpack .../181-python3-kazoo_2.9.0-2_all.deb ... Unpacking python3-kazoo (2.9.0-2) ... Selecting previously unselected package python3-lxml:amd64. Preparing to unpack .../182-python3-lxml_5.4.0-1_amd64.deb ... Unpacking python3-lxml:amd64 (5.4.0-1) ... Selecting previously unselected package python3-oauthlib. Preparing to unpack .../183-python3-oauthlib_3.2.2-3_all.deb ... Unpacking python3-oauthlib (3.2.2-3) ... Selecting previously unselected package python3-os-service-types. Preparing to unpack .../184-python3-os-service-types_1.7.0-5_all.deb ... Unpacking python3-os-service-types (1.7.0-5) ... Selecting previously unselected package python3-keystoneauth1. Preparing to unpack .../185-python3-keystoneauth1_5.10.0-2_all.deb ... Unpacking python3-keystoneauth1 (5.10.0-2) ... Selecting previously unselected package python3-legacy-cgi. Preparing to unpack .../186-python3-legacy-cgi_2.6.3-1_all.deb ... Unpacking python3-legacy-cgi (2.6.3-1) ... Selecting previously unselected package python3-msgpack. Preparing to unpack .../187-python3-msgpack_1.0.3-3+b4_amd64.deb ... Unpacking python3-msgpack (1.0.3-3+b4) ... Selecting previously unselected package python3-netaddr. Preparing to unpack .../188-python3-netaddr_1.3.0-1_all.deb ... Unpacking python3-netaddr (1.3.0-1) ... Selecting previously unselected package python3-platformdirs. Preparing to unpack .../189-python3-platformdirs_4.3.7-1_all.deb ... Unpacking python3-platformdirs (4.3.7-1) ... Selecting previously unselected package python3-psutil. Preparing to unpack .../190-python3-psutil_7.0.0-2_amd64.deb ... Unpacking python3-psutil (7.0.0-2) ... Selecting previously unselected package python3-requestsexceptions. Preparing to unpack .../191-python3-requestsexceptions_1.4.0-5_all.deb ... Unpacking python3-requestsexceptions (1.4.0-5) ... Selecting previously unselected package python3-openstacksdk. Preparing to unpack .../192-python3-openstacksdk_4.4.0-5_all.deb ... Unpacking python3-openstacksdk (4.4.0-5) ... Selecting previously unselected package python3-os-client-config. Preparing to unpack .../193-python3-os-client-config_2.1.0-3_all.deb ... Unpacking python3-os-client-config (2.1.0-3) ... Selecting previously unselected package python3-oslo.i18n. Preparing to unpack .../194-python3-oslo.i18n_6.5.1-3_all.deb ... Unpacking python3-oslo.i18n (6.5.1-3) ... Selecting previously unselected package python3-oslo.context. Preparing to unpack .../195-python3-oslo.context_5.7.1-3_all.deb ... Unpacking python3-oslo.context (5.7.1-3) ... Selecting previously unselected package python3-pyparsing. Preparing to unpack .../196-python3-pyparsing_3.1.2-1_all.deb ... Unpacking python3-pyparsing (3.1.2-1) ... Selecting previously unselected package python3-pytz. Preparing to unpack .../197-python3-pytz_2025.2-3_all.deb ... Unpacking python3-pytz (2025.2-3) ... Selecting previously unselected package python3-tz. Preparing to unpack .../198-python3-tz_2025.2-3_all.deb ... Unpacking python3-tz (2025.2-3) ... Selecting previously unselected package python3-oslo.utils. Preparing to unpack .../199-python3-oslo.utils_8.2.0-4_all.deb ... Unpacking python3-oslo.utils (8.2.0-4) ... Selecting previously unselected package python3-oslo.serialization. Preparing to unpack .../200-python3-oslo.serialization_5.7.0-3_all.deb ... Unpacking python3-oslo.serialization (5.7.0-3) ... Selecting previously unselected package python3-pyasyncore. Preparing to unpack .../201-python3-pyasyncore_1.0.2-3_all.deb ... Unpacking python3-pyasyncore (1.0.2-3) ... Selecting previously unselected package python3-oslo.log. Preparing to unpack .../202-python3-oslo.log_7.1.0-4_all.deb ... Unpacking python3-oslo.log (7.1.0-4) ... Selecting previously unselected package python3-rfc3986. Preparing to unpack .../203-python3-rfc3986_2.0.0-3_all.deb ... Unpacking python3-rfc3986 (2.0.0-3) ... Selecting previously unselected package python3-oslo.config. Preparing to unpack .../204-python3-oslo.config_1%3a9.7.1-3_all.deb ... Unpacking python3-oslo.config (1:9.7.1-3) ... Selecting previously unselected package python3-oslo.concurrency. Preparing to unpack .../205-python3-oslo.concurrency_7.1.0-3_all.deb ... Unpacking python3-oslo.concurrency (7.1.0-3) ... Selecting previously unselected package python3-tempita. Preparing to unpack .../206-python3-tempita_0.6.0-1_all.deb ... Unpacking python3-tempita (0.6.0-1) ... Selecting previously unselected package python3-paste. Preparing to unpack .../207-python3-paste_3.10.1-1_all.deb ... Unpacking python3-paste (3.10.1-1) ... Selecting previously unselected package python3-pastedeploy-tpl. Preparing to unpack .../208-python3-pastedeploy-tpl_3.1-1_all.deb ... Unpacking python3-pastedeploy-tpl (3.1-1) ... Selecting previously unselected package python3-pastedeploy. Preparing to unpack .../209-python3-pastedeploy_3.1-1_all.deb ... Unpacking python3-pastedeploy (3.1-1) ... Selecting previously unselected package python3-repoze.lru. Preparing to unpack .../210-python3-repoze.lru_0.7-3_all.deb ... Unpacking python3-repoze.lru (0.7-3) ... Selecting previously unselected package python3-routes. Preparing to unpack .../211-python3-routes_2.5.1-7_all.deb ... Unpacking python3-routes (2.5.1-7) ... Selecting previously unselected package python3-yappi. Preparing to unpack .../212-python3-yappi_1.6.10-2+b1_amd64.deb ... Unpacking python3-yappi (1.6.10-2+b1) ... Selecting previously unselected package python3-webob. Preparing to unpack .../213-python3-webob_1%3a1.8.9-1_all.deb ... Unpacking python3-webob (1:1.8.9-1) ... Selecting previously unselected package python3-oslo.service. Preparing to unpack .../214-python3-oslo.service_4.1.1-2_all.deb ... Unpacking python3-oslo.service (4.1.1-2) ... Selecting previously unselected package python3-tomlkit. Preparing to unpack .../215-python3-tomlkit_0.13.2-1_all.deb ... Unpacking python3-tomlkit (0.13.2-1) ... Selecting previously unselected package python3-voluptuous. Preparing to unpack .../216-python3-voluptuous_0.14.2-1_all.deb ... Unpacking python3-voluptuous (0.14.2-1) ... Selecting previously unselected package python3-subunit. Preparing to unpack .../217-python3-subunit_1.4.2-3_all.deb ... Unpacking python3-subunit (1.4.2-3) ... Selecting previously unselected package subunit. Preparing to unpack .../218-subunit_1.4.2-3_all.deb ... Unpacking subunit (1.4.2-3) ... Selecting previously unselected package python3-stestr. Preparing to unpack .../219-python3-stestr_4.1.0-3_all.deb ... Unpacking python3-stestr (4.1.0-3) ... Selecting previously unselected package python3-oslotest. Preparing to unpack .../220-python3-oslotest_1%3a5.0.0-4_all.deb ... Unpacking python3-oslotest (1:5.0.0-4) ... Selecting previously unselected package python3-pint. Preparing to unpack .../221-python3-pint_0.24.4-2_all.deb ... Unpacking python3-pint (0.24.4-2) ... Selecting previously unselected package python3-pymemcache. Preparing to unpack .../222-python3-pymemcache_4.0.0-8_all.deb ... Unpacking python3-pymemcache (4.0.0-8) ... Selecting previously unselected package python3-pymysql. Preparing to unpack .../223-python3-pymysql_1.1.1-2_all.deb ... Unpacking python3-pymysql (1.1.1-2) ... Selecting previously unselected package python3-pyudev. Preparing to unpack .../224-python3-pyudev_0.24.3-1_all.deb ... Unpacking python3-pyudev (0.24.3-1) ... Selecting previously unselected package python3-redis. Preparing to unpack .../225-python3-redis_6.1.0-2_all.deb ... Unpacking python3-redis (6.1.0-2) ... Selecting previously unselected package python3-zake. Preparing to unpack .../226-python3-zake_0.2.2-8_all.deb ... Unpacking python3-zake (0.2.2-8) ... Selecting previously unselected package python3-tooz. Preparing to unpack .../227-python3-tooz_6.3.0-4_all.deb ... Unpacking python3-tooz (6.3.0-4) ... Selecting previously unselected package python3-werkzeug. Preparing to unpack .../228-python3-werkzeug_3.1.3-2_all.deb ... Unpacking python3-werkzeug (3.1.3-2) ... Selecting previously unselected package python3-zeroconf. Preparing to unpack .../229-python3-zeroconf_0.147.0-1_all.deb ... Unpacking python3-zeroconf (0.147.0-1) ... Selecting previously unselected package qemu-utils. Preparing to unpack .../230-qemu-utils_1%3a10.0.2+ds-2+b1_amd64.deb ... Unpacking qemu-utils (1:10.0.2+ds-2+b1) ... Setting up smartmontools (7.4-3) ... /var/lib/smartmontools/drivedb/drivedb.h 7.3/5528 newly installed (NOT VERIFIED) Setting up media-types (13.0.0) ... Setting up libpipeline1:amd64 (1.5.8-1) ... Setting up libev4t64:amd64 (1:4.33-2.1+b1) ... Setting up libprotobuf32t64:amd64 (3.21.12-11) ... Setting up libxau6:amd64 (1:1.0.11-1) ... Setting up libxdmcp6:amd64 (1:1.1.5-1) ... Setting up libsubunit-perl (1.4.2-3) ... Setting up libkeyutils1:amd64 (1.6.3-6) ... Setting up pci.ids (0.0~2025.06.09-1) ... Setting up libxcb1:amd64 (1.17.0-2+b1) ... Setting up bsdextrautils (2.41-5) ... Setting up libgpg-error0:amd64 (1.51-4) ... Setting up libmagic-mgc (1:5.46-5) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libyaml-0-2:amd64 (0.2.5-2) ... Setting up freeipmi-common (1.6.15-1) ... Setting up libdebhelper-perl (13.24.2) ... Setting up libmagic1t64:amd64 (1:5.46-5) ... Setting up x11-common (1:7.7+24) ... invoke-rc.d: could not determine current runlevel Setting up X socket directories... /tmp/.X11-unix /tmp/.ICE-unix. Setting up gettext-base (0.23.1-2) ... Setting up m4 (1.4.19-8) ... Setting up libgcrypt20:amd64 (1.11.0-7) ... Setting up hdparm (9.65+ds-1.1) ... Setting up libcom-err2:amd64 (1.47.2-3+b3) ... Setting up file (1:5.46-5) ... Setting up libabsl20240722:amd64 (20240722.0-4) ... Setting up lshw (02.19.git.2021.06.19.996aaad9c7-2.1) ... Setting up libelf1t64:amd64 (0.192-4) ... Setting up python-babel-localedata (2.17.0-1) ... Setting up libkrb5support0:amd64 (1.21.3-5) ... Setting up tzdata (2025b-4) ... Current default time zone: 'Etc/UTC' Local time is now: Thu Aug 7 18:17:35 UTC 2025. Universal Time is now: Thu Aug 7 18:17:35 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up libconfig11:amd64 (1.7.3-2) ... Setting up autotools-dev (20240727.1) ... Setting up libexpat1-dev:amd64 (2.7.1-2) ... Setting up libx11-data (2:1.8.12-1) ... Setting up python3-pastedeploy-tpl (3.1-1) ... Setting up libproc2-0:amd64 (2:4.0.4-9) ... Setting up libunistring5:amd64 (1.3-2) ... Setting up libcares2:amd64 (1.34.5-1) ... Setting up libmnl0:amd64 (1.0.5-3) ... Setting up autopoint (0.23.1-2) ... Setting up libk5crypto3:amd64 (1.21.3-5) ... Setting up autoconf (2.72-3.1) ... Setting up libfreeipmi17 (1.6.15-1) ... Setting up zlib1g-dev:amd64 (1:1.3.dfsg+really1.3.1-1+b1) ... Setting up libpci3:amd64 (1:3.13.0-2) ... Setting up libffi8:amd64 (3.4.8-2) ... Setting up libnuma1:amd64 (2.0.19-1) ... Setting up dwz (0.15-1+b1) ... Setting up libaio1t64:amd64 (0.3.113-8+b1) ... Setting up sensible-utils (0.0.25) ... Setting up libuchardet0:amd64 (0.0.8-1+b2) ... Setting up procps (2:4.0.4-9) ... Setting up libnl-3-200:amd64 (3.7.0-2) ... Setting up libtasn1-6:amd64 (4.20.0-2) ... Setting up libx11-6:amd64 (2:1.8.12-1) ... Setting up netbase (6.5) ... Setting up sgml-base (1.31+nmu1) ... Setting up libkrb5-3:amd64 (1.21.3-5) ... Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... Setting up liburing2:amd64 (2.9-1) ... Setting up lsb-release (12.1-1) ... Setting up openssl (3.5.1-1) ... Setting up readline-common (8.2-6) ... Setting up libxml2:amd64 (2.12.7+dfsg+really2.9.14-2.1) ... Setting up libonig5:amd64 (6.9.9-1+b1) ... Setting up libkmod2:amd64 (34.2-2) ... Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... Setting up ethtool (1:6.14.1-1) ... Setting up automake (1:1.17-4) ... update-alternatives: using /usr/bin/automake-1.17 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.14.1-2) ... Setting up libice6:amd64 (2:1.1.1-1) ... Setting up libre2-11:amd64 (20240702-3+b1) ... Setting up gettext (0.23.1-2) ... Setting up libtool (2.5.4-4) ... Setting up libjq1:amd64 (1.7.1-6+deb13u1) ... Setting up libxext6:amd64 (2:1.3.4-1+b3) ... Setting up libidn2-0:amd64 (2.3.8-2) ... Setting up libffi-dev:amd64 (3.4.8-2) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up ca-certificates (20250419) ... Updating certificates in /etc/ssl/certs... 150 added, 0 removed; done. Setting up lldpad (1.1.1-1+b1) ... invoke-rc.d: could not determine current runlevel invoke-rc.d: policy-rc.d denied execution of start. Setting up libglib2.0-0t64:amd64 (2.84.3-1) ... No schema files found: doing nothing. Setting up libp11-kit0:amd64 (0.25.5-3) ... Setting up libgssapi-krb5-2:amd64 (1.21.3-5) ... Setting up pciutils (1:3.13.0-2) ... Setting up libjs-sphinxdoc (8.1.3-5) ... Setting up libreadline8t64:amd64 (8.2-6) ... Setting up dh-strip-nondeterminism (1.14.1-2) ... Setting up groff-base (1.23.0-9) ... Setting up xml-core (0.19) ... Setting up jq (1.7.1-6+deb13u1) ... Setting up libxslt1.1:amd64 (1.1.35-1.2) ... Setting up libsm6:amd64 (2:1.2.6-1) ... Setting up libpython3.13-stdlib:amd64 (3.13.5-2) ... Setting up ipmitool (1.8.19-9) ... invoke-rc.d: could not determine current runlevel invoke-rc.d: policy-rc.d denied execution of start. Setting up libpython3-stdlib:amd64 (3.13.5-1) ... Setting up libpython3.13:amd64 (3.13.5-2) ... Setting up libgnutls30t64:amd64 (3.8.9-3) ... Setting up python3.13 (3.13.5-2) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up libpsl5t64:amd64 (0.21.2-1.1+b1) ... Setting up python3 (3.13.5-1) ... Setting up python3-zipp (3.21.0-1) ... Setting up python3-autocommand (2.2.2-3) ... Setting up man-db (2.13.1-1) ... Not building database; man-db/auto-update is not 'true'. Setting up python3-markupsafe (2.1.5-1+b3) ... Setting up python3-platformdirs (4.3.7-1) ... Setting up python3-psutil (7.0.0-2) ... Setting up python3-ifaddr (0.2.0-2) ... Setting up python3-monotonic (1.6-3) ... Setting up python3-six (1.17.0-1) ... Setting up python3-roman (5.0-1) ... Setting up python3-decorator (5.2.1-2) ... Setting up python3-jinja2 (3.1.6-1) ... Setting up python3-tempita (0.6.0-1) ... Setting up python3-packaging (25.0-1) ... Setting up python3-iso8601 (2.1.0-2) ... Setting up python3-chardet (5.2.0+dfsg-2) ... Setting up python3-wcwidth (0.2.13+dfsg1-1) ... Setting up python3-pyparsing (3.1.2-1) ... Setting up python3-certifi (2025.1.31+ds-1) ... Setting up python3-werkzeug (3.1.3-2) ... Setting up python3-jmespath (1.0.1-1) ... Setting up libpython3.13-dev:amd64 (3.13.5-2) ... Setting up python3-greenlet (3.1.0-1+b2) ... Setting up libxt6t64:amd64 (1:1.2.1-1.2+b2) ... Setting up python3-idna (3.10-1) ... Setting up python3-wrapt (1.15.0-4+b1) ... Setting up python3-deprecation (2.1.0-4) ... Setting up python3-typing-extensions (4.13.2-1) ... Setting up python3-pymysql (1.1.1-2) ... Setting up python3-redis (6.1.0-2) ... Setting up python3-fasteners (0.18-2) ... Setting up python3-urllib3 (2.3.0-3) ... Setting up python3-legacy-cgi (2.6.3-1) ... Setting up python3-json-pointer (2.4-3) ... Setting up python3-lxml:amd64 (5.4.0-1) ... Setting up python3-dnspython (2.7.0-1) ... Setting up python3-dateutil (2.9.0-4) ... Setting up python3-flexcache (0.3-2) ... Setting up python3-msgpack (1.0.3-3+b4) ... Setting up python3-voluptuous (0.14.2-1) ... Setting up qemu-utils (1:10.0.2+ds-2+b1) ... Setting up python3-pyasyncore (1.0.2-3) ... Setting up python3-pyudev (0.24.3-1) ... Setting up python3-protobuf (3.21.12-11) ... Setting up python3-prettytable (3.15.1-1) ... Setting up python3-tomlkit (0.13.2-1) ... Setting up python3-cffi-backend:amd64 (1.17.1-3) ... Setting up python3-mako (1.3.9-1) ... Setting up python3-webob (1:1.8.9-1) ... Setting up python3-ptyprocess (0.7.0-6) ... Setting up python3-blinker (1.9.0-1) ... Setting up dh-python (6.20250414) ... Setting up python3-more-itertools (10.7.0-1) ... Setting up python3-pymemcache (4.0.0-8) ... Setting up libxmu6:amd64 (2:1.1.3-3+b4) ... Setting up libpython3-dev:amd64 (3.13.5-1) ... Setting up python3-jaraco.functools (4.1.0-1) ... Setting up wget (1.25.0-2) ... Setting up python3-repoze.lru (0.7-3) ... Setting up python3-jaraco.context (6.0.1-1) ... Setting up python3-jwt (2.10.1-2) ... Setting up python3-zeroconf (0.147.0-1) ... Setting up python3-babel (2.17.0-1) ... update-alternatives: using /usr/bin/pybabel-python3 to provide /usr/bin/pybabel (pybabel) in auto mode Setting up python3-charset-normalizer (3.4.2-1) ... Setting up python3.13-dev (3.13.5-2) ... Setting up python3-jsonpatch (1.32-5) ... update-alternatives: using /usr/bin/json-patch-jsondiff to provide /usr/bin/jsondiff (jsondiff) in auto mode Setting up python3-tenacity (8.4.2+really8.4.1-2) ... Setting up python3-bcrypt (4.2.0-2.1+b1) ... Setting up python3-autopage (0.4.0-4) ... Setting up python3-typeguard (4.4.2-1) ... Setting up python3-extras (1.0.0-6) ... Setting up python3-kerberos (1.1.14-3.1+b11) ... Setting up python3-all (3.13.5-1) ... Setting up python3-coverage (7.6.0+dfsg1-2+b2) ... Setting up python3-yaml (6.0.2-1+b2) ... Setting up debhelper (13.24.2) ... Setting up python3-pytz (2025.2-3) ... Setting up python3-wheel (0.46.1-2) ... Setting up python3-tz (2025.2-3) ... Setting up python3-routes (2.5.1-7) ... Setting up python3-inflect (7.3.1-2) ... Setting up python3-eventlet (0.39.1-2) ... Setting up python3-flexparser (0.4-1) ... Setting up python3-rfc3986 (2.0.0-3) ... Setting up libpython3-all-dev:amd64 (3.13.5-1) ... Setting up python3-jaraco.text (4.0.0-1) ... Setting up python3-pexpect (4.9-3) ... Setting up python3-cryptography (43.0.0-3) ... Setting up python3-dev (3.13.5-1) ... Setting up python3-requests (2.32.3+dfsg-5) ... Setting up python3-grpcio (1.51.1-6) ... Setting up xclip (0.13-4) ... Setting up python3-pip (25.1.1+dfsg-1) ... Setting up python3-etcd3 (0.12.0-3) ... Setting up ieee-data (20240722) ... Setting up python3-pkg-resources (78.1.1-0.1) ... Setting up python3-all-dev (3.13.5-1) ... Setting up python3-setuptools (78.1.1-0.1) ... Setting up python3-pure-sasl (0.5.1+dfsg1-5) ... Setting up python3-zope.event (5.0-0.1) ... Setting up python3-zope.interface (7.2-1+b1) ... Setting up python3-pbr (6.1.1-2) ... Setting up python3-requestsexceptions (1.4.0-5) ... Setting up python3-pyperclip (1.8.2-2) ... Setting up python3-debtcollector (3.0.0-5) ... Setting up python3-gevent (24.11.1-1+b1) ... Setting up openstack-pkg-tools (135) ... Setting up python3-pint (0.24.4-2) ... Setting up python3-oauthlib (3.2.2-3) ... Setting up python3-paste (3.10.1-1) ... Setting up python3-kazoo (2.9.0-2) ... Setting up python3-cmd2 (2.5.11+ds-1) ... Setting up python3-zake (0.2.2-8) ... Setting up python3-oslo.context (5.7.1-3) ... Setting up python3-netaddr (1.3.0-1) ... Setting up python3-os-service-types (1.7.0-5) ... Setting up python3-stevedore (5.4.1-2) ... Setting up python3-oslo.i18n (6.5.1-3) ... Setting up python3-keystoneauth1 (5.10.0-2) ... Setting up python3-hardware (0.30.0-4) ... Setting up python3-testtools (2.7.2-5) ... Setting up python3-pastedeploy (3.1-1) ... Setting up python3-futurist (3.1.0-2) ... Setting up python3-yappi (1.6.10-2+b1) ... Setting up python3-oslo.utils (8.2.0-4) ... Setting up python3-dogpile.cache (1.3.3-1) ... Setting up python3-subunit (1.4.2-3) ... Setting up python3-fixtures (4.1.0-3) ... Setting up python3-openstacksdk (4.4.0-5) ... Setting up python3-os-client-config (2.1.0-3) ... Setting up subunit (1.4.2-3) ... Setting up python3-etcd3gw (2.4.2-3) ... Setting up python3-oslo.serialization (5.7.0-3) ... Setting up python3-tooz (6.3.0-4) ... Processing triggers for libc-bin (2.41-12) ... Processing triggers for sgml-base (1.31+nmu1) ... Setting up docutils-common (0.21.2+dfsg-2) ... Processing triggers for sgml-base (1.31+nmu1) ... Setting up python3-docutils (0.21.2+dfsg-2) ... Setting up python3-cliff (4.9.1-2) ... Setting up python3-oslo.config (1:9.7.1-3) ... Setting up python3-oslo.concurrency (7.1.0-3) ... Setting up python3-oslo.log (7.1.0-4) ... Setting up python3-stestr (4.1.0-3) ... Setting up python3-oslo.service (4.1.1-2) ... Setting up python3-oslotest (1:5.0.0-4) ... Processing triggers for ca-certificates (20250419) ... Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done. Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps Reading package lists... Building dependency tree... Reading state information... fakeroot is already the newest version (1.37.1.1-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package I: Running cd /build/reproducible-path/ironic-python-agent-10.2.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../ironic-python-agent_10.2.0-3_source.changes dpkg-buildpackage: info: source package ironic-python-agent dpkg-buildpackage: info: source version 10.2.0-3 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Thomas Goirand dpkg-source --before-build . dpkg-buildpackage: info: host architecture amd64 debian/rules clean make: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions dh clean --buildsystem=pybuild --with python3 debian/rules override_dh_auto_clean make[1]: Entering directory '/build/reproducible-path/ironic-python-agent-10.2.0' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions rm -rf *.egg-info build rm -f debian/*.init debian/*.service find . -type d -name __pycache__ -exec rm -r {} \+ make[1]: Leaving directory '/build/reproducible-path/ironic-python-agent-10.2.0' dh_autoreconf_clean -O--buildsystem=pybuild dh_clean -O--buildsystem=pybuild debian/rules binary make: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions dh binary --buildsystem=pybuild --with python3 dh_update_autotools_config -O--buildsystem=pybuild dh_autoreconf -O--buildsystem=pybuild dh_auto_configure -O--buildsystem=pybuild I: pybuild base:311: python3.13 setup.py config /usr/lib/python3/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: Apache Software License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() /usr/lib/python3/dist-packages/setuptools/__init__.py:94: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !! ******************************************************************************** Requirements should be satisfied by a PEP 517 installer. If you are using pip, you can try `pip install --use-pep517`. ******************************************************************************** !! dist.fetch_build_eggs(dist.setup_requires) /usr/lib/python3/dist-packages/setuptools/command/develop.py:41: EasyInstallDeprecationWarning: easy_install command is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` and ``easy_install``. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://github.com/pypa/setuptools/issues/917 for details. ******************************************************************************** !! easy_install.initialize_options(self) /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:90: SetuptoolsDeprecationWarning: setup.py install is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` directly. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. ******************************************************************************** !! self.initialize_options() /usr/lib/python3/dist-packages/pbr/core.py:140: UserWarning: Unknown distribution option: 'tests_require' warnings.warn(msg) /usr/lib/python3/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: Apache Software License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() running config debian/rules override_dh_auto_build make[1]: Entering directory '/build/reproducible-path/ironic-python-agent-10.2.0' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions echo "Do nothing..." Do nothing... make[1]: Leaving directory '/build/reproducible-path/ironic-python-agent-10.2.0' debian/rules override_dh_auto_test make[1]: Entering directory '/build/reproducible-path/ironic-python-agent-10.2.0' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions echo "Do nothing..." Do nothing... make[1]: Leaving directory '/build/reproducible-path/ironic-python-agent-10.2.0' create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=pybuild dh_prep -O--buildsystem=pybuild dh_installdirs -O--buildsystem=pybuild debian/rules override_dh_auto_install make[1]: Entering directory '/build/reproducible-path/ironic-python-agent-10.2.0' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions echo "Do nothing..." Do nothing... make[1]: Leaving directory '/build/reproducible-path/ironic-python-agent-10.2.0' debian/rules override_dh_install make[1]: Entering directory '/build/reproducible-path/ironic-python-agent-10.2.0' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions touch ironic_python_agent/metrics_lib/__init__.py pkgos-dh_auto_install --no-py2 --in-tmp + PKGOS_IN_TMP=no + echo WARNING: --no-py2 is deprecated and always on. WARNING: --no-py2 is deprecated and always on. + shift + PKGOS_IN_TMP=yes + shift + dpkg-parsechangelog -SSource + SRC_PKG_NAME=ironic-python-agent + echo ironic-python-agent + sed s/python-// + PY_MODULE_NAME=ironic-agent + py3versions -vr + PYTHON3S=3.13 + [ yes = yes ] + TARGET_DIR=tmp + pwd + python3.13 setup.py install --install-layout=deb --root /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp /usr/lib/python3/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: Apache Software License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() /usr/lib/python3/dist-packages/setuptools/__init__.py:94: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !! ******************************************************************************** Requirements should be satisfied by a PEP 517 installer. If you are using pip, you can try `pip install --use-pep517`. ******************************************************************************** !! dist.fetch_build_eggs(dist.setup_requires) /usr/lib/python3/dist-packages/setuptools/command/develop.py:41: EasyInstallDeprecationWarning: easy_install command is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` and ``easy_install``. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://github.com/pypa/setuptools/issues/917 for details. ******************************************************************************** !! easy_install.initialize_options(self) /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:90: SetuptoolsDeprecationWarning: setup.py install is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` directly. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. ******************************************************************************** !! self.initialize_options() /usr/lib/python3/dist-packages/pbr/core.py:140: UserWarning: Unknown distribution option: 'tests_require' warnings.warn(msg) /usr/lib/python3/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: Apache Software License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() running install [pbr] Generating AUTHORS [pbr] AUTHORS complete (0.0s) running build running build_py creating build/lib/ironic_python_agent/tests copying ironic_python_agent/tests/__init__.py -> build/lib/ironic_python_agent/tests creating build/lib/ironic_python_agent/extensions copying ironic_python_agent/extensions/rescue.py -> build/lib/ironic_python_agent/extensions copying ironic_python_agent/extensions/poll.py -> build/lib/ironic_python_agent/extensions copying ironic_python_agent/extensions/image.py -> build/lib/ironic_python_agent/extensions copying ironic_python_agent/extensions/standby.py -> build/lib/ironic_python_agent/extensions copying ironic_python_agent/extensions/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/deploy.py -> build/lib/ironic_python_agent/extensions copying ironic_python_agent/extensions/service.py -> build/lib/ironic_python_agent/extensions copying ironic_python_agent/extensions/__init__.py -> build/lib/ironic_python_agent/extensions copying ironic_python_agent/extensions/flow.py -> build/lib/ironic_python_agent/extensions copying ironic_python_agent/extensions/system.py -> build/lib/ironic_python_agent/extensions copying ironic_python_agent/extensions/clean.py -> build/lib/ironic_python_agent/extensions creating build/lib/ironic_python_agent/metrics_lib copying ironic_python_agent/metrics_lib/metrics.py -> build/lib/ironic_python_agent/metrics_lib copying ironic_python_agent/metrics_lib/metrics_statsd.py -> build/lib/ironic_python_agent/metrics_lib copying ironic_python_agent/metrics_lib/metrics_collector.py -> build/lib/ironic_python_agent/metrics_lib copying ironic_python_agent/metrics_lib/__init__.py -> build/lib/ironic_python_agent/metrics_lib copying ironic_python_agent/metrics_lib/metrics_utils.py -> build/lib/ironic_python_agent/metrics_lib 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/__init__.py -> build/lib/ironic_python_agent/hardware_managers copying ironic_python_agent/hardware_managers/mlnx.py -> build/lib/ironic_python_agent/hardware_managers creating build/lib/ironic_python_agent/tests/unit/hardware_managers/nvidia copying ironic_python_agent/tests/unit/hardware_managers/nvidia/test_nvidia_fw_update.py -> build/lib/ironic_python_agent/tests/unit/hardware_managers/nvidia copying ironic_python_agent/tests/unit/hardware_managers/nvidia/__init__.py -> build/lib/ironic_python_agent/tests/unit/hardware_managers/nvidia creating build/lib/ironic_python_agent/tests/functional copying ironic_python_agent/tests/functional/base.py -> build/lib/ironic_python_agent/tests/functional copying ironic_python_agent/tests/functional/__init__.py -> build/lib/ironic_python_agent/tests/functional copying ironic_python_agent/tests/functional/test_commands.py -> build/lib/ironic_python_agent/tests/functional creating build/lib/ironic_python_agent/tests/unit/extensions copying ironic_python_agent/tests/unit/extensions/test_base.py -> build/lib/ironic_python_agent/tests/unit/extensions copying ironic_python_agent/tests/unit/extensions/test_flow.py -> build/lib/ironic_python_agent/tests/unit/extensions copying ironic_python_agent/tests/unit/extensions/test_deploy.py -> build/lib/ironic_python_agent/tests/unit/extensions copying ironic_python_agent/tests/unit/extensions/test_rescue.py -> build/lib/ironic_python_agent/tests/unit/extensions copying ironic_python_agent/tests/unit/extensions/test_poll.py -> build/lib/ironic_python_agent/tests/unit/extensions copying ironic_python_agent/tests/unit/extensions/__init__.py -> build/lib/ironic_python_agent/tests/unit/extensions copying ironic_python_agent/tests/unit/extensions/test_clean.py -> build/lib/ironic_python_agent/tests/unit/extensions copying ironic_python_agent/tests/unit/extensions/test_log.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_standby.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/api copying ironic_python_agent/api/app.py -> build/lib/ironic_python_agent/api copying ironic_python_agent/api/__init__.py -> build/lib/ironic_python_agent/api copying ironic_python_agent/disk_partitioner.py -> build/lib/ironic_python_agent copying ironic_python_agent/raid_utils.py -> build/lib/ironic_python_agent copying ironic_python_agent/inspect.py -> build/lib/ironic_python_agent copying ironic_python_agent/netutils.py -> build/lib/ironic_python_agent copying ironic_python_agent/partition_utils.py -> build/lib/ironic_python_agent copying ironic_python_agent/errors.py -> build/lib/ironic_python_agent copying ironic_python_agent/ironic_api_client.py -> build/lib/ironic_python_agent copying ironic_python_agent/encoding.py -> build/lib/ironic_python_agent copying ironic_python_agent/efi_utils.py -> build/lib/ironic_python_agent copying ironic_python_agent/tls_utils.py -> build/lib/ironic_python_agent copying ironic_python_agent/version.py -> build/lib/ironic_python_agent copying ironic_python_agent/disk_utils.py -> build/lib/ironic_python_agent copying ironic_python_agent/mdns.py -> build/lib/ironic_python_agent copying ironic_python_agent/__init__.py -> build/lib/ironic_python_agent copying ironic_python_agent/inject_files.py -> build/lib/ironic_python_agent copying ironic_python_agent/hardware.py -> build/lib/ironic_python_agent copying ironic_python_agent/config.py -> build/lib/ironic_python_agent copying ironic_python_agent/burnin.py -> build/lib/ironic_python_agent copying ironic_python_agent/device_hints.py -> build/lib/ironic_python_agent copying ironic_python_agent/dmi_inspector.py -> build/lib/ironic_python_agent copying ironic_python_agent/utils.py -> build/lib/ironic_python_agent copying ironic_python_agent/inspector.py -> build/lib/ironic_python_agent copying ironic_python_agent/agent.py -> build/lib/ironic_python_agent copying ironic_python_agent/numa_inspector.py -> build/lib/ironic_python_agent copying ironic_python_agent/qemu_img.py -> build/lib/ironic_python_agent 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_base.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/base.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_multi_hardware_clean_steps.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_numa_inspector.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/dmi_inspector_data.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_encoding.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/__init__.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_mdns.py -> build/lib/ironic_python_agent/tests/unit copying ironic_python_agent/tests/unit/test_partition_utils.py -> build/lib/ironic_python_agent/tests/unit copying ironic_python_agent/tests/unit/test_agent.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_burnin.py -> build/lib/ironic_python_agent/tests/unit copying ironic_python_agent/tests/unit/test_device_hints.py -> build/lib/ironic_python_agent/tests/unit copying ironic_python_agent/tests/unit/test_ironic_api_client.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_qemu_img.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_hardware.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/hardware_managers/test_cna.py -> build/lib/ironic_python_agent/tests/unit/hardware_managers copying ironic_python_agent/tests/unit/hardware_managers/__init__.py -> build/lib/ironic_python_agent/tests/unit/hardware_managers copying ironic_python_agent/tests/unit/hardware_managers/test_mlnx.py -> build/lib/ironic_python_agent/tests/unit/hardware_managers creating build/lib/ironic_python_agent/cmd copying ironic_python_agent/cmd/inspect.py -> build/lib/ironic_python_agent/cmd copying ironic_python_agent/cmd/__init__.py -> build/lib/ironic_python_agent/cmd copying ironic_python_agent/cmd/agent.py -> build/lib/ironic_python_agent/cmd running egg_info creating ironic_python_agent.egg-info writing ironic_python_agent.egg-info/PKG-INFO writing dependency_links to ironic_python_agent.egg-info/dependency_links.txt writing entry points to ironic_python_agent.egg-info/entry_points.txt writing requirements to ironic_python_agent.egg-info/requires.txt writing top-level names to ironic_python_agent.egg-info/top_level.txt [pbr] Processing SOURCES.txt writing manifest file 'ironic_python_agent.egg-info/SOURCES.txt' warning: no files found matching 'AUTHORS' warning: no files found matching 'ChangeLog' warning: no previously-included files found matching '.gitignore' warning: no previously-included files found matching '.gitreview' warning: no previously-included files matching '*.pyc' found anywhere in distribution adding license file 'LICENSE' writing manifest file 'ironic_python_agent.egg-info/SOURCES.txt' running install_lib creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/disk_partitioner.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/raid_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api copying build/lib/ironic_python_agent/api/app.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api copying build/lib/ironic_python_agent/api/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api copying build/lib/ironic_python_agent/inspect.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/netutils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/partition_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/errors.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/ironic_api_client.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/encoding.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd copying build/lib/ironic_python_agent/cmd/inspect.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd copying build/lib/ironic_python_agent/cmd/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd copying build/lib/ironic_python_agent/cmd/agent.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd copying build/lib/ironic_python_agent/efi_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/tls_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/version.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/disk_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/mdns.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/inject_files.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_efi_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_netutils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_base.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_inject_files.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/base.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_dmi_inspector.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_multi_hardware_clean_steps.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_disk_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_numa_inspector.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_inspector.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/dmi_inspector_data.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_disk_partitioner.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_encoding.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_multi_hardware.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_api.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_mdns.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_partition_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_agent.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_burnin.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_device_hints.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_ironic_api_client.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_tls_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_qemu_img.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_base.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_flow.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_deploy.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_rescue.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_poll.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_clean.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_log.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_service.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_standby.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_image.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/test_errors.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_hardware.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_raid_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/nvidia copying build/lib/ironic_python_agent/tests/unit/hardware_managers/nvidia/test_nvidia_fw_update.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/nvidia copying build/lib/ironic_python_agent/tests/unit/hardware_managers/nvidia/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/nvidia copying build/lib/ironic_python_agent/tests/unit/hardware_managers/test_cna.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers copying build/lib/ironic_python_agent/tests/unit/hardware_managers/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers copying build/lib/ironic_python_agent/tests/unit/hardware_managers/test_mlnx.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers copying build/lib/ironic_python_agent/tests/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional copying build/lib/ironic_python_agent/tests/functional/base.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional copying build/lib/ironic_python_agent/tests/functional/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional copying build/lib/ironic_python_agent/tests/functional/test_commands.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional copying build/lib/ironic_python_agent/hardware.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/config.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/burnin.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/device_hints.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib copying build/lib/ironic_python_agent/metrics_lib/metrics.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib copying build/lib/ironic_python_agent/metrics_lib/metrics_statsd.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib copying build/lib/ironic_python_agent/metrics_lib/metrics_collector.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib copying build/lib/ironic_python_agent/metrics_lib/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib copying build/lib/ironic_python_agent/metrics_lib/metrics_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib copying build/lib/ironic_python_agent/dmi_inspector.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/rescue.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/poll.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/image.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/standby.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/log.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/base.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/deploy.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/service.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/flow.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/system.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/clean.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/inspector.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/agent.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/numa_inspector.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers copying build/lib/ironic_python_agent/hardware_managers/cna.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers copying build/lib/ironic_python_agent/hardware_managers/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers copying build/lib/ironic_python_agent/hardware_managers/mlnx.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers copying build/lib/ironic_python_agent/qemu_img.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/disk_partitioner.py to disk_partitioner.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/raid_utils.py to raid_utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api/app.py to app.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/inspect.py to inspect.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/netutils.py to netutils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/partition_utils.py to partition_utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/errors.py to errors.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/ironic_api_client.py to ironic_api_client.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/encoding.py to encoding.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd/inspect.py to inspect.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd/agent.py to agent.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/efi_utils.py to efi_utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tls_utils.py to tls_utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/version.py to version.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/disk_utils.py to disk_utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/mdns.py to mdns.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/inject_files.py to inject_files.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_efi_utils.py to test_efi_utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_netutils.py to test_netutils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_base.py to test_base.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_inject_files.py to test_inject_files.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/base.py to base.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_dmi_inspector.py to test_dmi_inspector.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_multi_hardware_clean_steps.py to test_multi_hardware_clean_steps.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_disk_utils.py to test_disk_utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_numa_inspector.py to test_numa_inspector.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_inspector.py to test_inspector.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/dmi_inspector_data.py to dmi_inspector_data.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_disk_partitioner.py to test_disk_partitioner.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_encoding.py to test_encoding.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_multi_hardware.py to test_multi_hardware.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_api.py to test_api.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_mdns.py to test_mdns.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_partition_utils.py to test_partition_utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_agent.py to test_agent.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_utils.py to test_utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_burnin.py to test_burnin.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_device_hints.py to test_device_hints.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_ironic_api_client.py to test_ironic_api_client.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_tls_utils.py to test_tls_utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_qemu_img.py to test_qemu_img.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_base.py to test_base.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_flow.py to test_flow.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_deploy.py to test_deploy.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_rescue.py to test_rescue.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_poll.py to test_poll.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_clean.py to test_clean.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_log.py to test_log.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_service.py to test_service.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_standby.py to test_standby.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_image.py to test_image.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_errors.py to test_errors.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_hardware.py to test_hardware.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_raid_utils.py to test_raid_utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/nvidia/test_nvidia_fw_update.py to test_nvidia_fw_update.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/nvidia/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/test_cna.py to test_cna.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/test_mlnx.py to test_mlnx.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional/base.py to base.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional/test_commands.py to test_commands.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware.py to hardware.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/config.py to config.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/burnin.py to burnin.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/device_hints.py to device_hints.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib/metrics.py to metrics.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib/metrics_statsd.py to metrics_statsd.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib/metrics_collector.py to metrics_collector.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib/metrics_utils.py to metrics_utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/dmi_inspector.py to dmi_inspector.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/utils.py to utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/rescue.py to rescue.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/poll.py to poll.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/image.py to image.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/standby.py to standby.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/log.py to log.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/base.py to base.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/deploy.py to deploy.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/service.py to service.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/flow.py to flow.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/system.py to system.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/clean.py to clean.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/inspector.py to inspector.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/agent.py to agent.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/numa_inspector.py to numa_inspector.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers/cna.py to cna.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers/mlnx.py to mlnx.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/qemu_img.py to qemu_img.cpython-313.pyc running install_egg_info Copying ironic_python_agent.egg-info to /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent-10.2.0.egg-info Skipping SOURCES.txt running install_scripts Installing ironic-collect-introspection-data script to /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/bin Installing ironic-python-agent script to /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/bin + pwd + rm -rf /build/reproducible-path/ironic-python-agent-10.2.0/debian/python*/usr/lib/python*/dist-packages/*.pth + pwd + rm -rf /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python*/dist-packages/*.pth # Failing under riscv: # extensions.test_standby.TestStandbyExtension.test_execute_bootc_install pkgos-dh_auto_test --no-py2 'ironic_python_agent\.tests\.unit\.(?!test_inspector\.TestWaitForDhcp\.test_timeout|extensions\.test_standby\.TestStandbyExtension\.test_execute_bootc_install)' + PKGOS_TEST_PARALLEL=yes + PKGOS_TEST_SERIAL=no + PYTHONS=disabled + PYTHON3S=disabled + TEST_PARALLEL_OPT=--parallel + TEST_SERIAL_OPT= + echo WARNING: --no-py2 is deprecated, and always on. WARNING: --no-py2 is deprecated, and always on. + shift + py3versions -vr + PYTHON3S=3.13 + [ yes = no ] + [ no = yes ] + [ 3.13 = disabled ] + echo 3.13 + cut -d. -f1 + PYMAJOR=3 + echo ===> Testing with python (python3) ===> Testing with python (python3) + pwd + [ -d /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages ] + [ -z ] + pwd + echo Implicitly adding PYTHONPATH=/build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages Implicitly adding PYTHONPATH=/build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages + pwd + export PYTHONPATH=/build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages + [ -e .stestr.conf ] + [ -x /usr/bin/python3-stestr ] + STESTR=stestr + rm -rf .stestr + PYTHON=python3.13 stestr run --parallel --subunit ironic_python_agent\.tests\.unit\.(?!test_inspector\.TestWaitForDhcp\.test_timeout|extensions\.test_standby\.TestStandbyExtension\.test_execute_bootc_install) + subunit2pyunit ERROR [root] Tried to execute fake.fake_sync_command, agent is still executing Command name: name, params: {}, status: RUNNING, result: None. WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. ERROR [root] Command failed: fake_async_command, error: An error occurred: failed Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/extensions/test_base.py", line 38, in fake_async_command raise ExecutionError() ironic_python_agent.tests.unit.extensions.test_base.ExecutionError: An error occurred: failed WARNING [root] Device /dev/fake1 is inaccessible, skipping... Error: nope ERROR [root] Failed to move file: /firmware_images/fw1.bin, ERROR [root] Failed to query firmware of device : Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ERROR [ironic_python_agent.burnin] SMART test on /dev/sdj failed with 'string' ERROR [root] Unexpected exception performing clean step erase_devices. RuntimeError: boom Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/clean.py", line 76, in execute_clean_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect RuntimeError: boom 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 ERROR [root] Command failed: execute_clean_step, error: Clean step failed: Unexpected exception performing clean step erase_devices. RuntimeError: boom Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/clean.py", line 76, in execute_clean_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect RuntimeError: boom During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/clean.py", line 87, in execute_clean_step raise errors.CleaningError(msg) ironic_python_agent.errors.CleaningError: Clean step failed: Unexpected exception performing clean step erase_devices. RuntimeError: boom WARNING [ironic_python_agent.efi_utils] Empty EFI partition detected. ERROR [root] Unexpected exception performing deploy step erase_devices. RuntimeError: boom Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/deploy.py", line 76, in execute_deploy_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect RuntimeError: boom ERROR [root] Command failed: execute_deploy_step, error: Deploy step failed: Unexpected exception performing deploy step erase_devices. RuntimeError: boom Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/deploy.py", line 76, in execute_deploy_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect RuntimeError: boom During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/deploy.py", line 87, in execute_deploy_step raise errors.DeploymentError(msg) ironic_python_agent.errors.DeploymentError: Deploy step failed: Unexpected exception performing deploy step erase_devices. RuntimeError: boom ERROR [root] Invalid content error: Invalid request body: baz Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 268, in execute_command result = ext.execute(command_part, **kwargs) File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect ironic_python_agent.errors.InvalidContentError: Invalid request body: baz WARNING [ironic_python_agent.extensions.image] Falling back to fstab entry addition label of UUID. We could not identify which UUID or PARTUUID identifier label should be used, thus UUID will be used. ERROR [ironic_python_agent.efi_utils] Could not configure UEFI boot on device /dev/fake: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/efi_utils.py", line 131, in manage_uefi utils.execute('mount', efi_partition, efi_partition_mount_point) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 3, in do_not_call File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None ERROR [root] Failed to open URL data: HTTP Error 500: Internal Error WARNING [ironic_python_agent.inspector] failed to get system journal ERROR [root] Error performing clean step erase_devices Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/clean.py", line 76, in execute_clean_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot WARNING [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 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-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/clean.py", line 76, in execute_clean_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot ERROR [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] Error performing deploy step erase_devices Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/deploy.py", line 76, in execute_deploy_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot ERROR [root] Failed to query tool configuration of device : Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None 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: Block device caused unknown error: I'm a teapot Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/deploy.py", line 76, in execute_deploy_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot ERROR [root] Failed to open URL data: 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 WARNING [root] Attempted to invoke multipath utilities, but we encountered an error: ERROR [ironic_python_agent.disk_utils] Unable to stat device /dev/disk/by-path/ip-1.2.3.4:5678-iscsi-iqn.fake-lun-9 after attempting to verify 3 times. ERROR [root] Command execution error: Command execution failed: foo bar baz Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 268, in execute_command result = ext.execute(command_part, **kwargs) File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect ironic_python_agent.errors.CommandExecutionError: Command execution failed: foo bar baz ERROR [ironic_python_agent.efi_utils] Could not configure UEFI boot on device /dev/fake: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/efi_utils.py", line 185, in manage_uefi _run_efibootmgr(valid_efi_bootloaders, efi_dev, efi_part, ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ efi_partition_mount_point) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/efi_utils.py", line 351, in _run_efibootmgr boot_records = list(get_boot_records()) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/efi_utils.py", line 282, in get_boot_records efi_output = utils.execute('efibootmgr', '-v', binary=True) File "", line 3, in do_not_call File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1232, in _execute_mock_call raise result oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None ERROR [ironic_python_agent.efi_utils] Umounting efi system partition failed. Attempted 3 times. Error: Unexpected error while running command. Command: None Exit code: - Stdout: 'no umount' Stderr: None ERROR [root] Command failed: sleep, error: An error occurred: An unexpected error occurred. Please try back later. Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/extensions/test_flow.py", line 41, in sleep time.sleep(sleep_info['time']) ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect ironic_python_agent.errors.RESTError: An error occurred: An unexpected error occurred. Please try back later. ERROR [root] Command failed: start_flow, error: Command execution failed: fake.sleep was failed Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/flow.py", line 44, in start_flow raise errors.CommandExecutionError( "%s was failed" % method ) ironic_python_agent.errors.CommandExecutionError: Command execution failed: fake.sleep was failed ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version response = self._request('GET', '/') File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 90, in _request resp = self.session.request(method, request_url, ...<4 lines>... timeout=CONF.http_request_timeout, **kwargs) File "", line 3, in request File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect Exception: Boom ERROR [root] Failed to query firmware of device : Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None /build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_tls_utils.py:57: CryptographyDeprecationWarning: Properties that return a naïve datetime object have been deprecated. Please switch to not_valid_before_utc. self.assertLess(cert.not_valid_before, /build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_tls_utils.py:59: CryptographyDeprecationWarning: Properties that return a naïve datetime object have been deprecated. Please switch to not_valid_after_utc. self.assertGreater(cert.not_valid_after, ERROR [root] Malformed clean_step, no "step" key: {} ERROR [root] Command failed: execute_clean_step, error: Malformed clean_step, no "step" key: {} Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/clean.py", line 73, in execute_clean_step raise ValueError(msg) ValueError: Malformed clean_step, no "step" key: {} ERROR [root] duplicate settings for device ID 1017 ERROR [root] Malformed deploy_step, no "step" key: {} ERROR [root] Command failed: execute_deploy_step, error: Malformed deploy_step, no "step" key: {} Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/deploy.py", line 72, in execute_deploy_step raise ValueError(msg) ValueError: Malformed deploy_step, no "step" key: {} WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda1. Skipping ERROR [ironic_python_agent.efi_utils] Could not configure UEFI boot on device /dev/fake: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/efi_utils.py", line 185, in manage_uefi _run_efibootmgr(valid_efi_bootloaders, efi_dev, efi_part, ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ efi_partition_mount_point) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/efi_utils.py", line 351, in _run_efibootmgr boot_records = list(get_boot_records()) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/efi_utils.py", line 282, in get_boot_records efi_output = utils.execute('efibootmgr', '-v', binary=True) File "", line 3, in do_not_call File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1232, in _execute_mock_call raise result oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None ironic_python_agent.tests.unit.test_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr ironic_python_agent.tests.unit.test_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr ... ok ERROR [root] There is no deviceID provided for this settings ERROR [root] Failed to set configuration of device , ['SRIOV_EN=20']: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None WARNING [root] No hardware manager was able to handle interface foobar 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_disk_utils.MakePartitionsTestCase.test_make_partitions ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions ... ok WARNING [ironic_python_agent.netutils] LLDP timed out, remaining interfaces: [('eth0', ), ('eth1', )] WARNING [root] Attempted to determine if multipath tools were present. Not detected. Error recorded: ironic-python-agent: Device sdh was disqualified as virtual media. Type: other, Transport: usb ERROR [root] Mismatch provided checksum a94e683ea16d9ae44768f0a65942234d for image http://10.10.10.10/firmware_images/fw1.bin ERROR [root] Command failed: sleep, error: foo Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/extensions/test_flow.py", line 41, in sleep time.sleep(sleep_info['time']) ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1232, in _execute_mock_call raise result Exception: foo WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping ERROR [root] Configuraiton ESWITCH_HAIRPIN_TOT_BUFFER_SIZE[8] for device is not supported with current fw WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sdb. Skipping 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 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping 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.netutils] Trailing byte received in an LLDP package: b'5' WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md1. Skipping ERROR [root] Command failed: start_flow, error: Command execution failed: fake.sleep was failed Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/flow.py", line 44, in start_flow raise errors.CommandExecutionError( "%s was failed" % method ) ironic_python_agent.errors.CommandExecutionError: Command execution failed: fake.sleep was failed ironic-python-agent: Excluding device sdh1 from virtual mediaconsideration as it is a partition. WARNING [ironic_python_agent.ironic_api_client] Got invalid node data in response to query for node with addresses '00:0c:29:8c:11:b1,00:0c:29:8c:11:b2' from http://agent-api.ironic.example.org: {'node_node': 'also_not_node'} WARNING [ironic_python_agent.disk_utils] Unable to get partition table type for device hello WARNING [root] Cannot find detailed information about interface eth0 ERROR [root] Extension do not found Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 267, in execute_command ext = self.get_extension(extension_part) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 238, in get_extension ext = self.ext_mgr[extension_name].obj ~~~~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/stevedore/extension.py", line 340, in __getitem__ return self._extensions_by_name[name] ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ KeyError: 'do' ERROR [root] Configuraiton: UNSUPPORTED_PARAM is not supported by mstconfig, please update to the latest mstflint package. 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 WARNING [ironic_python_agent.ironic_api_client] Failed looking up node with addresses '00:0c:29:8c:11:b1,00:0c:29:8c:11:b2' at http://agent-api.ironic.example.org. Check if inspection has completed? Error 400: {"node": {"uuid": "deadbeef-dabb-ad00-b105-f00d00bab10c"}} ERROR [root] The provided psid MT_0000000227 does not match the image psid MT_0000000228 ERROR [root] Clean version mismatch for command execute_clean_step 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_deploy.TestDeployExtension.test_execute_deploy_step ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step ... ok ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_correct_mac ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_correct_mac ... ok ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_pxelinux_mac ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_pxelinux_mac ... ok WARNING [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.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 ERROR [root] Clean version mismatch for command execute_deploy_step ironic-python-agent: Device sdh was disqualified as virtual media. Type: disk, Transport: sata 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 WARNING [root] Cannot find detailed information about interface eth0 ERROR [root] The provided firmware version 20.34.1012 does not match image firmware version 20.35.1012 WARNING [ironic_python_agent.ironic_api_client] Got invalid heartbeat from the API: {'node': {'uuid': 'deadbeef-dabb-ad00-b105-f00d00bab10c'}} WARNING [ironic_python_agent.netutils] LLDP timed out, remaining interfaces: [('eth1', )] ironic-python-agent: Device sdh was disqualified as virtual media. Type: other, Transport: scsi ERROR [ironic_python_agent.extensions.poll] Node lookup data can only be set when the Ironic Python Agent is running in standalone mode. ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow WARNING [root] The root device was not detected in 27 seconds 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 ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_already_running ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_already_running ... ok ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_lacking_support ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_lacking_support ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_md5 ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_md5 ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_sha256 ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_sha256 ... ok ERROR [root] Command failed: fake_async_command, error: An error occurred: failed Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/extensions/test_base.py", line 38, in fake_async_command raise ExecutionError() ironic_python_agent.tests.unit.extensions.test_base.ExecutionError: An error occurred: failed ERROR [root] Command failed: install_bootloader, error: meow Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/image.py", line 721, in install_bootloader _install_grub2(device, ~~~~~~~~~~~~~~^^^^^^^^ root_uuid=root_uuid, ^^^^^^^^^^^^^^^^^^^^ efi_system_part_uuid=efi_system_part_uuid, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ prep_boot_part_uuid=prep_boot_part_uuid, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ target_boot_mode=target_boot_mode) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 3, in _install_grub2 File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect OSError: meow 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 ... 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 ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data_no_data ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data_no_data ... ok ERROR [ironic_python_agent.netutils] Socket for network interface eth0 said that it was ready to read we were unable to read from the socket while trying to get LLDP packet. Skipping this network interface. Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/netutils.py", line 197, in _get_lldp_info lldp_info[interface[0]] = _receive_lldp_packets(s) ~~~~~~~~~~~~~~~~~~~~~^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/netutils.py", line 160, in _receive_lldp_packets pkt = sock.recv(1600) File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect OSError: BOOM WARNING [root] Cannot find detailed information about interface bond0 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: Copying configuration from /tmp/tmpfjv2_7v9/etc/ironic-python-agent to /etc/ironic-python-agent ironic-python-agent: Copying configuration from /tmp/tmpfjv2_7v9/etc/ironic-python-agent.d to /etc/ironic-python-agent.d ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool_exception ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool_exception ... ok ERROR [root] No partition with UUID 11111111-2222-3333-4444-555555555555 found on device /dev/fake ironic-python-agent: Was unable to execute the lsblk command. Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None WARNING [root] The root device was not detected in 45 seconds ironic_python_agent.tests.unit.test_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr_no_bootloaders ironic_python_agent.tests.unit.test_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr_no_bootloaders ... ok ironic-python-agent: Copying configuration from /tmp/tmpko5jydox/etc/ironic-python-agent to /etc/ironic-python-agent ironic-python-agent: Copying configuration from /tmp/tmpko5jydox/etc/ironic-python-agent.d to /etc/ironic-python-agent.d 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 WARNING [root] Cannot find detailed information about interface eth0 WARNING [root] Something went wrong when readlink for interface eth2. Error: fake ironic-python-agent: Did not identify any virtual media candidates devices. ERROR [ironic_python_agent.netutils] Failed to open all RawPromiscuousSockets, attempting to close any opened sockets. ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow WARNING [root] The root device was not detected in 27 seconds ironic-python-agent: /some/path/etc/ironic-python-agent not found ironic-python-agent: /some/path/etc/ironic-python-agent.d not found ERROR [root] Duplicate componentFlavor MT_0000000540 ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command. Command: None Exit code: - Stdout: 'boop' Stderr: None WARNING [ironic_python_agent.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: ERROR [ironic_python_agent.disk_utils] Security: Image matched multiple potential formats Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/disk_utils.py", line 381, in _image_inspection inspector_cls = format_inspector.detect_file_format(filename) File "", line 3, in detect_file_format File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect oslo_utils.imageutils.format_inspector.ImageFormatError ironic-python-agent: /tmp/tmpocajnh5v/etc/ironic-python-agent not found ironic-python-agent: /tmp/tmpocajnh5v/etc/ironic-python-agent.d not found ERROR [root] Invalid parameters for image {'url': 'http://10.10.10.10/firmware_images/fw2.bin', 'checksum': 'a94e683ea16d9ae44768f0a65942234c', 'checksumType': 'sha512', 'component': 'MT_0000000652', 'version': '24.34.1002'},please provide the following parameters url, checksum, checksumType, componentFlavor, version ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow WARNING [root] Cannot find detailed information about interface eth0 WARNING [root] Failed to create rescue state file marker: Failed to write file ironic-python-agent: No virtual media device detected WARNING [ironic_python_agent.device_hints] The attribute "model" of the device "/dev/sda" has an empty value. Skipping device. WARNING [ironic_python_agent.device_hints] No device found that matches the root device hints {'model': 'foo'} ERROR [root] Failed Prerequisite check. Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ironic-python-agent: Cannot use configuration from virtual media as the agent was not booted from virtual media. ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow ERROR [ironic_python_agent.disk_utils] Security: Image failed safety check Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/disk_utils.py", line 386, in _image_inspection inspector_cls.safety_check() ~~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_disk_utils.py", line 58, in safety_check raise format_inspector.SafetyCheckFailed( failures={'mockfail': format_inspector.SafetyViolation()} ) oslo_utils.imageutils.format_inspector.SafetyCheckFailed: Safety checks failed: mockfail WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0010333061218261719 seconds. Error: Received status code 401 from http://example.org, expected 200. Response body: Unauthorized Response headers: WARNING [root] Mismatched hardware managers versions. Agent version: {'specific': '1'}, node version: {'not_specific': '1'} 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.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition ... ok WARNING [root] Cannot find detailed information about interface eth0 ERROR [root] Encountered issue attempting to validate the supplied configuration drive. Error: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None WARNING [ironic_python_agent.utils] Failed to unlink /tmp/tmpk3cckdd3/tmp3_6y2_bk, error: [Errno 21] Is a directory: '/tmp/tmpk3cckdd3/tmp3_6y2_bk' 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 ERROR [root] Unexpected exception performing service step erase_devices. RuntimeError: boom Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/service.py", line 76, in execute_service_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect RuntimeError: boom ERROR [ironic_python_agent.utils] foo ERROR [ironic_python_agent.utils] bar ERROR [ironic_python_agent.utils] baz ERROR [ironic_python_agent.utils] foo WARNING [ironic_python_agent.utils] Failed to unlink /tmp/tmpglsbdcwy/tmp5oxlk5r5, error: [Errno 21] Is a directory: '/tmp/tmpglsbdcwy/tmp5oxlk5r5' 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-10.2.0/ironic_python_agent/extensions/service.py", line 76, in execute_service_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect RuntimeError: boom During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/service.py", line 87, in execute_service_step raise errors.ServicingError(msg) ironic_python_agent.errors.ServicingError: Service step failed: Unexpected exception performing service step erase_devices. RuntimeError: boom ERROR [root] Rescue Operation failed when writing the hashed rescue password to the password file. Error Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/rescue.py", line 48, in write_rescue_password with open(PASSWORD_FILE, 'w') as f: ~~~~^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect OSError ironic_python_agent.tests.unit.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 WARNING [root] Cannot find detailed information about interface eth0 WARNING [ironic_python_agent.numa_inspector] Failed to get some NUMA information (Error in NUMA node data format: An unexpected error occurred. Please try back later.) WARNING [ironic_python_agent.utils] Failed to unlink /tmp/tmpu5yuc_z2/tmpz_tbxrw3, error: [Errno 21] Is a directory: '/tmp/tmpu5yuc_z2/tmpz_tbxrw3' WARNING [ironic_python_agent.utils] Failed to unlink /tmp/tmpu5yuc_z2/tmpm8cqml1t, error: [Errno 21] Is a directory: '/tmp/tmpu5yuc_z2/tmpm8cqml1t' 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.device_hints] The attribute "rotational" (with value "None") of device "/dev/sda" is not a valid Boolean. Skipping device. WARNING [ironic_python_agent.extensions.standby] 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.0016837120056152344 seconds. Error: Received status code 500 from http://example.org, expected 200. Response body: Oops Response headers: 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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file_not_found ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file_not_found ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http_err ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http_err ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http_url_err ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http_url_err ... ok ironic_python_agent.tests.unit.test_disk_utils.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 ERROR [root] We were unable to make a new filesystem for the configuration drive. Error: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None WARNING [ironic_python_agent.utils] Failed to unlink /tmp/tmpv6sx0uw6/tmptaivn_1a, error: [Errno 21] Is a directory: '/tmp/tmpv6sx0uw6/tmptaivn_1a' WARNING [ironic_python_agent.utils] Failed to unlink /tmp/tmpv6sx0uw6/tmpt7bzoys4, error: [Errno 21] Is a directory: '/tmp/tmpv6sx0uw6/tmpt7bzoys4' ERROR [root] Error performing service step erase_devices Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/service.py", line 76, in execute_service_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot WARNING [ironic_python_agent.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'. WARNING [root] Cannot find detailed information about interface eth0 ERROR [ironic_python_agent.extensions.image] Installing GRUB2 boot loader to device /dev/fake failed with Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None. ironic_python_agent.tests.unit.test_raid_utils.TestGetNextFreeRaidDevice.test_no_device ironic_python_agent.tests.unit.test_raid_utils.TestGetNextFreeRaidDevice.test_no_device ... ok WARNING [root] Cannot find detailed information about interface eth0.100 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 ironic_python_agent.tests.unit.test_raid_utils.TestGetNextFreeRaidDevice.test_ok ironic_python_agent.tests.unit.test_raid_utils.TestGetNextFreeRaidDevice.test_ok ... ok 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.inspector] Failed to gather numa_node id from PCI device foo: ERROR [root] Command failed: execute_service_step, error: Block device caused unknown error: I'm a teapot Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/service.py", line 76, in execute_service_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/run. Error: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/sys. Error: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None WARNING [ironic_python_agent.numa_inspector] Failed to get some NUMA information (Error in NUMA node data format: An unexpected error occurred. Please try back later.) WARNING [ironic_python_agent.inspector] Failed to gather numa_node id from PCI device bar: WARNING [ironic_python_agent.extensions.standby] Unable to connect to http://example.org, retrying. Error: ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw ... ok ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_exc ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_exc ... 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: Response headers: ERROR [ironic_python_agent.utils] failed to run hardware-detect utility: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None WARNING [ironic_python_agent.device_hints] No device found that matches the root device hints {'size': '>=50', 'model': 's==foo'} ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_ll_fails ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_ll_fails ... ok ironic_python_agent.tests.unit.extensions.test_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.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_fail ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_fail ... ok ironic_python_agent.tests.unit.test_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.extensions.test_log.TestLogExtension.test_collect_system_logs ironic_python_agent.tests.unit.extensions.test_log.TestLogExtension.test_collect_system_logs ... ok ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_empty ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_empty ... ok WARNING [ironic_python_agent.numa_inspector] Failed to get list of NUMA nodes, NUMA node path does not exist: /sys/devices/system/node/ 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_inspector.TestCollectLogs.test ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test ... ok ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test_fail ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test_fail ... ok ironic_python_agent.tests.unit.test_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_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_error ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_error ... ok ironic_python_agent.tests.unit.test_multi_hardware.TestNoHardwareManagerLoading.test_no_managers_found ironic_python_agent.tests.unit.test_multi_hardware.TestNoHardwareManagerLoading.test_no_managers_found ... ok ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_add_partition ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_add_partition ... ok ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit ... ok ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_disconnected ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_disconnected ... ok ERROR [root] Malformed service_step, no "step" key: {} WARNING [root] Cannot find detailed information about interface eth0 WARNING [root] Cannot find detailed information about interface eth0.100 ERROR [root] Command failed: execute_service_step, error: Malformed service_step, no "step" key: {} Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/service.py", line 73, in execute_service_step raise ValueError(msg) ValueError: Malformed service_step, no "step" key: {} WARNING [root] Cannot find detailed information about interface eth0.101 ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_is_always_busy ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_is_always_busy ... ok ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_is_busy_once ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_is_busy_once ... ok ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test__generate ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test__generate ... 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.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 ERROR [ironic_python_agent.utils] JSON returned from hardware-detect cannot be decoded: Expecting value: line 1 column 1 (char 0) ERROR [ironic_python_agent.utils] Failed to get list of PCI devices: ERROR [ironic_python_agent.utils] Failed to sync time using chrony to ntp server: 192.168.1.1: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: 'time verboten' ironic_python_agent.tests.unit.extensions.test_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 ERROR [ironic_python_agent.utils] collector failed: boom ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_execution_failure ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_execution_failure ... ok ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_fields ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_fields ... 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_utils.TestRemoveKeys.test_remove_keys ironic_python_agent.tests.unit.test_utils.TestRemoveKeys.test_remove_keys ... ok WARNING [ironic_python_agent.inspector] no suitable root device detected ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata ... ok ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_busy ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_busy ... ok ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command ... ok ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_invalid_content ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_invalid_content ... ok ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_other_exception ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_other_exception ... ok ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve return _proxy.query(name, rdtype, raise_on_no_answer=raises, ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use_network=use_network) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) ^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver self.clear() ~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear self._resolver = dns.resolver.Resolver(filename=self._filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ self.read_resolv_conf(filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf raise NoResolverConfiguration("no nameservers") dns.resolver.NoResolverConfiguration: no nameservers During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo qname, addrs = _getaddrinfo_lookup(host, family, flags) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup raise err File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup answer = resolve(host, qfamily, False, use_network=use_network) File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve _raise_new_error(EAI_NODATA_ERROR) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error raise error_instance.__class__(*error_instance.args) socket.gaierror: [Errno -2] Name or service not known The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version response = self._request('GET', '/') File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 90, in _request resp = self.session.request(method, request_url, ...<4 lines>... timeout=CONF.http_request_timeout, **kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) 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.agent] Ironic does not support automated TLS WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00030612945556640625 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.00030612945556640625 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0009021759033203125 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.0009021759033203125 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0013294219970703125 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.0013294219970703125 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0017402172088623047 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.0017402172088623047 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0021440982818603516 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.0021440982818603516 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.002542257308959961 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.002542257308959961 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 ... ok ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_driver ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_driver ... ok WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0030946731567382812 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.0030946731567382812 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_driver_notfound ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_driver_notfound ... ok ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_pci_address ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_pci_address ... ok WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0035009384155273438 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_pci_address_notfound ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_pci_address_notfound ... ok 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.0035009384155273438 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config 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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_https ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_https ... ok WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.003968954086303711 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.003968954086303711 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_invalid_url_scheme ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_invalid_url_scheme ... ok WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.004434108734130859 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config ERROR [ironic_python_agent.utils] Unable to sync clock, available methods of 'ntpdate' or 'chrony' not found. ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_exception ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_exception ... ok ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_fail ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_fail ... ok WARNING [ironic_python_agent.device_hints] The attribute "rotational" (with value "None") of device "/dev/sda" is not a valid Boolean. Skipping device. ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_no_step ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_no_step ... ok WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00018405914306640625 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.00018405914306640625 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test_generate ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test_generate ... ok WARNING [ironic_python_agent.utils] Failed to unlink /fake/path, error: 2 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0006623268127441406 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.0006623268127441406 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.000978708267211914 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.000978708267211914 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_clean_boot_records ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_clean_boot_records ... ok WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0012764930725097656 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.0012764930725097656 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0015931129455566406 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.0015931129455566406 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [root] Cannot find detailed information about interface eth0 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0018961429595947266 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.0018961429595947266 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0021810531616210938 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.0021810531616210938 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [root] Cannot find detailed information about interface eth1 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 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0026106834411621094 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.0026106834411621094 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config 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_efi_utils.TestManageUefi.test_failure_after_failure ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure_after_failure ... ok WARNING [root] Cannot find detailed information about interface eth0.100 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0033538341522216797 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config ERROR [ironic_python_agent.agent] error sending heartbeat to Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/agent.py", line 146, in do_heartbeat self.api.heartbeat( ~~~~~~~~~~~~~~~~~~^ uuid=self.agent.get_node_uuid(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<2 lines>... generated_cert=self.agent.generated_cert, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect Exception: uh oh! WARNING [ironic_python_agent.extensions.standby] Image download failed, 8 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0033538341522216797 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure_after_mount ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure_after_mount ... ok WARNING [root] Cannot find detailed information about interface eth0.101 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.003692150115966797 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config 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.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_4096 ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_4096 ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw_exception ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw_exception ... ok ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_fresh ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_fresh ... ok ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_set_via_conf ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_set_via_conf ... ok ironic_python_agent.tests.unit.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_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_base.TestExecuteCommandMixin.test_execute_invalid_command ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_invalid_command ... ok ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed ... ok ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_custom_attempts ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_custom_attempts ... ok ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_fails ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_fails ... ok ironic_python_agent.tests.unit.hardware_managers.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.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_utils.TestCheckVirtualMedia.test_check_vmedia_device ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device ... ok ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_other ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_other ... ok WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0002033710479736328 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.0002033710479736328 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_normal ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_normal ... 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' ok WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0007083415985107422 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config 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.extensions.standby] Image download failed, 1 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0007083415985107422 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_gpt ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_gpt ... ok WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0012023448944091797 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config 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.extensions.standby] Image download failed, 2 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0012023448944091797 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config 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 ... WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0015969276428222656 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config ok WARNING [ironic_python_agent.extensions.standby] Image download failed, 3 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0015969276428222656 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config 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.extensions.test_base.TestExtensionDecorators.test_sync_command_name ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_name ... ok WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.002227783203125 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config 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 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.002227783203125 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_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_disk_utils.GetPartitionTableTypeTestCase.test_msdos ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_msdos ... ok WARNING [ironic_python_agent.dmi_inspector] Failed to parse Handle type in dmi output: list index out of range WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0037636756896972656 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.0037636756896972656 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.004467964172363281 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.004467964172363281 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0049037933349609375 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.0049037933349609375 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.005325794219970703 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.005325794219970703 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.005709648132324219 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 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.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_disk_utils.TriggerDeviceRescanTestCase.test_trigger ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_trigger ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_fw ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_fw ... ok ironic_python_agent.tests.unit.test_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_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_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_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_body ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_body ... ok ironic_python_agent.tests.unit.test_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_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 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.TestNvidiaNicFirmwareOps.test__query_device ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test__query_device ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed_with_reset ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed_with_reset ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_get_nic_psid ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_get_nic_psid ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_is_image_changed_true ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_is_image_changed_true ... ok ERROR [root] Clean version mismatch for command execute_service_step WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00020766258239746094 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.00020766258239746094 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.001184225082397461 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.001184225082397461 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config 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 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0017180442810058594 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.0017180442810058594 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output ... ok WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0020246505737304688 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.0020246505737304688 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config 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 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.002313852310180664 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.002313852310180664 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.002606630325317383 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.002606630325317383 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0028886795043945312 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.0028886795043945312 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.003616809844970703 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.003616809844970703 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.004026889801025391 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.004026889801025391 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.004312038421630859 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config 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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_duplicate_device_id ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_duplicate_device_id ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_invalid_firmware_settings_config ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_invalid_firmware_settings_config ... ok ironic_python_agent.tests.unit.test_hardware.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__load_ipmi_modules_fail ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__load_ipmi_modules_fail ... ok ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_missing ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_missing ... ok ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_partuuid_success ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_partuuid_success ... ok WARNING [ironic_python_agent.utils] Unable to unmount temporary location /mnt/fake: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_code ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_code ... ok ironic_python_agent.tests.unit.test_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.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_standby.TestImageDownload.test_download_image_and_checksum_md5 ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_md5 ... ok ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success ... ok ERROR [root] Command failed: foo_command, error: command execution failed Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_agent.py", line 44, in foo_execute raise EXPECTED_ERROR RuntimeError: command execution failed WARNING [root] Cannot find detailed information about interface eth0 ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success_raid ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success_raid ... ok ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_wrong_block_type ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_wrong_block_type ... ok ironic_python_agent.tests.unit.test_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 ... WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0014293193817138672 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.0014293193817138672 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.002020120620727539 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.002020120620727539 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: 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 ... WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0025625228881835938 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.0025625228881835938 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: 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 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0037174224853515625 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.0037174224853515625 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: 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.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_partition_utils.TestGetPartition.test ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test ... 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.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_md5 ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_md5 ... ok ironic_python_agent.tests.unit.extensions.test_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 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.008559942245483398 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.008559942245483398 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_mstflint_package ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_mstflint_package ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_prepare_nvidia_nic_config ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_prepare_nvidia_nic_config ... ok WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.009951591491699219 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: 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 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.009951591491699219 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: 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 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.010863065719604492 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.010863065719604492 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: 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.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.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.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_partition_utils.TestGetPartition.test_command_fail ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_command_fail ... ok WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.012071847915649414 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.012071847915649414 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: 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] URL: http://example.org; time: 0.012837409973144531 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.012837409973144531 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: 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 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.013315677642822266 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: 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_netutils.TestNetutils.test_get_lldp_info_one_empty_interface ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_one_empty_interface ... ok ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete ... ok ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_rom ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_rom ... ok ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_sata ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_sata ... ok ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_scsi ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_scsi ... ok ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_no_step ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_no_step ... ok ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_tuple_result ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_tuple_result ... ok ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_unknown_extension ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_unknown_extension ... 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_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.extensions.test_poll.TestPollExtension.test_get_hardware_info_success ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_get_hardware_info_success ... ok WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/md/esp using the install command which does not place Secure Boot signed binaries. ironic_python_agent.tests.unit.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 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'. ... ok WARNING [ironic_python_agent.extensions.image] Ignoring GRUB2 boot loader installation failure: Unexpected error while running command. Command: grub2-install Exit code: 1 Stdout: '' Stderr: 'grub2-install: error: this utility cannot be used for EFI platforms because it does not support UEFI Secure Boot.\n'. ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_fw_version ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_fw_version ... ok ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_correct ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_correct ... 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_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.test_inject_files.TestInjectOne.test_delete_not_exists ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete_not_exists ... ok ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content ... ok ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_correct_gpt_nvme ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_correct_gpt_nvme ... ok WARNING [root] Unable to tell the kernel to drop caches: WARNING [root] Cannot flush buffers of device /dev/sda: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None WARNING [root] Cannot flush buffers of device /dev/nvme0n1: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_no_mlnx ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_no_mlnx ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_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_netutils.TestNetutils.test_get_lldp_info_socket_recv_error ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_socket_recv_error ... ok ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels ... ok ironic_python_agent.tests.unit.test_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_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_api.TestIronicAPI.test_execute_agent_command_params_validation ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_params_validation ... ok ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_no_wait ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_no_wait ... ok ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_with_false_wait ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_with_false_wait ... ok ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_with_args ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_with_args ... ok ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_label ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_label ... ok WARNING [ironic_python_agent.dmi_inspector] Failed to process memory dmi data: 'Handle' 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 ERROR [root] Flushing file system buffers failed: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None WARNING [ironic_python_agent.dmi_inspector] Failed to process memory dmi data: 'Number Of Devices' 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_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_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_burnin.TestBurnin.test__smart_test_status ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status ... ok ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_found_csv ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_found_csv ... ok ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_get_boot_records ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_get_boot_records ... ok ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_no_partition ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_no_partition ... ok ironic_python_agent.tests.unit.test_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_flow.TestFlowExtension.test_validate_exts_failed_empty_command_map ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_empty_command_map ... ok ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels_handles_exec_error ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels_handles_exec_error ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_unknown_file ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_unknown_file ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_unknown_file_md5 ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_unknown_file_md5 ... ok ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_modes ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_modes ... ok ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy ... ok ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card ... ok ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_execute_error ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_execute_error ... ok ironic_python_agent.tests.unit.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_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_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_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_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_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_burnin.TestBurnin.test__smart_test_status_missing ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status_missing ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_default ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_default ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_default ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_default ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_fio ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_fio ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_smart_test ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_smart_test ... ok ironic_python_agent.tests.unit.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.TestGetPartition.test_partuuid ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_partuuid ... 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_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_image.TestImageExtension.test__install_bootloader_bios ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_bios ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_no_root ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_no_root ... ok ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_data ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_data ... ok ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_no_heartbeat_timeout ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_no_heartbeat_timeout ... ok ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_node_locked ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_node_locked ... ok ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_transient_exceptions ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_transient_exceptions ... ok ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_to_find_extension ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_to_find_extension ... ok ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_success ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_success ... ok ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_finalize_rescue ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_finalize_rescue ... ok ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support ... 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.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support_no_mlnx ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support_no_mlnx ... ok ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_generate_client_id ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_generate_client_id ... ok ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_clean_steps ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_clean_steps ... ok ironic_python_agent.tests.unit.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_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.extensions.test_rescue.TestRescueExtension.test_finalize_rescue_write_failure ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_finalize_rescue_write_failure ... ok ironic_python_agent.tests.unit.test_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_disk_utils.ListPartitionsTestCase.test_incorrect ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_incorrect ... ok ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_incorrect_gpt ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_incorrect_gpt ... ok ironic_python_agent.tests.unit.test_utils.ParseDeviceTagsTestCase.test_empty ironic_python_agent.tests.unit.test_utils.ParseDeviceTagsTestCase.test_empty ... ok ironic_python_agent.tests.unit.test_utils.ParseDeviceTagsTestCase.test_parse ironic_python_agent.tests.unit.test_utils.ParseDeviceTagsTestCase.test_parse ... ok ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy_mounted ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy_mounted ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_grub_failure_api_override ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_grub_failure_api_override ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure_api_override ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure_api_override ... ok ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_base64_string ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_base64_string ... ok ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_binary ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_binary ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_warning_on_mismatch ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_warning_on_mismatch ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_invalid_checksum ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_invalid_checksum ... ok ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_software_raid ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_software_raid ... ok ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels_not_found ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels_not_found ... ok ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_device ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_device ... ok ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params ... ok ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_fail_format_error ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_fail_format_error ... ok ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_preserve_ephemeral ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_preserve_ephemeral ... ok ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_find_devices_all ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_find_devices_all ... ok ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_find_devices_name ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_find_devices_name ... ok ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_find_devices_none ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_find_devices_none ... ok ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_empty_device_attribute ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_empty_device_attribute ... ok ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step ... ok ironic_python_agent.tests.unit.test_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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_apply_net_firmware_update ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_apply_net_firmware_update ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images_duplicate_component_flavor_exception ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images_duplicate_component_flavor_exception ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_validate_images_schema ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_validate_images_schema ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_validate_images_schema_invalid_parameter ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_validate_images_schema_invalid_parameter ... ok ironic_python_agent.tests.unit.test_disk_utils.PopulateImageTestCase.test_populate_raw_image ironic_python_agent.tests.unit.test_disk_utils.PopulateImageTestCase.test_populate_raw_image ... ok ironic_python_agent.tests.unit.test_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_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.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_no_i40e_driver ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_no_i40e_driver ... ok ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_in_cna_card ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_in_cna_card ... ok ironic_python_agent.tests.unit.test_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 ERROR [ironic_python_agent.utils] boom 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.TestConfigDriveTestRecovery.test__does_config_drive_failed ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_failed ... ok ironic_python_agent.tests.unit.test_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_utils.TestCopyConfigFromVmedia.test_mounted_no_files ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_mounted_no_files ... ok ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_files ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_files ... ok ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_vmedia ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_vmedia ... ok ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_vmedia_found_not_booted_from_vmedia ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_vmedia_found_not_booted_from_vmedia ... ok ironic_python_agent.tests.unit.test_utils.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_disk_utils.ImageInspectionTest.test_image_inspection_fail_safety_check ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_fail_safety_check ... ok ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_iscsi_device ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_iscsi_device ... ok ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_local_device ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_local_device ... ok ironic_python_agent.tests.unit.extensions.test_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.TestCheckPrereq.test_check_prereq ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestCheckPrereq.test_check_prereq ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestCheckPrereq.test_check_prereq_exception ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestCheckPrereq.test_check_prereq_exception ... ok ironic_python_agent.tests.unit.test_hardware.TestVersions.test_check_versions ironic_python_agent.tests.unit.test_hardware.TestVersions.test_check_versions ... ok ironic_python_agent.tests.unit.test_hardware.TestVersions.test_get_current_versions ironic_python_agent.tests.unit.test_hardware.TestVersions.test_get_current_versions ... ok ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_pass ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_pass ... ok ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_with_token_invalid ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_with_token_invalid ... ok ironic_python_agent.tests.unit.extensions.test_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.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_inspector.TestCollectPciDevicesInfo.test_success ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success ... 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_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints ... ok ironic_python_agent.tests.unit.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_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.nvidia.test_nvidia_fw_update.TestUpdateNvidiaNicFirmwareImage.test_update_nvidia_nic_firmware_image_exception ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestUpdateNvidiaNicFirmwareImage.test_update_nvidia_nic_firmware_image_exception ... ok ironic_python_agent.tests.unit.test_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_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.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info ... ok ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_ib_interface ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_ib_interface ... ok ironic_python_agent.tests.unit.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_rescue.TestRescueExtension.test_hashed_passwords ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_hashed_passwords ... ok ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test__heartbeat_expected ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test__heartbeat_expected ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_no_space_error_fatal ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_no_space_error_fatal ... ok ironic_python_agent.tests.unit.test_utils.TestFailures.test_get_error ironic_python_agent.tests.unit.test_utils.TestFailures.test_get_error ... ok ironic_python_agent.tests.unit.test_utils.TestFailures.test_raise ironic_python_agent.tests.unit.test_utils.TestFailures.test_raise ... ok WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_work ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_work ... ok ironic_python_agent.tests.unit.test_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_numa_inspector.TestCollectNumaTopologyInfo.test_collect_failure ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_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_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 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_utils.TestUtils.test_device_extractor ironic_python_agent.tests.unit.test_utils.TestUtils.test_device_extractor ... ok ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_dict ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_dict ... ok WARNING [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.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 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_qemu_img.ConvertImageTestCase.test_convert_image ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image ... ok ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints2 ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints2 ... ok ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_json_string ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_json_string ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_errors_no_bootc ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_errors_no_bootc ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_luks ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_luks ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_no_selinux_keys_auth ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_no_selinux_keys_auth ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_podman_errors ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_podman_errors ... ok 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__write_authorized_keys ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__write_authorized_keys ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__write_container_auth ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__write_container_auth ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__write_no_pivot_root ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__write_no_pivot_root ... ok ironic_python_agent.tests.unit.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 ERROR [ironic_python_agent.extensions.standby] Image failed to verify against checksum. location: /tmp/tmp_o9gtt20/fake_id; image ID: fake_id; image checksum: fake-checksum; verification checksum: invalid-checksum 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.test_encoding.TestSerializableComparable.test_childclass_equal ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_equal ... ok ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_hash ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_hash ... ok ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_notequal ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_notequal ... ok ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders ... ok ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive ... ok ironic_python_agent.tests.unit.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.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_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_qemu_img.ConvertImageTestCase.test_convert_image_disabled ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_disabled ... ok ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_flags ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_flags ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2 ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2 ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_command_fail ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_command_fail ... ok ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_chronyd ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_chronyd ... ok ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_none ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_none ... ok ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_unknown_exception_fallback ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_unknown_exception_fallback ... ok ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_with_uuid ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_with_uuid ... ok ironic_python_agent.tests.unit.test_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_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_get_agent_url_ipv4 ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_ipv4 ... ok ironic_python_agent.tests.unit.test_disk_utils.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.extensions.test_standby.TestImageDownload.test_download_image_retries_success ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries_success ... ok ironic_python_agent.tests.unit.test_inject_files.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_inject_files.TestInjectOne.test_plain_content_with_owner ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_owner ... ok ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_owner_and_group ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_owner_and_group ... ok ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url ... ok ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url_formatting ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url_formatting ... ok ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints3 ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints3 ... ok ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_no_device_found ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_no_device_found ... ok ironic_python_agent.tests.unit.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.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mac_address ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mac_address ... ok ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mlnx_interface ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mlnx_interface ... ok ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_infiniband_address_to_mac ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_infiniband_address_to_mac ... ok ironic_python_agent.tests.unit.test_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.extensions.test_service.TestServiceExtension.test_execute_service_step_fail ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_fail ... ok ironic_python_agent.tests.unit.test_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_qemu_img.ConvertImageTestCase.test_convert_image_flags_disabled ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_flags_disabled ... ok WARNING [ironic_python_agent.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_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_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive_graceful_fail ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive_graceful_fail ... ok ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_locks_out_with_token ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_locks_out_with_token ... ok 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_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.TestCollectPciDevicesInfo.test_success_numa_ioerror ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success_numa_ioerror ... ok ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders_no_csv ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders_no_csv ... ok ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_windows_efi_bootloaders ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_windows_efi_bootloaders ... ok ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__no_efi_bootloaders ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__no_efi_bootloaders ... ok ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_benchmarks ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_benchmarks ... 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_inspector.TestCollectExtraHardware.test_execute_failed ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_execute_failed ... 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_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_qemu_img.ConvertImageTestCase.test_convert_image_just_fails ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_just_fails ... ok ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_no_benchmarks ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_no_benchmarks ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image ... ok ironic_python_agent.tests.unit.test_disk_utils.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_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_api.TestIronicAPI.test_get_command_result ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_result ... 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_inspector.TestCollectExtraHardware.test_parsing_failed ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_parsing_failed ... ok ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_no_operators ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_no_operators ... ok ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_wrong_path ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_wrong_path ... 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_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_qemu_img.ConvertImageTestCase.test_convert_image_just_fails_disabled ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_just_fails_disabled ... ok ironic_python_agent.tests.unit.test_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_inspector.TestInspect.test_collector_failed ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collector_failed ... ok ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_cache_hardware_info ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_cache_hardware_info ... ok ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_success ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_success ... ok ironic_python_agent.tests.unit.test_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_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_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_one_hint ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_one_hint ... ok ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_encoder ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_encoder ... 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_utils.GetAgentParamsTestCase.test__get_vmedia_params_by_device ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_by_device ... ok ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_by_device_device_invalid ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_by_device_device_invalid ... ok ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_cannot_find_dev ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_cannot_find_dev ... ok ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file ... ok ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file_fail ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file_fail ... ok ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_agent_version_unsupported ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_agent_version_unsupported ... ok ironic_python_agent.tests.unit.test_utils.BareMetalUtilsTestCase.test_unlink ironic_python_agent.tests.unit.test_utils.BareMetalUtilsTestCase.test_unlink ... ok ironic_python_agent.tests.unit.test_agent.TestBaseAgentVMediaToken.test_run_agent_token_vmedia ironic_python_agent.tests.unit.test_agent.TestBaseAgentVMediaToken.test_run_agent_token_vmedia ... ok ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_with_token ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_with_token ... ok ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_none ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_none ... ok ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_from_cache ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_from_cache ... ok ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_kernel_cmdline ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_kernel_cmdline ... ok ironic_python_agent.tests.unit.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_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_inspector.TestCollectDefault.test_ok ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_ok ... 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_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_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_qemu_img.ConvertImageTestCase.test_convert_image_retries ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries ... ok ironic_python_agent.tests.unit.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_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_rotational ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_rotational ... ok ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_1 ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_1 ... ok ironic_python_agent.tests.unit.test_utils.TestUtils.test_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.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.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_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_rotational_convert_devices_bool ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_rotational_convert_devices_bool ... ok ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_numeric_fields ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_numeric_fields ... ok ERROR [ironic_python_agent.extensions.image] Installing GRUB2 boot loader to device /dev/fake failed with Unexpected error while running command. Command: None Exit code: - Stdout: 'error' Stderr: None. ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error ... ok ironic_python_agent.tests.unit.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_api.TestIronicAPI.test_get_command_with_token_invalid ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_with_token_invalid ... ok ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp ... 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_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.extensions.test_service.TestServiceExtension.test_execute_service_step_tuple_result ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_tuple_result ... ok WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_insecure ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_insecure ... ok WARNING [ironic_python_agent.agent] No route to host fc00:1111::1, route record: Error: some error text ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test_heartbeat ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test_heartbeat ... ok WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None ironic_python_agent.tests.unit.test_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.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential ... ok ironic_python_agent.tests.unit.test_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_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.WaitForDisk.test_wait_for_disk_to_become_available_no_fuser ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_no_fuser ... ok ironic_python_agent.tests.unit.test_utils.BareMetalUtilsTestCase.test_unlink_ENOENT ironic_python_agent.tests.unit.test_utils.BareMetalUtilsTestCase.test_unlink_ENOENT ... ok ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error_disabled ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error_disabled ... ok ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_command_not_found ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_command_not_found ... ok ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_empty ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_empty ... 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_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_agent.TestFromConfig.test_override_urls ironic_python_agent.tests.unit.test_agent.TestFromConfig.test_override_urls ... ok ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_broken ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_broken ... ok ironic_python_agent.tests.unit.test_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_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_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.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_utils.ExecuteTestCase.test_execute_not_use_standard_locale ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale ... ok ironic_python_agent.tests.unit.test_utils.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.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_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails ... ok ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collectors_option ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collectors_option ... 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_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_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.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_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_ok ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_ok ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential_second ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential_second ... ok ironic_python_agent.tests.unit.test_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_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables ... ok ironic_python_agent.tests.unit.test_utils.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_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_inject_files.TestInjectFiles.test_invalid_type_on_node ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_invalid_type_on_node ... ok ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_commands_with_token ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_commands_with_token ... ok ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables ... ok ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails_disabled ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails_disabled ... ok ironic_python_agent.tests.unit.test_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_device_hints.ParseRootDeviceTestCase.test__append_operator_to_hints ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test__append_operator_to_hints ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_empty_value ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_empty_value ... ok ironic_python_agent.tests.unit.test_utils.TestUtils.test_gzip_and_b64encode ironic_python_agent.tests.unit.test_utils.TestUtils.test_gzip_and_b64encode ... ok ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_with_collect_lldp_enabled ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_with_collect_lldp_enabled ... ok ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_async_command_failure ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_async_command_failure ... ok ironic_python_agent.tests.unit.test_partition_utils.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_inject_files.TestInjectFiles.test_ok ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_ok ... ok ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_exception ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_exception ... ok ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_disabled ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_disabled ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_status ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_status ... ok ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_version_mismatch ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_version_mismatch ... ok ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_bios ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_bios ... ok ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_cpu ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_cpu ... ok ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_memory ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_memory ... ok ironic_python_agent.tests.unit.test_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_api.TestIronicAPI.test_list_commands_with_token_invalid ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_commands_with_token_invalid ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_integer ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_integer ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_multiple_values ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_multiple_values ... ok ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data ... ok ironic_python_agent.tests.unit.extensions.test_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_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.TestStreamingClient.test_ok ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_ok ... ok ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_get_service_steps ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_get_service_steps ... ok ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_ssl ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_ssl ... ok ironic_python_agent.tests.unit.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_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_async_command_success ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_async_command_success ... ok ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid ... ok ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_with_log_stdout_default ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_with_log_stdout_default ... ok ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data_error_handle ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data_error_handle ... ok ironic_python_agent.tests.unit.test_utils.TestUtils.test_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.extensions.test_standby.TestStandbyExtension.test_download_image_basic_auth_image_info_success ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_basic_auth_image_info_success ... ok ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_root ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_root ... ok ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_wholedisk ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_wholedisk ... ok ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_save_api_client ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_save_api_client ... 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_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_multiple_values_space ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_multiple_values_space ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_no_operator ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_no_operator ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_single_value ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_single_value ... ok ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_with_log_stdout_false ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_with_log_stdout_false ... ok ironic_python_agent.tests.unit.extensions.test_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_agent.TestAdvertiseAddress.test_advertise_address_provided ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_advertise_address_provided ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_conductor_auth ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_conductor_auth ... ok ironic_python_agent.tests.unit.test_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_api.TestIronicAPI.test_v1_root ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_v1_root ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_empty_value ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_empty_value ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_in ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_in ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_no_op_no_space ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_no_op_no_space ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_no_op_space ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_no_op_space ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_op_no_space ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_op_no_space ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_op_space ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_op_space ... ok ironic_python_agent.tests.unit.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_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_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.TestWaitForDhcp.test_all ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_all ... ok ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_boot_only ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_boot_only ... ok ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_disabled ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_disabled ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_or ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_or ... ok ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_failed ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_failed ... ok ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_with_log_stdout_true ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_with_log_stdout_true ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_proxy ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_proxy ... ok ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_indexerror ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_indexerror ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_verify_fails ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_verify_fails ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_image_info_user_pass_none ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_image_info_user_pass_none ... ok ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_retry ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_retry ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_image_info_user_pass_success ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_image_info_user_pass_success ... ok ironic_python_agent.tests.unit.test_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_inject_files.TestFindAndMountPath.test_with_on_as_number_nvme ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_number_nvme ... ok ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_path ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_path ... ok ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on ... ok ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on_wrong_path ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on_wrong_path ... ok ironic_python_agent.tests.unit.test_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.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_oslo_conf_user_pass_none ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_oslo_conf_user_pass_none ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_oslo_conf_user_pass_success ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_oslo_conf_user_pass_success ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_get_partition_uuids ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_get_partition_uuids ... ok ironic_python_agent.tests.unit.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_agent.TestAdvertiseAddress.test_route_several_urls_and_retries ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_several_urls_and_retries ... ok ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_host ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_host ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_image_location ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_image_location ... ok ironic_python_agent.tests.unit.test_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_agent.TestBaseAgent.test_get_route_source_ipv6 ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv6 ... ok ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv6_linklocal ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv6_linklocal ... ok ironic_python_agent.tests.unit.test_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.extensions.test_standby.TestStandbyExtension.test_load_auth_header_from_image_info ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_load_auth_header_from_image_info ... ok ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_host_v6 ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_host_v6 ... ok ironic_python_agent.tests.unit.test_hardware.TestFullSync.test_full_sync ironic_python_agent.tests.unit.test_hardware.TestFullSync.test_full_sync ... ok ironic_python_agent.tests.unit.test_hardware.TestFullSync.test_optional_calls_fail ironic_python_agent.tests.unit.test_hardware.TestFullSync.test_optional_calls_fail ... ok ironic_python_agent.tests.unit.test_hardware.TestFullSync.test_sync_fails ironic_python_agent.tests.unit.test_hardware.TestFullSync.test_sync_fails ... ok ironic_python_agent.tests.unit.test_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 WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_convert_rotational ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_convert_rotational ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_convert_size ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_convert_size ... ok 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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_int_or ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_int_or ... ok ironic_python_agent.tests.unit.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.extensions.test_image.TestImageExtension.test__install_grub2_uefi_mount_fails ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_mount_fails ... ok WARNING [root] 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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_int_or_invalid ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_int_or_invalid ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_by_path ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_by_path ... ok WARNING [ironic_python_agent.extensions.image] Falling back to fstab entry addition label of UUID. We could not identify which UUID or PARTUUID identifier label should be used, thus UUID will be used. ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_load_auth_header_from_image_info_none ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_load_auth_header_from_image_info_none ... ok ironic_python_agent.tests.unit.test_utils.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_inspector.TestInspect.test_disabled ironic_python_agent.tests.unit.test_inspector.TestInspect.test_disabled ... ok ironic_python_agent.tests.unit.test_inspector.TestInspect.test_extensions_failed ironic_python_agent.tests.unit.test_inspector.TestInspect.test_extensions_failed ... ok ironic_python_agent.tests.unit.test_inspector.TestInspect.test_inspector_error ironic_python_agent.tests.unit.test_inspector.TestInspect.test_inspector_error ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_hctl ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_hctl ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_model ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_model ... ok ironic_python_agent.tests.unit.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_inspector.TestInspect.test_mdns ironic_python_agent.tests.unit.test_inspector.TestInspect.test_mdns ... ok ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_status ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_status ... ok ironic_python_agent.tests.unit.test_partition_utils.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_inspector.TestInspect.test_ok ironic_python_agent.tests.unit.test_inspector.TestInspect.test_ok ... ok ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_several_urls ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_several_urls ... ok ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None WARNING [ironic_python_agent.extensions.standby] poweroff command failed with error Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None, falling back to sysrq-trigger 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 [root] Command failed: power_off, error: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None. Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1086, in _run_shutdown_command utils.execute("echo o > /proc/sysrq-trigger", shell=True) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 3, in do_not_call File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1102, in power_off self._run_shutdown_command('poweroff') ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1090, in _run_shutdown_command raise errors.SystemRebootError(e.exit_code, e.stdout, e.stderr) ironic_python_agent.errors.SystemRebootError: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None. ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_node_retries ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_node_retries ... ok ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_with_instance_disk_label ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_with_instance_disk_label ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_name ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_name ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_rotational ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_rotational ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_serial ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_serial ... ok ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_timeout ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_timeout ... ok ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat ... ok ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_ip6 ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_ip6 ... ok ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_token ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_token ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_size ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_size ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_vendor ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_vendor ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn_vendor_extension ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn_vendor_extension ... 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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn_with_extension ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn_with_extension ... ok ironic_python_agent.tests.unit.test_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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_no_hints ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_no_hints ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_non_existent_hint ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_non_existent_hint ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_string_compare_operator_name ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_string_compare_operator_name ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_string_or_space ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_string_or_space ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_with_operators ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_with_operators ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_without_operators ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_without_operators ... ok ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_both_succeed ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_both_succeed ... ok ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_both_succeed ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_both_succeed ... ok ironic_python_agent.tests.unit.test_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_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.extensions.test_standby.TestStandbyExtension.test_power_off ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_power_off ... ok ERROR [ironic_python_agent.utils] Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ERROR [root] Command failed: power_off, error: Error syncing system clock: Failed to sync hardware clock: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/utils.py", line 1018, in sync_clock execute('ntpdate', CONF.ntp_server) ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 3, in do_not_call File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1135, in _sync_clock utils.sync_clock(ignore_errors=ignore_errors) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/utils.py", line 1025, in sync_clock raise errors.CommandExecutionError(msg) ironic_python_agent.errors.CommandExecutionError: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1102, in power_off self._run_shutdown_command('poweroff') ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1061, in _run_shutdown_command self._sync_clock(ignore_errors=True) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1145, in _sync_clock raise errors.ClockSyncError(msg) ironic_python_agent.errors.ClockSyncError: Error syncing system clock: Failed to sync hardware clock: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ironic_python_agent.tests.unit.test_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_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.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 POST: /v1/commands {'name': 'do_things', 'params': []} GOT: POST: /v1/commands {'name': 'do_things', 'params': {'key': 'value'}} GOT: POST: /v1/commands?wait=false {'name': 'do_things', 'params': {'key': 'value'}} GOT: POST: /v1/commands?wait=true {'name': 'do_things', 'params': {'key': 'value'}} GOT: POST: /v1/commands {} GOT: POST: /v1/commands?wait=false?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 {'name': 'do_things', 'params': {'key': 'value', 'wait': False, 'agent_token': '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789'}} GOT: POST: /v1/commands?wait=false?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 {'name': 'do_things', 'params': {'key': 'value', 'wait': False, 'agent_token': '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789'}} GOT: GET: /v1/status None GOT: GET: /v1/commands/abc123 None GOT: GET: /v1/commands/abc123?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 None GOT: GET: /v1/commands/abc123 None GOT: GET: /v1/commands/abc123 None GOT: GET: /v1/commands/abc123?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 None GOT: GET: /v1/commands/abc123?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 None GOT: GET: /v1/commands None GOT: GET: /v1/commands?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 None GOT: GET: /v1/commands?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 None GOT: GET: /v1/foo None GOT: GET: / None GOT: GET: /v1 None GOT: WARNING [root] Can't find field vendor for device lo in device class net 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 ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve return _proxy.query(name, rdtype, raise_on_no_answer=raises, ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use_network=use_network) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) ^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver self.clear() ~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear self._resolver = dns.resolver.Resolver(filename=self._filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ self.read_resolv_conf(filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf raise NoResolverConfiguration("no nameservers") dns.resolver.NoResolverConfiguration: no nameservers During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo qname, addrs = _getaddrinfo_lookup(host, family, flags) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup raise err File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup answer = resolve(host, qfamily, False, use_network=use_network) File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve _raise_new_error(EAI_NODATA_ERROR) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error raise error_instance.__class__(*error_instance.args) socket.gaierror: [Errno -2] Name or service not known The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version response = self._request('GET', '/') File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 90, in _request resp = self.session.request(method, request_url, ...<4 lines>... timeout=CONF.http_request_timeout, **kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader ... ok WARNING [ironic_python_agent.agent] Ironic does not support automated TLS 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_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_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_disk_utils.OtherFunctionTestCase.test_block_uuid ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_block_uuid ... ok ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_block_uuid_fallback_to_uuid ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_block_uuid_fallback_to_uuid ... ok ironic_python_agent.tests.unit.test_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_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout ... ok ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_configured ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_configured ... ok ironic_python_agent.tests.unit.test_raid_utils.TestFindESPRAID.test_no_esp_raid ironic_python_agent.tests.unit.test_raid_utils.TestFindESPRAID.test_no_esp_raid ... ok ironic_python_agent.tests.unit.test_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_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_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions ... ok ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_no_logical_partitions ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_no_logical_partitions ... ok ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_wrong_partition_table ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_wrong_partition_table ... ok 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_disk_utils.OtherFunctionTestCase.test_is_block_device_raises ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_raises ... ok ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_works ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_works ... ok ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_unconfigured ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_unconfigured ... ok ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces ... ok ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_no_carrier ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_no_carrier ... ok ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_no_wait_for_disks ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_no_wait_for_disks ... ok ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks ... ok ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_configured ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_configured ... ok ironic_python_agent.tests.unit.test_hardware.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_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_bond ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_bond ... ok ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp ... ok ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp_error ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp_error ... ok ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_pci_address ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_pci_address ... ok ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_vendor_info ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_vendor_info ... ok ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces ... ok ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces_using_lldp ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces_using_lldp ... ok ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces_using_lldp_all ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces_using_lldp_all ... ok ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_invalid_int ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_invalid_int ... ok ironic_python_agent.tests.unit.test_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 ERROR [root] Command failed: prepare_image, error: Don't call utils.execute() / processutils.execute() or similar functions in tests! Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1025, in prepare_image _validate_partitioning(device) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 839, in _validate_partitioning disk_utils.partprobe(device) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/disk_utils.py", line 667, in partprobe utils.execute('partprobe', device, attempts=attempts) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/base.py", line 88, in do_not_call raise Exception( "Don't call utils.execute() / " "processutils.execute() or similar functions in tests!") Exception: Don't call utils.execute() / processutils.execute() or similar functions in tests! WARNING [root] Can't find field vendor for device lo in device class net 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_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_agent.TestBaseAgent.test_run ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image ... ok ironic_python_agent.tests.unit.test_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_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_nonconfigured ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_nonconfigured ... ok ironic_python_agent.tests.unit.test_hardware.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_utils.MountedTestCase.test_failed_to_mount ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_failed_to_mount ... ok ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_failed_to_unmount ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_failed_to_unmount ... ok ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_temporary ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_temporary ... ok ironic_python_agent.tests.unit.test_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_utils.MountedTestCase.test_with_dest ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_with_dest ... ok ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_with_opts ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_with_opts ... ok ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_numa_format_memory_info ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_numa_format_memory_info ... ok ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_with_type ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_with_type ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_bad_partition ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_bad_partition ... ok ironic_python_agent.tests.unit.test_agent.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_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 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_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_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_threaddir_format_cores_info ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_threaddir_format_cores_info ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader_grubcfg_fails ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader_grubcfg_fails ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_configdrive ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_configdrive ... 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 ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve return _proxy.query(name, rdtype, raise_on_no_answer=raises, ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use_network=use_network) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) ^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver self.clear() ~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear self._resolver = dns.resolver.Resolver(filename=self._filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ self.read_resolv_conf(filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf raise NoResolverConfiguration("no nameservers") dns.resolver.NoResolverConfiguration: no nameservers During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo qname, addrs = _getaddrinfo_lookup(host, family, flags) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup raise err File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup answer = resolve(host, qfamily, False, use_network=use_network) File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve _raise_new_error(EAI_NODATA_ERROR) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error raise error_instance.__class__(*error_instance.args) socket.gaierror: [Errno -2] Name or service not known The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version response = self._request('GET', '/') File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 90, in _request resp = self.session.request(method, request_url, ...<4 lines>... timeout=CONF.http_request_timeout, **kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS 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_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_mainline_only ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_mainline_only ... ok ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_agent_token ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_agent_token ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_hexdump ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_hexdump ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader_with_grubcfg ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader_with_grubcfg ... ok ironic_python_agent.tests.unit.test_partition_utils.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.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_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_manager_method_not_found ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_manager_method_not_found ... ok ironic_python_agent.tests.unit.extensions.test_standby.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_mdns.GetEndpointTestCase.test_binary_data ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_binary_data ... ok ERROR [root] Unexpected error dispatching unexpected_fail to manager : A problem was encountered Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/hardware.py", line 3618, in dispatch_to_all_managers response = getattr(manager, method)(*args, **kwargs) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 32, in wrapper return fn(self, *args, **kwargs) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 101, in unexpected_fail raise RuntimeError('A problem was encountered') RuntimeError: A problem was encountered ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve return _proxy.query(name, rdtype, raise_on_no_answer=raises, ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use_network=use_network) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) ^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver self.clear() ~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear self._resolver = dns.resolver.Resolver(filename=self._filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ self.read_resolv_conf(filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf raise NoResolverConfiguration("no nameservers") dns.resolver.NoResolverConfiguration: no nameservers During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo qname, addrs = _getaddrinfo_lookup(host, family, flags) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup raise err File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup answer = resolve(host, qfamily, False, use_network=use_network) File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve _raise_new_error(EAI_NODATA_ERROR) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error raise error_instance.__class__(*error_instance.args) socket.gaierror: [Errno -2] Name or service not known The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version response = self._request('GET', '/') File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 90, in _request resp = self.session.request(method, request_url, ...<4 lines>... timeout=CONF.http_request_timeout, **kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image ... ok ironic_python_agent.tests.unit.test_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_agent.TestBaseAgent.test_run_listen_host_port ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_listen_host_port ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_no_loader ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_no_loader ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image_raw_and_stream_false ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image_raw_and_stream_false ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image_raw_stream_true ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image_raw_stream_true ... ok ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_generic_method_only ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_generic_method_only ... ok ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None WARNING [ironic_python_agent.extensions.standby] reboot command failed with error Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None, falling back to sysrq-trigger ERROR [root] Command failed: run_image, error: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None. Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1088, in _run_shutdown_command utils.execute("echo b > /proc/sysrq-trigger", shell=True) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 3, in do_not_call File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1096, in run_image self._run_shutdown_command('reboot') ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1090, in _run_shutdown_command raise errors.SystemRebootError(e.exit_code, e.stdout, e.stderr) ironic_python_agent.errors.SystemRebootError: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None. ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_image ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_image ... ok WARNING [ironic_python_agent.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.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve return _proxy.query(name, rdtype, raise_on_no_answer=raises, ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use_network=use_network) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) ^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver self.clear() ~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear self._resolver = dns.resolver.Resolver(filename=self._filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ self.read_resolv_conf(filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf raise NoResolverConfiguration("no nameservers") dns.resolver.NoResolverConfiguration: no nameservers During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo qname, addrs = _getaddrinfo_lookup(host, family, flags) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup raise err File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup answer = resolve(host, qfamily, False, use_network=use_network) File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve _raise_new_error(EAI_NODATA_ERROR) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error raise error_instance.__class__(*error_instance.args) socket.gaierror: [Errno -2] Name or service not known The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version response = self._request('GET', '/') File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 90, in _request resp = self.session.request(method, request_url, ...<4 lines>... timeout=CONF.http_request_timeout, **kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None WARNING [ironic_python_agent.extensions.standby] reboot command failed with error Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None, falling back to sysrq-trigger 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_failure ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_preserve_failure ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_fails ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_fails ... ok WARNING [ironic_python_agent.mdns] None of addresses ['::2', '::3'] seem routable, using ::2 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_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_mdns.GetEndpointTestCase.test_fallback ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_fallback ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid ... ok WARNING [ironic_python_agent.extensions.standby] poweroff command failed with error Unexpected error while running command. Command: None Exit code: - Stdout: '' Stderr: None, falling back to sysrq-trigger ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_poweroff_sysrq ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_poweroff_sysrq ... ok WARNING [ironic_python_agent.extensions.standby] reboot command has been ignored, falling back to sysrq-trigger ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_reboot_sysrq ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_reboot_sysrq ... ok ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve return _proxy.query(name, rdtype, raise_on_no_answer=raises, ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use_network=use_network) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) ^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver self.clear() ~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear self._resolver = dns.resolver.Resolver(filename=self._filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ self.read_resolv_conf(filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf raise NoResolverConfiguration("no nameservers") dns.resolver.NoResolverConfiguration: no nameservers During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo qname, addrs = _getaddrinfo_lookup(host, family, flags) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup raise err File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup answer = resolve(host, qfamily, False, use_network=use_network) File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve _raise_new_error(EAI_NODATA_ERROR) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error raise error_instance.__class__(*error_instance.args) socket.gaierror: [Errno -2] Name or service not known The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version response = self._request('GET', '/') File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 90, in _request resp = self.session.request(method, request_url, ...<4 lines>... timeout=CONF.http_request_timeout, **kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_then_lockdown ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_then_lockdown ... ok WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_preserve_failure2 ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_preserve_failure2 ... ok ironic_python_agent.tests.unit.test_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.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. ERROR [ironic_python_agent.extensions.image] Installing GRUB2 boot loader to device /dev/fake failed with Unexpected error while running command. Command: None Exit code: - Stdout: 'error' Stderr: None. ERROR [ironic_python_agent.extensions.image] Umounting efi system partition failed. Attempted 3 times. Error: Unexpected error while running command. Command: None Exit code: - Stdout: 'error' Stderr: None WARNING [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 return _proxy.query(name, rdtype, raise_on_no_answer=raises, ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use_network=use_network) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) ^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver self.clear() ~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear self._resolver = dns.resolver.Resolver(filename=self._filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ self.read_resolv_conf(filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf raise NoResolverConfiguration("no nameservers") dns.resolver.NoResolverConfiguration: no nameservers During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo qname, addrs = _getaddrinfo_lookup(host, family, flags) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup raise err File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup answer = resolve(host, qfamily, False, use_network=use_network) File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve _raise_new_error(EAI_NODATA_ERROR) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error raise error_instance.__class__(*error_instance.args) socket.gaierror: [Errno -2] Name or service not known The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version response = self._request('GET', '/') File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 90, in _request resp = self.session.request(method, request_url, ...<4 lines>... timeout=CONF.http_request_timeout, **kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS ironic_python_agent.tests.unit.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.extensions.test_image.TestImageExtension.test__install_grub2_uefi_umount_fails ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_umount_fails ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_empty ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_empty ... ok ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_https ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_https ... ok ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_inspection ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_inspection ... ok ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_manager_method_not_found ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_manager_method_not_found ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_not_bootable ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_not_bootable ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_uefi_mode ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_uefi_mode ... ok 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 ERROR [root] Unexpected error dispatching unexpected_fail to manager : A problem was encountered Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/hardware.py", line 3662, in dispatch_to_managers return getattr(manager, method)(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 32, in wrapper return fn(self, *args, **kwargs) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 101, in unexpected_fail raise RuntimeError('A problem was encountered') RuntimeError: A problem was encountered ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_method_fails ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_method_fails ... ok WARNING [ironic_python_agent.agent] Could not get baremetal endpoint from mDNS, will not heartbeat WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. WARNING [root] Can't find field vendor for device lo in device class net WARNING [ironic_python_agent.agent] Ironic does not support automated TLS ironic_python_agent.tests.unit.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_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: line 1. ironic-python-agent: line 2 message WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve return _proxy.query(name, rdtype, raise_on_no_answer=raises, ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use_network=use_network) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) ^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver self.clear() ~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear self._resolver = dns.resolver.Resolver(filename=self._filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ self.read_resolv_conf(filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf raise NoResolverConfiguration("no nameservers") dns.resolver.NoResolverConfiguration: no nameservers During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo qname, addrs = _getaddrinfo_lookup(host, family, flags) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup raise err File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup answer = resolve(host, qfamily, False, use_network=use_network) File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve _raise_new_error(EAI_NODATA_ERROR) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error raise error_instance.__class__(*error_instance.args) socket.gaierror: [Errno -2] Name or service not known The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version response = self._request('GET', '/') File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 90, in _request resp = self.session.request(method, request_url, ...<4 lines>... timeout=CONF.http_request_timeout, **kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. WARNING [ironic_python_agent.extensions.image] efibootmgr is not available in the ramdisk ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error ERROR [root] Command failed: install_bootloader, error: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/image.py", line 721, in install_bootloader _install_grub2(device, ~~~~~~~~~~~~~~^^^^^^^^ root_uuid=root_uuid, ^^^^^^^^^^^^^^^^^^^^ efi_system_part_uuid=efi_system_part_uuid, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ prep_boot_part_uuid=prep_boot_part_uuid, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ target_boot_mode=target_boot_mode) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/image.py", line 167, in _install_grub2 root_partition = partition_utils.get_partition(device, uuid=root_uuid) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/partition_utils.py", line 618, in get_partition utils.rescan_device(device) ~~~~~~~~~~~~~~~~~~~^^^^^^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/utils.py", line 1114, in rescan_device execute('partx', '-av', device, attempts=3, delay_on_retry=True) ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 3, in do_not_call File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect FileNotFoundError ERROR [ironic_python_agent.inspector] inspector url error 400: , proceeding with lookup 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 ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve return _proxy.query(name, rdtype, raise_on_no_answer=raises, ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use_network=use_network) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) ^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver self.clear() ~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear self._resolver = dns.resolver.Resolver(filename=self._filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ self.read_resolv_conf(filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf raise NoResolverConfiguration("no nameservers") dns.resolver.NoResolverConfiguration: no nameservers During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo qname, addrs = _getaddrinfo_lookup(host, family, flags) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup raise err File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup answer = resolve(host, qfamily, False, use_network=use_network) File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve _raise_new_error(EAI_NODATA_ERROR) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error raise error_instance.__class__(*error_instance.args) socket.gaierror: [Errno -2] Name or service not known The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'example.com' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='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: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version response = self._request('GET', '/') File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 90, in _request resp = self.session.request(method, request_url, ...<4 lines>... timeout=CONF.http_request_timeout, **kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='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_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_agent.TestAgentStandalone.test_run ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run ... ok ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_invalid_key ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_invalid_key ... ok ironic_python_agent.tests.unit.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_agent.TestBaseAgent.test_run_with_sleep ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_sleep ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_with_entry_removal_lenovo ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_with_entry_removal_lenovo ... ok ironic_python_agent.tests.unit.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_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.TestCallInspector.test_inspector_error ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_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_mdns.GetEndpointTestCase.test_localhost_only ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_localhost_only ... ok ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_url_from_mdns_by_default ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_url_from_mdns_by_default ... ok ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_not_found ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.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 return _proxy.query(name, rdtype, raise_on_no_answer=raises, ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use_network=use_network) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) ^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver self.clear() ~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear self._resolver = dns.resolver.Resolver(filename=self._filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ self.read_resolv_conf(filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf raise NoResolverConfiguration("no nameservers") dns.resolver.NoResolverConfiguration: no nameservers During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo qname, addrs = _getaddrinfo_lookup(host, family, flags) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup raise err File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup answer = resolve(host, qfamily, False, use_network=use_network) File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve _raise_new_error(EAI_NODATA_ERROR) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error raise error_instance.__class__(*error_instance.args) socket.gaierror: [Errno -2] Name or service not known The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'example.com' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='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: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version response = self._request('GET', '/') File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 90, in _request resp = self.session.request(method, request_url, ...<4 lines>... timeout=CONF.http_request_timeout, **kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='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_explicitly ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_url_from_mdns_explicitly ... ok ironic_python_agent.tests.unit.test_hardware.TestExecuteBootCInstall.test_execute_bootc_install ironic_python_agent.tests.unit.test_hardware.TestExecuteBootCInstall.test_execute_bootc_install ... ok ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs ... ok ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs_with_label ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs_with_label ... ok ERROR [ironic_python_agent.utils] Failed to create a file system in /my/block/dev. Error: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: 'fake' Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/utils.py", line 156, in mkfs execute(*args, use_standard_locale=True) ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 3, in do_not_call File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: 'fake' ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs_with_unexpected_error ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs_with_unexpected_error ... ok ERROR [ironic_python_agent.utils] Failed to make file system. File system foo is not supported. Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/utils.py", line 156, in mkfs execute(*args, use_standard_locale=True) ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 3, in do_not_call File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: 'No such file or directory' ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs_with_unsupported_fs ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs_with_unsupported_fs ... ok ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_simple ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_simple ... 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_mdns.GetEndpointTestCase.test_skip_invalid ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_skip_invalid ... ok ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_v6 ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_v6 ... ok ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_custom_port_and_path ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_custom_port_and_path ... ok ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_custom_port_path_and_protocol ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_custom_port_path_and_protocol ... ok ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_params ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_params ... ok 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_mdns.GetEndpointTestCase.test_with_server ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_server ... ok ironic_python_agent.tests.unit.test_partition_utils.IsHttpUrlTestCase.test__is_http_url ironic_python_agent.tests.unit.test_partition_utils.IsHttpUrlTestCase.test__is_http_url ... ok ironic_python_agent.tests.unit.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.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 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 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_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_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_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_burnin.TestBurnin.test_fio_network_dynamic_find_pair_2nd ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_2nd ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_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 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_concurrency_pool_size ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_concurrency_pool_size ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_express ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_express ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_express_stops_on_safety_failure ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_express_stops_on_safety_failure ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata_error ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata_error ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata_safety_check ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata_safety_check ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default_protected_device ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default_protected_device ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_without_disk ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_without_disk ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_pstore ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_pstore ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_ok ... ok WARNING [root] Executable 'biosdevname' not found ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_oserror ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_oserror ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err3 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err3 ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err4 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err4 ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_invalid ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_invalid ... ok WARNING [root] Invalid IP address meow: 'meow' does not appear to be an IPv4 or IPv6 address ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_iterate_channels ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_iterate_channels ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_no_ipmi_device ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_no_ipmi_device ... ok WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_not_available ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_not_available ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_random_error ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_random_error ... ok WARNING [root] Cannot get BMC address: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_virt ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_virt ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_zeroed ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_zeroed ... ok ERROR [ironic_python_agent.extensions.standby] Timeout reached waiting for a chunk of data from a remote server. ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_socket_read_timeout ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_socket_read_timeout ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_for_ipv6 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_for_ipv6 ... 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.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_invalid ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_invalid ... ok ironic_python_agent.tests.unit.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 WARNING [root] Invalid ipmitool output meow ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_iterate_channels ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_iterate_channels ... ok ironic_python_agent.tests.unit.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 WARNING [root] Invalid ipmitool output meow ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_iterate_channels_ipv6 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_iterate_channels_ipv6 ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_urls ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_urls ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_no_ipmi_device ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_no_ipmi_device ... ok ironic_python_agent.tests.unit.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.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_no_valid_ip_or_ipv6 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_no_valid_ip_or_ipv6 ... ok ironic_python_agent.tests.unit.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 WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_not_available ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_not_available ... ok ironic_python_agent.tests.unit.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.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_random_error ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_random_error ... ok ironic_python_agent.tests.unit.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 WARNING [root] Cannot get BMC MAC address: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_virt ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_virt ... ok ironic_python_agent.tests.unit.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.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_with_invalid_ipv6 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_with_invalid_ipv6 ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_sha256 ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_sha256 ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_with_valid_ipv6_and_invalid_mac ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_with_valid_ipv6_and_invalid_mac ... ok ironic_python_agent.tests.unit.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.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_zeroed ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_zeroed ... ok ironic_python_agent.tests.unit.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.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_channel_7 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_channel_7 ... ok ironic_python_agent.tests.unit.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_bmc_v6address_dynamic_address ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_dynamic_address ... 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.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_enables ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_enables ... ok ironic_python_agent.tests.unit.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.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_get_address ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_get_address ... ok ironic_python_agent.tests.unit.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_bmc_v6address_ipmitool_invalid_stdout_format ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_ipmitool_invalid_stdout_format ... 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 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_no_ipmi_device ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_no_ipmi_device ... ok 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 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_not_enabled ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_not_enabled ... ok ERROR [ironic_python_agent.extensions.standby] Unable to verify image fake_id with available checksums. Please make sure the specified 'os_hash_algo' (currently unsupported-algorithm) is supported by this ramdisk, or provide a md5 checksum via the 'checksum' field ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_without_fallback ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_without_fallback ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_static_address_both ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_static_address_both ... ok WARNING [root] Cannot get BMC v6 address: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ironic_python_agent.tests.unit.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.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_virt ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_virt ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_bios ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_bios ... ok ironic_python_agent.tests.unit.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.test_hardware.TestGenericHardwareManager.test_get_boot_info_pxe_interface ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_pxe_interface ... ok ironic_python_agent.tests.unit.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.test_hardware.TestGenericHardwareManager.test_get_boot_info_uefi ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_uefi ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_clean_steps ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_clean_steps ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_without_md5 ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_without_md5 ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_component_devices ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_component_devices ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_fails ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_fails ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_illegal_flags ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_illegal_flags ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_gpt_fails ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_gpt_fails ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_max_mhz_and_flag_fallback ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_max_mhz_and_flag_fallback ... ok ERROR [ironic_python_agent.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: expected string or bytes-like object, got 'MagicMock' ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_max_mhz_flag_fallback ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_max_mhz_flag_fallback ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_multi ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_multi ... 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 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_no_flags ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_no_flags ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks ... ok ERROR [ironic_python_agent.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: expected string or bytes-like object, got 'MagicMock' ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_broken_raid0 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_broken_raid0 ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_poisoned_output ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_poisoned_output ... ok ERROR [ironic_python_agent.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: expected string or bytes-like object, got 'MagicMock' ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid_uefi ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid_uefi ... ok ERROR [ironic_python_agent.disk_utils] Security: Detected image format was qcow3, but only raw, gpt, qcow2 are allowed ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_unexpected_devices ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_unexpected_devices ... ok ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_mismatch ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_mismatch ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_nvme ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_nvme ... ok ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_mismatch_but_disabled ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_mismatch_but_disabled ... ok ERROR [ironic_python_agent.disk_utils] Security: Detected image format was qcow3, but only raw, gpt, qcow2 are allowed ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_whole_device ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_whole_device ... ok ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_type_disallowed ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_type_disallowed ... ok ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_unknown_happy ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_unknown_happy ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_arm64_lshw ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_arm64_lshw ... ok ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_happy_qcow2 ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_happy_qcow2 ... ok WARNING [root] Could not get real physical RAM from lshw: ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_exception ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_exception ... ok ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_happy_raw ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_happy_raw ... ok ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_safety_check_fail_but_disabled ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_safety_check_fail_but_disabled ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_list ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_list ... ok ironic_python_agent.tests.unit.test_hardware.TestListHardwareInfo.test_caching ironic_python_agent.tests.unit.test_hardware.TestListHardwareInfo.test_caching ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_bank_size ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_bank_size ... ok ERROR [root] Cannot fetch total memory size using psutil version 7 Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/hardware.py", line 1675, in get_memory total = int(psutil.virtual_memory().total) ~~~~~~~~~~~~~~~~~~~~~^^ File "", line 3, in virtual_memory File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect AttributeError ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v1 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v1 ... ok ERROR [root] Cannot fetch total memory size using psutil version 7 Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/hardware.py", line 1675, in get_memory total = int(psutil.virtual_memory().total) ~~~~~~~~~~~~~~~~~~~~~^^ File "", line 3, in virtual_memory File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect AttributeError ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v2 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v2 ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_v1 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_v1 ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_v2 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_v2 ... ok WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' WARNING [root] 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] Can't find field vendor for device sdb in device class block WARNING [root] Device /dev/sdc is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdc' WARNING [root] Can't find field vendor for device sdc in device class block WARNING [root] Device /dev/sdd is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdd' WARNING [root] Can't find field vendor for device sdd in device class block WARNING [root] Device /dev/dm-0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-0' WARNING [root] Can't find field vendor for device dm-0 in device class block ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device ... ok WARNING [root] Using hint {'vendor': 'basic vendor'} skipping devices: /dev/sda,/dev/sdb ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_complete_skip_list ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_complete_skip_list ... ok WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' WARNING [root] 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] Can't find field vendor for device sdb in device class block ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_fails ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_fails ... ok WARNING [root] We have identified a multipath device sda, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] We have identified a multipath device sda2, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] We have identified a multipath device sda3, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] We have identified a multipath device sda1, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] Device /dev/dm-0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-0' WARNING [root] Can't find field vendor for device dm-0 in device class block WARNING [root] We have identified a multipath device sdb, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] We have identified a multipath device sdb2, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] We have identified a multipath device sdb3, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] We have identified a multipath device sdb1, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] Device /dev/sdc is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdc' WARNING [root] Can't find field vendor for device sdc in device class block WARNING [root] Device /dev/dm-1 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-1' WARNING [root] Can't find field vendor for device dm-1 in device class block ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_multipath ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_multipath ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_no_root_device ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_no_root_device ... ok WARNING [root] We have identified a multipath device sda, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] We have identified a multipath device sda2, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] We have identified a multipath device sda3, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] We have identified a multipath device sda1, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] Device /dev/dm-0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-0' WARNING [root] Can't find field vendor for device dm-0 in device class block WARNING [root] We have identified a multipath device sdb, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] We have identified a multipath device sdb2, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] We have identified a multipath device sdb3, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] We have identified a multipath device sdb1, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] Device /dev/sdc is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdc' WARNING [root] Can't find field vendor for device sdc in device class block WARNING [root] Device /dev/dm-1 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-1' WARNING [root] Can't find field vendor for device dm-1 in device class block ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_not_multipath ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_not_multipath ... ok WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' WARNING [root] 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] 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] Can't find field vendor for device md0 in device class block ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_raid ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_raid ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_by_path ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_by_path ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_iinfo ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_iinfo ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_model ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_model ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_name ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_name ... ok WARNING [ironic_python_agent.device_hints] No device found that matches the root device hints {'model': 'fastable sd131 7', 'wwn': 'fake-wwn', 'serial': 'fake-serial', 'vendor': 'fake-vendor', 'size': 10} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_no_device_found ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_no_device_found ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_rotational ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_rotational ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_serial ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_serial ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_not_int ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_not_int ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_str ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_str ... ok WARNING [root] Using hint {'vendor': 'fake-vendor'} skipping devices: /dev/sdb WARNING [ironic_python_agent.device_hints] No device found that matches the root device hints {'wwn': 'fake-wwn'} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_skip_list ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_skip_list ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_vendor ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_vendor ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_wwn ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_wwn ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_skip_list_non_exist ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_skip_list_non_exist ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_just_raids ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_just_raids ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_no_skip_list ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_no_skip_list ... ok WARNING [root] Using hint {'name': '/dev/sdj'} skipping devices: /dev/sdj ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_with_skip_list ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_with_skip_list ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info ... ok WARNING [root] Could not retrieve vendor info from lshw: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info_failure ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info_failure ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info_lshw_list ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info_lshw_list ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_usb_devices ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_usb_devices ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_ipmi_device_exists ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_ipmi_device_exists ... ok WARNING [root] Device /dev/sda is inaccessible, skipping... Error: WARNING [root] Device /dev/sdb is not supported by pyudev, skipping... Error: No block device with number 1234 WARNING [root] Device /dev/sdc is inaccessible, skipping... Error: WARNING [root] We have identified a multipath device sdd, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] Device /dev/dm-0 is inaccessible, skipping... Error: ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device ... ok WARNING [root] We have identified a multipath device sdd, this is being ignored in favor of dm-0 and its related child devices. ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_all_serial ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_all_serial ... ok WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sdb. Skipping ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_hctl_fail ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_hctl_fail ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_only_udev ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_only_udev ... ok WARNING [root] We have identified a multipath device sdd, this is being ignored in favor of dm-0 and its related child devices. ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_udev ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_udev ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_no_skip_list ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_no_skip_list ... ok WARNING [root] Using hint {'name': '/dev/sdj'} skipping devices: /dev/sdj WARNING [root] Using hint {'name': '/dev/hdaa'} skipping devices: /dev/hdaa ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_complete_skip_list ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_complete_skip_list ... ok WARNING [root] Using hint {'name': '/dev/sdj'} skipping devices: /dev/sdj ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_skip_list ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_skip_list ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_skip_list_non_exist ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_skip_list_non_exist ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_including_partitions ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_including_partitions ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_hardware_info ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_hardware_info ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_normal_vs_enhanced_security_erase ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_normal_vs_enhanced_security_erase ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_service_steps_exist ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_service_steps_exist ... ok WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' WARNING [root] 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_validate_configuration_invalid_MAX_MAX ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_MAX_MAX ... ok WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' WARNING [root] 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_validate_configuration_invalid_duplicate_volume_name ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_duplicate_volume_name ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_no_of_raids ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_no_of_raids ... ok WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' WARNING [root] 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_validate_configuration_invalid_raid_level ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_raid_level ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_no_configuration ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_no_configuration ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_valid_raid1 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_valid_raid1 ... ok WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' WARNING [root] 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_validate_configuration_valid_raid1_raidN ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_valid_raid1_raidN ... ok ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries ... ok ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found ... ok ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found_with_dev ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found_with_dev ... ok ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_not_found ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_not_found ... ok ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test__get_actual_component_devices ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test__get_actual_component_devices ... ok ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test__get_actual_component_devices_broken_raid0 ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test__get_actual_component_devices_broken_raid0 ... ok ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device ... ok ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_create_device ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_create_device ... ok WARNING [ironic_python_agent.raid_utils] Found /dev/sdb1 to be missing from /dev/md0 ... re-adding! ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_read_device ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_read_device ... ok WARNING [ironic_python_agent.raid_utils] Found /dev/sdb1 to be missing from /dev/md0 ... re-adding! ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_missing_device ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_missing_device ... ok ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_with_volume_name ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_with_volume_name ... ok ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_get_volume_name_of_raid_device ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_get_volume_name_of_raid_device ... ok ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_get_volume_name_of_raid_device_invalid ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_get_volume_name_of_raid_device_invalid ... ok ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_bios_gpt ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_bios_gpt ... ok ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_bios_msdos ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_bios_msdos ... ok ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt ... ok ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt_efi_provided ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt_efi_provided ... ok ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt_esp_not_found ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt_esp_not_found ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_timeout ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_timeout ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_defaults ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_defaults ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_no_defaults ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_no_defaults ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_raise_missing_config ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_raise_missing_config ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_raise_wrong_config ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_raise_wrong_config ... ok ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_fio ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_fio ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_partner ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_partner ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_role ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_role ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader ... ok ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. Command: None Exit code: 16 Stdout: 'Connection timeout' Stderr: None ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. Command: None Exit code: 16 Stdout: 'Connection timeout' Stderr: None ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. Command: None Exit code: 16 Stdout: 'Connection refused' Stderr: None ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader_loop ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader_loop ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader_w_logfile ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader_w_logfile ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_unknown_role ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_unknown_role ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer_w_logfile ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer_w_logfile ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_default ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_default ... ok ERROR [ironic_python_agent.burnin] stress-ng (cpu) failed with error Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_no_stress_ng ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_no_stress_ng ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_non_default ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_non_default ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_default ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_default ... ok ERROR [ironic_python_agent.burnin] stress-ng (vm) failed with error Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_no_stress_ng ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_no_stress_ng ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_non_default ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_non_default ... ok ironic_python_agent.tests.unit.test_disk_utils.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_utils.GetRouteSourceTestCase.test_get_route_source_indexerror ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_indexerror ... ok ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv4 ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv4 ... ok ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6 ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6 ... ok ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal ... ok ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal_allowed ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal_allowed ... ok ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries_on_50X_error ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries_on_50X_error ... ok ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retry_on_50X_and_succeed ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retry_on_50X_and_succeed ... ok WARNING [ironic_python_agent.inspector] Connection error when accessing url1, trying the next URL. Error: ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_several_urls ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_several_urls ... ok ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_ok ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_ok ... ok ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_send_failure ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_send_failure ... ok 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_qemu_img.ImageInfoTestCase.test_image_info_path_doesnt_exist_disabled ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_doesnt_exist_disabled ... ok ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_disabled ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_disabled ... ok ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_safe ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_safe ... ok ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_unsafe ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_unsafe ... ok ---------------------------------------------------------------------- Ran 1113 tests in 17.616s OK (skipped=2) + stestr slowest Test id Runtime (s) --------------------------------------------------------------------------------------------------------------------------------- ----------- ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries 4.038 ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_socket_read_timeout 3.184 ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_1st 3.017 ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_timeout 2.011 ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retry_on_50X_and_succeed 2.008 ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries_on_50X_error 2.007 ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run 1.154 ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_several_urls 1.112 ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_retries 1.101 ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run_no_tls 1.024 + rm -rf .stestr mkdir -p /build/reproducible-path/ironic-python-agent-10.2.0/debian/ironic-python-agent/etc/ironic-python-agent PYTHONPATH=/build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages oslo-config-generator \ --output-file /build/reproducible-path/ironic-python-agent-10.2.0/debian/ironic-python-agent/etc/ironic-python-agent/ironic-python-agent.conf \ --wrap-width 140 \ --namespace ironic-python-agent dh_install pkgos-fix-config-default DEFAULT collect_lldp true pkgos_inifile: Setting value in DEFAULT:[collect_lldp]/true Config file DEFAULT not readable: exiting make[1]: Leaving directory '/build/reproducible-path/ironic-python-agent-10.2.0' dh_installdocs -O--buildsystem=pybuild debian/rules override_dh_installchangelogs make[1]: Entering directory '/build/reproducible-path/ironic-python-agent-10.2.0' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions if [ -e /build/reproducible-path/ironic-python-agent-10.2.0/debian/CHANGELOG ] ; then \ dh_installchangelogs /build/reproducible-path/ironic-python-agent-10.2.0/debian/CHANGELOG ; \ else \ dh_installchangelogs ; \ fi make[1]: Leaving directory '/build/reproducible-path/ironic-python-agent-10.2.0' debian/rules override_dh_python3 make[1]: Entering directory '/build/reproducible-path/ironic-python-agent-10.2.0' 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:114: replacing shebang in debian/ironic-python-agent/usr/bin/ironic-python-agent I: dh_python3 tools:114: replacing shebang in debian/ironic-python-agent/usr/bin/ironic-collect-introspection-data make[1]: Leaving directory '/build/reproducible-path/ironic-python-agent-10.2.0' debian/rules override_dh_installinit make[1]: Entering directory '/build/reproducible-path/ironic-python-agent-10.2.0' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions # Create the init scripts and systemd unit files from the template set -e ; set -x ; for i in `ls -1 debian/*.init.in` ; do \ MYINIT=`echo $i | sed s/.init.in//` ; \ cp $i $MYINIT.init ; \ 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// + 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 # 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: 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 \ MYINIT=`echo $i | sed s/.init.in/.service.in/` ; \ if ! [ -e $MYINIT ] ; then \ 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/ + MYINIT=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 dh_installinit --error-handler=true make[1]: Leaving directory '/build/reproducible-path/ironic-python-agent-10.2.0' debian/rules override_dh_installsystemd make[1]: Entering directory '/build/reproducible-path/ironic-python-agent-10.2.0' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions # Create the init scripts and systemd unit files from the template set -e ; set -x ; for i in `ls -1 debian/*.init.in` ; do \ MYINIT=`echo $i | sed s/.init.in//` ; \ cp $i $MYINIT.init ; \ 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// + 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 # 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: 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 \ MYINIT=`echo $i | sed s/.init.in/.service.in/` ; \ if ! [ -e $MYINIT ] ; then \ 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/ + MYINIT=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 dh_installsystemd make[1]: Leaving directory '/build/reproducible-path/ironic-python-agent-10.2.0' dh_installlogrotate -O--buildsystem=pybuild dh_perl -O--buildsystem=pybuild dh_link -O--buildsystem=pybuild dh_strip_nondeterminism -O--buildsystem=pybuild dh_compress -O--buildsystem=pybuild dh_fixperms -O--buildsystem=pybuild dh_missing -O--buildsystem=pybuild dh_installdeb -O--buildsystem=pybuild debian/rules override_dh_gencontrol make[1]: Entering directory '/build/reproducible-path/ironic-python-agent-10.2.0' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions if dpkg-vendor --derives-from ubuntu ; then \ dh_gencontrol -- -T/build/reproducible-path/ironic-python-agent-10.2.0/debian/ubuntu_control_vars ; \ else \ dh_gencontrol -- -T/build/reproducible-path/ironic-python-agent-10.2.0/debian/debian_control_vars ; \ fi dpkg-gencontrol: warning: Depends field of package ironic-python-agent: substitution variable ${ostack-lsb-base} used, but is not defined make[1]: Leaving directory '/build/reproducible-path/ironic-python-agent-10.2.0' dh_md5sums -O--buildsystem=pybuild dh_builddeb -O--buildsystem=pybuild dpkg-deb: building package 'ironic-python-agent' in '../ironic-python-agent_10.2.0-3_all.deb'. dpkg-genbuildinfo --build=binary -O../ironic-python-agent_10.2.0-3_amd64.buildinfo dpkg-genchanges --build=binary -O../ironic-python-agent_10.2.0-3_amd64.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration 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/3729440 and its subdirectories I: Current time: Thu Aug 7 06:18:46 -12 2025 I: pbuilder-time-stamp: 1754590726 Thu Aug 7 18:18:46 UTC 2025 I: Signing ./b1/ironic-python-agent_10.2.0-3_amd64.buildinfo as ironic-python-agent_10.2.0-3_amd64.buildinfo.asc Thu Aug 7 18:18:46 UTC 2025 I: Signed ./b1/ironic-python-agent_10.2.0-3_amd64.buildinfo as ./b1/ironic-python-agent_10.2.0-3_amd64.buildinfo.asc Thu Aug 7 18:18:46 UTC 2025 - build #1 for ironic-python-agent/trixie/amd64 on ionos1-amd64 done. Starting cleanup. All cleanup done. Thu Aug 7 18:18:46 UTC 2025 - reproducible_build.sh stopped running as /tmp/jenkins-script-0fq3aFdF, removing. /srv/reproducible-results/rbuild-debian/r-b-build.EnM5AewD: total 16 drwxr-xr-x 2 jenkins jenkins 4096 Aug 7 18:18 b1 drwxr-xr-x 2 jenkins jenkins 4096 Aug 7 18:16 b2 -rw-r--r-- 1 jenkins jenkins 2679 Apr 1 14:04 ironic-python-agent_10.2.0-3.dsc -rw------- 1 jenkins jenkins 3864 Aug 7 18:16 rbuildlog.myxKf9V /srv/reproducible-results/rbuild-debian/r-b-build.EnM5AewD/b1: total 864 -rw-r--r-- 1 jenkins jenkins 600535 Aug 7 18:18 build.log -rw-r--r-- 1 jenkins jenkins 6488 Aug 7 18:18 ironic-python-agent_10.2.0-3.debian.tar.xz -rw-r--r-- 1 jenkins jenkins 2679 Aug 7 18:18 ironic-python-agent_10.2.0-3.dsc -rw-r--r-- 1 jenkins jenkins 232604 Aug 7 18:18 ironic-python-agent_10.2.0-3_all.deb -rw-r--r-- 1 jenkins jenkins 11596 Aug 7 18:18 ironic-python-agent_10.2.0-3_amd64.buildinfo -rw-r--r-- 1 jenkins jenkins 12478 Aug 7 18:18 ironic-python-agent_10.2.0-3_amd64.buildinfo.asc -rw-r--r-- 1 jenkins jenkins 1184 Aug 7 18:18 ironic-python-agent_10.2.0-3_amd64.changes -rw-r--r-- 1 jenkins jenkins 1349 Aug 7 18:18 ironic-python-agent_10.2.0-3_source.changes /srv/reproducible-results/rbuild-debian/r-b-build.EnM5AewD/b2: total 0 Thu Aug 7 18:18:47 UTC 2025 I: Deleting $TMPDIR on ionos1-amd64.debian.net. I: pbuilder: network access will be disabled during build I: Current time: Thu Aug 7 06:16:22 -12 2025 I: pbuilder-time-stamp: 1754590582 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: Copying source file I: copying [ironic-python-agent_10.2.0-3.dsc] I: copying [./ironic-python-agent_10.2.0.orig.tar.xz] I: copying [./ironic-python-agent_10.2.0-3.debian.tar.xz] I: Extracting source dpkg-source: warning: cannot verify inline signature for ./ironic-python-agent_10.2.0-3.dsc: no acceptable signature found dpkg-source: info: extracting ironic-python-agent in ironic-python-agent-10.2.0 dpkg-source: info: unpacking ironic-python-agent_10.2.0.orig.tar.xz dpkg-source: info: unpacking ironic-python-agent_10.2.0-3.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying remove-broken-test.patch dpkg-source: info: applying fix-syntax-warning.patch I: using fakeroot in build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/3729440/tmp/hooks/D02_print_environment starting I: set BUILDDIR='/build/reproducible-path' BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' BUILDUSERNAME='pbuilder1' BUILD_ARCH='amd64' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=40 ' DISTRIBUTION='trixie' HOME='/root' HOST_ARCH='amd64' IFS=' ' INVOCATION_ID='88b5818034ba4517aac187d462112165' LANG='C' LANGUAGE='en_US:en' LC_ALL='C' MAIL='/var/mail/root' OPTIND='1' PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' PBCURRENTCOMMANDLINEOPERATION='build' PBUILDER_OPERATION='build' PBUILDER_PKGDATADIR='/usr/share/pbuilder' PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' PBUILDER_SYSCONFDIR='/etc' PPID='3729440' PS1='# ' PS2='> ' 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.EnM5AewD/pbuilderrc_69DE --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.EnM5AewD/b1 --logfile b1/build.log ironic-python-agent_10.2.0-3.dsc' SUDO_GID='110' SUDO_UID='105' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' http_proxy='http://46.16.76.132:3128' I: uname -a Linux ionos1-amd64 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1 (2025-05-22) x86_64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 May 12 19:25 /bin -> usr/bin I: user script /srv/workspace/pbuilder/3729440/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: amd64 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper-compat (= 11), dh-python, libffi-dev, openstack-pkg-tools, python3-all, python3-all-dev, python3-pbr (>= 6.0.0), python3-setuptools, python3-coverage, python3-cryptography, python3-eventlet, python3-hardware, python3-kazoo, python3-oslo.concurrency, python3-oslo.config, python3-oslo.log, python3-oslo.service, python3-oslo.utils (>= 8.0.0), python3-oslotest, python3-pint, python3-psutil, python3-pyudev, python3-requests, python3-stestr, python3-stevedore, python3-tenacity, python3-testtools, python3-tooz, python3-werkzeug, python3-zeroconf, qemu-utils dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19851 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper-compat (= 11); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on dh-python; however: Package dh-python is not installed. pbuilder-satisfydepends-dummy depends on libffi-dev; however: Package libffi-dev is not installed. pbuilder-satisfydepends-dummy depends on openstack-pkg-tools; however: Package openstack-pkg-tools is not installed. pbuilder-satisfydepends-dummy depends on python3-all; however: Package python3-all is not installed. pbuilder-satisfydepends-dummy depends on python3-all-dev; however: Package python3-all-dev is not installed. pbuilder-satisfydepends-dummy depends on python3-pbr (>= 6.0.0); however: Package python3-pbr is not installed. pbuilder-satisfydepends-dummy depends on python3-setuptools; however: Package python3-setuptools is not installed. pbuilder-satisfydepends-dummy depends on python3-coverage; however: Package python3-coverage is not installed. pbuilder-satisfydepends-dummy depends on python3-cryptography; however: Package python3-cryptography is not installed. pbuilder-satisfydepends-dummy depends on python3-eventlet; however: Package python3-eventlet is not installed. pbuilder-satisfydepends-dummy depends on python3-hardware; however: Package python3-hardware is not installed. pbuilder-satisfydepends-dummy depends on python3-kazoo; however: Package python3-kazoo is not installed. pbuilder-satisfydepends-dummy depends on python3-oslo.concurrency; however: Package python3-oslo.concurrency is not installed. pbuilder-satisfydepends-dummy depends on python3-oslo.config; however: Package python3-oslo.config is not installed. pbuilder-satisfydepends-dummy depends on python3-oslo.log; however: Package python3-oslo.log is not installed. pbuilder-satisfydepends-dummy depends on python3-oslo.service; however: Package python3-oslo.service is not installed. pbuilder-satisfydepends-dummy depends on python3-oslo.utils (>= 8.0.0); however: Package python3-oslo.utils is not installed. pbuilder-satisfydepends-dummy depends on python3-oslotest; however: Package python3-oslotest is not installed. pbuilder-satisfydepends-dummy depends on python3-pint; however: Package python3-pint is not installed. pbuilder-satisfydepends-dummy depends on python3-psutil; however: Package python3-psutil is not installed. pbuilder-satisfydepends-dummy depends on python3-pyudev; however: Package python3-pyudev is not installed. pbuilder-satisfydepends-dummy depends on python3-requests; however: Package python3-requests is not installed. pbuilder-satisfydepends-dummy depends on python3-stestr; however: Package python3-stestr is not installed. pbuilder-satisfydepends-dummy depends on python3-stevedore; however: Package python3-stevedore is not installed. pbuilder-satisfydepends-dummy depends on python3-tenacity; however: Package python3-tenacity is not installed. pbuilder-satisfydepends-dummy depends on python3-testtools; however: Package python3-testtools is not installed. pbuilder-satisfydepends-dummy depends on python3-tooz; however: Package python3-tooz is not installed. pbuilder-satisfydepends-dummy depends on python3-werkzeug; however: Package python3-werkzeug is not installed. pbuilder-satisfydepends-dummy depends on python3-zeroconf; however: Package python3-zeroconf is not installed. pbuilder-satisfydepends-dummy depends on qemu-utils; however: Package qemu-utils is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} ca-certificates{a} debhelper{a} dh-autoreconf{a} dh-python{a} dh-strip-nondeterminism{a} docutils-common{a} dwz{a} ethtool{a} file{a} freeipmi-common{a} gettext{a} gettext-base{a} groff-base{a} hdparm{a} ieee-data{a} intltool-debian{a} ipmitool{a} jq{a} libabsl20240722{a} libaio1t64{a} libarchive-zip-perl{a} libcares2{a} libcom-err2{a} libconfig11{a} libdebhelper-perl{a} libelf1t64{a} libev4t64{a} libexpat1{a} libexpat1-dev{a} libffi-dev{a} libffi8{a} libfile-stripnondeterminism-perl{a} libfreeipmi17{a} libgcrypt20{a} libglib2.0-0t64{a} libgnutls30t64{a} libgpg-error0{a} libgssapi-krb5-2{a} libice6{a} libidn2-0{a} libjq1{a} libjs-jquery{a} libjs-sphinxdoc{a} libjs-underscore{a} libk5crypto3{a} libkeyutils1{a} libkmod2{a} libkrb5-3{a} libkrb5support0{a} libmagic-mgc{a} libmagic1t64{a} libmnl0{a} libnl-3-200{a} libnuma1{a} libonig5{a} libp11-kit0{a} libpci3{a} libpipeline1{a} libproc2-0{a} libprotobuf32t64{a} libpsl5t64{a} libpython3-all-dev{a} libpython3-dev{a} libpython3-stdlib{a} libpython3.13{a} libpython3.13-dev{a} libpython3.13-minimal{a} libpython3.13-stdlib{a} libre2-11{a} libreadline8t64{a} libsm6{a} libsubunit-perl{a} libtasn1-6{a} libtool{a} libuchardet0{a} libunistring5{a} liburing2{a} libx11-6{a} libx11-data{a} libxau6{a} libxcb1{a} libxdmcp6{a} libxext6{a} libxml2{a} libxmu6{a} libxslt1.1{a} libxt6t64{a} libyaml-0-2{a} lldpad{a} lsb-release{a} lshw{a} m4{a} man-db{a} media-types{a} netbase{a} openssl{a} openstack-pkg-tools{a} pci.ids{a} pciutils{a} po-debconf{a} procps{a} python-babel-localedata{a} python3{a} python3-all{a} python3-all-dev{a} python3-autocommand{a} python3-autopage{a} python3-babel{a} python3-bcrypt{a} python3-blinker{a} python3-certifi{a} python3-cffi-backend{a} python3-chardet{a} python3-charset-normalizer{a} python3-cliff{a} python3-cmd2{a} python3-coverage{a} python3-cryptography{a} python3-dateutil{a} python3-debtcollector{a} python3-decorator{a} python3-deprecation{a} python3-dev{a} python3-dnspython{a} python3-docutils{a} python3-dogpile.cache{a} python3-etcd3{a} python3-etcd3gw{a} python3-eventlet{a} python3-extras{a} python3-fasteners{a} python3-fixtures{a} python3-flexcache{a} python3-flexparser{a} python3-futurist{a} python3-gevent{a} python3-greenlet{a} python3-grpcio{a} python3-hardware{a} python3-idna{a} python3-ifaddr{a} python3-inflect{a} python3-iso8601{a} python3-jaraco.context{a} python3-jaraco.functools{a} python3-jaraco.text{a} python3-jinja2{a} python3-jmespath{a} python3-json-pointer{a} python3-jsonpatch{a} python3-jwt{a} python3-kazoo{a} python3-kerberos{a} python3-keystoneauth1{a} python3-legacy-cgi{a} python3-lxml{a} python3-mako{a} python3-markupsafe{a} python3-minimal{a} python3-monotonic{a} python3-more-itertools{a} python3-msgpack{a} python3-netaddr{a} python3-oauthlib{a} python3-openstacksdk{a} python3-os-client-config{a} python3-os-service-types{a} python3-oslo.concurrency{a} python3-oslo.config{a} python3-oslo.context{a} python3-oslo.i18n{a} python3-oslo.log{a} python3-oslo.serialization{a} python3-oslo.service{a} python3-oslo.utils{a} python3-oslotest{a} python3-packaging{a} python3-paste{a} python3-pastedeploy{a} python3-pastedeploy-tpl{a} python3-pbr{a} python3-pexpect{a} python3-pint{a} python3-pip{a} python3-pkg-resources{a} python3-platformdirs{a} python3-prettytable{a} python3-protobuf{a} python3-psutil{a} python3-ptyprocess{a} python3-pure-sasl{a} python3-pyasyncore{a} python3-pymemcache{a} python3-pymysql{a} python3-pyparsing{a} python3-pyperclip{a} python3-pytz{a} python3-pyudev{a} python3-redis{a} python3-repoze.lru{a} python3-requests{a} python3-requestsexceptions{a} python3-rfc3986{a} python3-roman{a} python3-routes{a} python3-setuptools{a} python3-six{a} python3-stestr{a} python3-stevedore{a} python3-subunit{a} python3-tempita{a} python3-tenacity{a} python3-testtools{a} python3-tomlkit{a} python3-tooz{a} python3-typeguard{a} python3-typing-extensions{a} python3-tz{a} python3-urllib3{a} python3-voluptuous{a} python3-wcwidth{a} python3-webob{a} python3-werkzeug{a} python3-wheel{a} python3-wrapt{a} python3-yaml{a} python3-yappi{a} python3-zake{a} python3-zeroconf{a} python3-zipp{a} python3-zope.event{a} python3-zope.interface{a} python3.13{a} python3.13-dev{a} python3.13-minimal{a} qemu-utils{a} readline-common{a} sensible-utils{a} sgml-base{a} smartmontools{a} subunit{a} tzdata{a} wget{a} x11-common{a} xclip{a} xml-core{a} zlib1g-dev{a} The following packages are RECOMMENDED but will NOT be installed: autopkgtest gir1.2-glib-2.0 javascript-common krb5-locales libarchive-cpio-perl libglib2.0-data libgpg-error-l10n libltdl-dev libmail-sendmail-perl libpaper-utils linux-sysctl-defaults madison-lite openipmi powermgmt-base pristine-tar psmisc publicsuffix python3-bs4 python3-cssselect python3-gi python3-h2 python3-html5lib python3-httpcore python3-httpx python3-openssl python3-pastescript python3-pil python3-pygments python3-pyinotify qemu-block-extra shared-mime-info usb.ids xauth xdg-user-dirs 0 packages upgraded, 252 newly installed, 0 to remove and 0 not upgraded. Need to get 73.4 MB of archives. After unpacking 313 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian trixie/main amd64 freeipmi-common all 1.6.15-1 [357 kB] Get: 2 http://deb.debian.org/debian trixie/main amd64 libgpg-error0 amd64 1.51-4 [82.1 kB] Get: 3 http://deb.debian.org/debian trixie/main amd64 libgcrypt20 amd64 1.11.0-7 [843 kB] Get: 4 http://deb.debian.org/debian trixie/main amd64 libfreeipmi17 amd64 1.6.15-1 [1044 kB] Get: 5 http://deb.debian.org/debian trixie/main amd64 readline-common all 8.2-6 [69.4 kB] Get: 6 http://deb.debian.org/debian trixie/main amd64 libreadline8t64 amd64 8.2-6 [169 kB] Get: 7 http://deb.debian.org/debian trixie/main amd64 ipmitool amd64 1.8.19-9 [2042 kB] Get: 8 http://deb.debian.org/debian trixie/main amd64 libexpat1 amd64 2.7.1-2 [108 kB] Get: 9 http://deb.debian.org/debian trixie/main amd64 libconfig11 amd64 1.7.3-2 [33.7 kB] Get: 10 http://deb.debian.org/debian trixie/main amd64 libnl-3-200 amd64 3.7.0-2 [59.4 kB] Get: 11 http://deb.debian.org/debian trixie/main amd64 lldpad amd64 1.1.1-1+b1 [250 kB] Get: 12 http://deb.debian.org/debian trixie/main amd64 libpython3.13-minimal amd64 3.13.5-2 [862 kB] Get: 13 http://deb.debian.org/debian trixie/main amd64 python3.13-minimal amd64 3.13.5-2 [2224 kB] Get: 14 http://deb.debian.org/debian trixie/main amd64 python3-minimal amd64 3.13.5-1 [27.2 kB] Get: 15 http://deb.debian.org/debian trixie/main amd64 media-types all 13.0.0 [29.3 kB] Get: 16 http://deb.debian.org/debian trixie/main amd64 netbase all 6.5 [12.4 kB] Get: 17 http://deb.debian.org/debian trixie/main amd64 tzdata all 2025b-4 [260 kB] Get: 18 http://deb.debian.org/debian trixie/main amd64 libffi8 amd64 3.4.8-2 [24.1 kB] Get: 19 http://deb.debian.org/debian trixie/main amd64 libpython3.13-stdlib amd64 3.13.5-2 [1956 kB] Get: 20 http://deb.debian.org/debian trixie/main amd64 python3.13 amd64 3.13.5-2 [757 kB] Get: 21 http://deb.debian.org/debian trixie/main amd64 libpython3-stdlib amd64 3.13.5-1 [10.2 kB] Get: 22 http://deb.debian.org/debian trixie/main amd64 python3 amd64 3.13.5-1 [28.2 kB] Get: 23 http://deb.debian.org/debian trixie/main amd64 libproc2-0 amd64 2:4.0.4-9 [65.6 kB] Get: 24 http://deb.debian.org/debian trixie/main amd64 procps amd64 2:4.0.4-9 [882 kB] Get: 25 http://deb.debian.org/debian trixie/main amd64 sensible-utils all 0.0.25 [25.0 kB] Get: 26 http://deb.debian.org/debian trixie/main amd64 openssl amd64 3.5.1-1 [1494 kB] Get: 27 http://deb.debian.org/debian trixie/main amd64 ca-certificates all 20250419 [162 kB] Get: 28 http://deb.debian.org/debian trixie/main amd64 libmagic-mgc amd64 1:5.46-5 [338 kB] Get: 29 http://deb.debian.org/debian trixie/main amd64 libmagic1t64 amd64 1:5.46-5 [109 kB] Get: 30 http://deb.debian.org/debian trixie/main amd64 file amd64 1:5.46-5 [43.6 kB] Get: 31 http://deb.debian.org/debian trixie/main amd64 gettext-base amd64 0.23.1-2 [243 kB] Get: 32 http://deb.debian.org/debian trixie/main amd64 libuchardet0 amd64 0.0.8-1+b2 [68.9 kB] Get: 33 http://deb.debian.org/debian trixie/main amd64 groff-base amd64 1.23.0-9 [1187 kB] Get: 34 http://deb.debian.org/debian trixie/main amd64 bsdextrautils amd64 2.41-5 [94.6 kB] Get: 35 http://deb.debian.org/debian trixie/main amd64 libpipeline1 amd64 1.5.8-1 [42.0 kB] Get: 36 http://deb.debian.org/debian trixie/main amd64 man-db amd64 2.13.1-1 [1469 kB] Get: 37 http://deb.debian.org/debian trixie/main amd64 libkmod2 amd64 34.2-2 [63.2 kB] Get: 38 http://deb.debian.org/debian trixie/main amd64 pci.ids all 0.0~2025.06.09-1 [269 kB] Get: 39 http://deb.debian.org/debian trixie/main amd64 libpci3 amd64 1:3.13.0-2 [75.6 kB] Get: 40 http://deb.debian.org/debian trixie/main amd64 pciutils amd64 1:3.13.0-2 [129 kB] Get: 41 http://deb.debian.org/debian trixie/main amd64 libunistring5 amd64 1.3-2 [477 kB] Get: 42 http://deb.debian.org/debian trixie/main amd64 libidn2-0 amd64 2.3.8-2 [109 kB] Get: 43 http://deb.debian.org/debian trixie/main amd64 libp11-kit0 amd64 0.25.5-3 [425 kB] Get: 44 http://deb.debian.org/debian trixie/main amd64 libtasn1-6 amd64 4.20.0-2 [49.9 kB] Get: 45 http://deb.debian.org/debian trixie/main amd64 libgnutls30t64 amd64 3.8.9-3 [1465 kB] Get: 46 http://deb.debian.org/debian trixie/main amd64 libpsl5t64 amd64 0.21.2-1.1+b1 [57.2 kB] Get: 47 http://deb.debian.org/debian trixie/main amd64 wget amd64 1.25.0-2 [984 kB] Get: 48 http://deb.debian.org/debian trixie/main amd64 m4 amd64 1.4.19-8 [294 kB] Get: 49 http://deb.debian.org/debian trixie/main amd64 autoconf all 2.72-3.1 [494 kB] Get: 50 http://deb.debian.org/debian trixie/main amd64 autotools-dev all 20240727.1 [60.2 kB] Get: 51 http://deb.debian.org/debian trixie/main amd64 automake all 1:1.17-4 [862 kB] Get: 52 http://deb.debian.org/debian trixie/main amd64 autopoint all 0.23.1-2 [770 kB] Get: 53 http://deb.debian.org/debian trixie/main amd64 libdebhelper-perl all 13.24.2 [90.9 kB] Get: 54 http://deb.debian.org/debian trixie/main amd64 libtool all 2.5.4-4 [539 kB] Get: 55 http://deb.debian.org/debian trixie/main amd64 dh-autoreconf all 20 [17.1 kB] Get: 56 http://deb.debian.org/debian trixie/main amd64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 57 http://deb.debian.org/debian trixie/main amd64 libfile-stripnondeterminism-perl all 1.14.1-2 [19.7 kB] Get: 58 http://deb.debian.org/debian trixie/main amd64 dh-strip-nondeterminism all 1.14.1-2 [8620 B] Get: 59 http://deb.debian.org/debian trixie/main amd64 libelf1t64 amd64 0.192-4 [189 kB] Get: 60 http://deb.debian.org/debian trixie/main amd64 dwz amd64 0.15-1+b1 [110 kB] Get: 61 http://deb.debian.org/debian trixie/main amd64 libxml2 amd64 2.12.7+dfsg+really2.9.14-2.1 [698 kB] Get: 62 http://deb.debian.org/debian trixie/main amd64 gettext amd64 0.23.1-2 [1680 kB] Get: 63 http://deb.debian.org/debian trixie/main amd64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 64 http://deb.debian.org/debian trixie/main amd64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 65 http://deb.debian.org/debian trixie/main amd64 debhelper all 13.24.2 [919 kB] Get: 66 http://deb.debian.org/debian trixie/main amd64 dh-python all 6.20250414 [116 kB] Get: 67 http://deb.debian.org/debian trixie/main amd64 sgml-base all 1.31+nmu1 [10.9 kB] Get: 68 http://deb.debian.org/debian trixie/main amd64 xml-core all 0.19 [20.1 kB] Get: 69 http://deb.debian.org/debian trixie/main amd64 docutils-common all 0.21.2+dfsg-2 [128 kB] Get: 70 http://deb.debian.org/debian trixie/main amd64 libmnl0 amd64 1.0.5-3 [11.9 kB] Get: 71 http://deb.debian.org/debian trixie/main amd64 ethtool amd64 1:6.14.1-1 [227 kB] Get: 72 http://deb.debian.org/debian trixie/main amd64 hdparm amd64 9.65+ds-1.1 [107 kB] Get: 73 http://deb.debian.org/debian trixie/main amd64 ieee-data all 20240722 [2221 kB] Get: 74 http://deb.debian.org/debian trixie/main amd64 libonig5 amd64 6.9.9-1+b1 [189 kB] Get: 75 http://deb.debian.org/debian trixie/main amd64 libjq1 amd64 1.7.1-6+deb13u1 [164 kB] Get: 76 http://deb.debian.org/debian trixie/main amd64 jq amd64 1.7.1-6+deb13u1 [77.7 kB] Get: 77 http://deb.debian.org/debian trixie/main amd64 libabsl20240722 amd64 20240722.0-4 [492 kB] Get: 78 http://deb.debian.org/debian trixie/main amd64 libaio1t64 amd64 0.3.113-8+b1 [14.9 kB] Get: 79 http://deb.debian.org/debian trixie/main amd64 libcares2 amd64 1.34.5-1 [98.2 kB] Get: 80 http://deb.debian.org/debian trixie/main amd64 libcom-err2 amd64 1.47.2-3+b3 [25.0 kB] Get: 81 http://deb.debian.org/debian trixie/main amd64 libev4t64 amd64 1:4.33-2.1+b1 [42.4 kB] Get: 82 http://deb.debian.org/debian trixie/main amd64 libexpat1-dev amd64 2.7.1-2 [161 kB] Get: 83 http://deb.debian.org/debian trixie/main amd64 libffi-dev amd64 3.4.8-2 [61.1 kB] Get: 84 http://deb.debian.org/debian trixie/main amd64 libglib2.0-0t64 amd64 2.84.3-1 [1515 kB] Get: 85 http://deb.debian.org/debian trixie/main amd64 libkrb5support0 amd64 1.21.3-5 [33.0 kB] Get: 86 http://deb.debian.org/debian trixie/main amd64 libk5crypto3 amd64 1.21.3-5 [81.5 kB] Get: 87 http://deb.debian.org/debian trixie/main amd64 libkeyutils1 amd64 1.6.3-6 [9456 B] Get: 88 http://deb.debian.org/debian trixie/main amd64 libkrb5-3 amd64 1.21.3-5 [326 kB] Get: 89 http://deb.debian.org/debian trixie/main amd64 libgssapi-krb5-2 amd64 1.21.3-5 [138 kB] Get: 90 http://deb.debian.org/debian trixie/main amd64 x11-common all 1:7.7+24 [217 kB] Get: 91 http://deb.debian.org/debian trixie/main amd64 libice6 amd64 2:1.1.1-1 [65.4 kB] Get: 92 http://deb.debian.org/debian trixie/main amd64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [326 kB] Get: 93 http://deb.debian.org/debian trixie/main amd64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [116 kB] Get: 94 http://deb.debian.org/debian trixie/main amd64 libjs-sphinxdoc all 8.1.3-5 [30.5 kB] Get: 95 http://deb.debian.org/debian trixie/main amd64 libnuma1 amd64 2.0.19-1 [22.2 kB] Get: 96 http://deb.debian.org/debian trixie/main amd64 libprotobuf32t64 amd64 3.21.12-11 [983 kB] Get: 97 http://deb.debian.org/debian trixie/main amd64 libpython3.13 amd64 3.13.5-2 [2160 kB] Get: 98 http://deb.debian.org/debian trixie/main amd64 zlib1g-dev amd64 1:1.3.dfsg+really1.3.1-1+b1 [920 kB] Get: 99 http://deb.debian.org/debian trixie/main amd64 libpython3.13-dev amd64 3.13.5-2 [5291 kB] Get: 100 http://deb.debian.org/debian trixie/main amd64 libpython3-dev amd64 3.13.5-1 [10.4 kB] Get: 101 http://deb.debian.org/debian trixie/main amd64 libpython3-all-dev amd64 3.13.5-1 [1068 B] Get: 102 http://deb.debian.org/debian trixie/main amd64 libre2-11 amd64 20240702-3+b1 [169 kB] Get: 103 http://deb.debian.org/debian trixie/main amd64 libsm6 amd64 2:1.2.6-1 [37.3 kB] Get: 104 http://deb.debian.org/debian trixie/main amd64 libsubunit-perl all 1.4.2-3 [5724 B] Get: 105 http://deb.debian.org/debian trixie/main amd64 liburing2 amd64 2.9-1 [26.4 kB] Get: 106 http://deb.debian.org/debian trixie/main amd64 libxau6 amd64 1:1.0.11-1 [20.4 kB] Get: 107 http://deb.debian.org/debian trixie/main amd64 libxdmcp6 amd64 1:1.1.5-1 [27.8 kB] Get: 108 http://deb.debian.org/debian trixie/main amd64 libxcb1 amd64 1.17.0-2+b1 [144 kB] Get: 109 http://deb.debian.org/debian trixie/main amd64 libx11-data all 2:1.8.12-1 [343 kB] Get: 110 http://deb.debian.org/debian trixie/main amd64 libx11-6 amd64 2:1.8.12-1 [815 kB] Get: 111 http://deb.debian.org/debian trixie/main amd64 libxext6 amd64 2:1.3.4-1+b3 [50.4 kB] Get: 112 http://deb.debian.org/debian trixie/main amd64 libxt6t64 amd64 1:1.2.1-1.2+b2 [188 kB] Get: 113 http://deb.debian.org/debian trixie/main amd64 libxmu6 amd64 2:1.1.3-3+b4 [59.0 kB] Get: 114 http://deb.debian.org/debian trixie/main amd64 libxslt1.1 amd64 1.1.35-1.2 [233 kB] Get: 115 http://deb.debian.org/debian trixie/main amd64 libyaml-0-2 amd64 0.2.5-2 [52.5 kB] Get: 116 http://deb.debian.org/debian trixie/main amd64 lsb-release all 12.1-1 [5912 B] Get: 117 http://deb.debian.org/debian trixie/main amd64 lshw amd64 02.19.git.2021.06.19.996aaad9c7-2.1 [312 kB] Get: 118 http://deb.debian.org/debian trixie/main amd64 python3-packaging all 25.0-1 [56.6 kB] Get: 119 http://deb.debian.org/debian trixie/main amd64 python3-wheel all 0.46.1-2 [21.7 kB] Get: 120 http://deb.debian.org/debian trixie/main amd64 python3-pip all 25.1.1+dfsg-1 [1457 kB] Get: 121 http://deb.debian.org/debian trixie/main amd64 openstack-pkg-tools all 135 [98.7 kB] Get: 122 http://deb.debian.org/debian trixie/main amd64 python-babel-localedata all 2.17.0-1 [6050 kB] Get: 123 http://deb.debian.org/debian trixie/main amd64 python3-all amd64 3.13.5-1 [1048 B] Get: 124 http://deb.debian.org/debian trixie/main amd64 python3.13-dev amd64 3.13.5-2 [504 kB] Get: 125 http://deb.debian.org/debian trixie/main amd64 python3-dev amd64 3.13.5-1 [26.1 kB] Get: 126 http://deb.debian.org/debian trixie/main amd64 python3-all-dev amd64 3.13.5-1 [1068 B] Get: 127 http://deb.debian.org/debian trixie/main amd64 python3-autocommand all 2.2.2-3 [13.6 kB] Get: 128 http://deb.debian.org/debian trixie/main amd64 python3-autopage all 0.4.0-4 [12.9 kB] Get: 129 http://deb.debian.org/debian trixie/main amd64 python3-babel all 2.17.0-1 [117 kB] Get: 130 http://deb.debian.org/debian trixie/main amd64 python3-bcrypt amd64 4.2.0-2.1+b1 [211 kB] Get: 131 http://deb.debian.org/debian trixie/main amd64 python3-blinker all 1.9.0-1 [12.6 kB] Get: 132 http://deb.debian.org/debian trixie/main amd64 python3-certifi all 2025.1.31+ds-1 [9652 B] Get: 133 http://deb.debian.org/debian trixie/main amd64 python3-cffi-backend amd64 1.17.1-3 [93.4 kB] Get: 134 http://deb.debian.org/debian trixie/main amd64 python3-chardet all 5.2.0+dfsg-2 [108 kB] Get: 135 http://deb.debian.org/debian trixie/main amd64 python3-charset-normalizer amd64 3.4.2-1 [128 kB] Get: 136 http://deb.debian.org/debian trixie/main amd64 python3-wcwidth all 0.2.13+dfsg1-1 [24.9 kB] Get: 137 http://deb.debian.org/debian trixie/main amd64 xclip amd64 0.13-4 [21.3 kB] Get: 138 http://deb.debian.org/debian trixie/main amd64 python3-pyperclip all 1.8.2-2 [13.2 kB] Get: 139 http://deb.debian.org/debian trixie/main amd64 python3-cmd2 all 2.5.11+ds-1 [150 kB] Get: 140 http://deb.debian.org/debian trixie/main amd64 python3-roman all 5.0-1 [10.6 kB] Get: 141 http://deb.debian.org/debian trixie/main amd64 python3-docutils all 0.21.2+dfsg-2 [403 kB] Get: 142 http://deb.debian.org/debian trixie/main amd64 python3-more-itertools all 10.7.0-1 [67.4 kB] Get: 143 http://deb.debian.org/debian trixie/main amd64 python3-typing-extensions all 4.13.2-1 [90.5 kB] Get: 144 http://deb.debian.org/debian trixie/main amd64 python3-typeguard all 4.4.2-1 [37.3 kB] Get: 145 http://deb.debian.org/debian trixie/main amd64 python3-inflect all 7.3.1-2 [32.4 kB] Get: 146 http://deb.debian.org/debian trixie/main amd64 python3-jaraco.context all 6.0.1-1 [8276 B] Get: 147 http://deb.debian.org/debian trixie/main amd64 python3-jaraco.functools all 4.1.0-1 [12.0 kB] Get: 148 http://deb.debian.org/debian trixie/main amd64 python3-pkg-resources all 78.1.1-0.1 [224 kB] Get: 149 http://deb.debian.org/debian trixie/main amd64 python3-jaraco.text all 4.0.0-1 [11.4 kB] Get: 150 http://deb.debian.org/debian trixie/main amd64 python3-zipp all 3.21.0-1 [10.6 kB] Get: 151 http://deb.debian.org/debian trixie/main amd64 python3-setuptools all 78.1.1-0.1 [738 kB] Get: 152 http://deb.debian.org/debian trixie/main amd64 python3-pbr all 6.1.1-2 [57.1 kB] Get: 153 http://deb.debian.org/debian trixie/main amd64 python3-prettytable all 3.15.1-1 [41.8 kB] Get: 154 http://deb.debian.org/debian trixie/main amd64 python3-stevedore all 5.4.1-2 [20.9 kB] Get: 155 http://deb.debian.org/debian trixie/main amd64 python3-yaml amd64 6.0.2-1+b2 [136 kB] Get: 156 http://deb.debian.org/debian trixie/main amd64 python3-cliff all 4.9.1-2 [44.2 kB] Get: 157 http://deb.debian.org/debian trixie/main amd64 python3-coverage amd64 7.6.0+dfsg1-2+b2 [175 kB] Get: 158 http://deb.debian.org/debian trixie/main amd64 python3-cryptography amd64 43.0.0-3 [941 kB] Get: 159 http://deb.debian.org/debian trixie/main amd64 python3-dateutil all 2.9.0-4 [79.4 kB] Get: 160 http://deb.debian.org/debian trixie/main amd64 python3-wrapt amd64 1.15.0-4+b1 [43.6 kB] Get: 161 http://deb.debian.org/debian trixie/main amd64 python3-debtcollector all 3.0.0-5 [13.2 kB] Get: 162 http://deb.debian.org/debian trixie/main amd64 python3-decorator all 5.2.1-2 [33.0 kB] Get: 163 http://deb.debian.org/debian trixie/main amd64 python3-deprecation all 2.1.0-4 [14.7 kB] Get: 164 http://deb.debian.org/debian trixie/main amd64 python3-dnspython all 2.7.0-1 [164 kB] Get: 165 http://deb.debian.org/debian trixie/main amd64 python3-markupsafe amd64 2.1.5-1+b3 [14.0 kB] Get: 166 http://deb.debian.org/debian trixie/main amd64 python3-mako all 1.3.9-1 [83.6 kB] Get: 167 http://deb.debian.org/debian trixie/main amd64 python3-dogpile.cache all 1.3.3-1 [46.0 kB] Get: 168 http://deb.debian.org/debian trixie/main amd64 python3-protobuf amd64 3.21.12-11 [251 kB] Get: 169 http://deb.debian.org/debian trixie/main amd64 python3-grpcio amd64 1.51.1-6 [2344 kB] Get: 170 http://deb.debian.org/debian trixie/main amd64 python3-six all 1.17.0-1 [16.5 kB] Get: 171 http://deb.debian.org/debian trixie/main amd64 python3-tenacity all 8.4.2+really8.4.1-2 [46.0 kB] Get: 172 http://deb.debian.org/debian trixie/main amd64 python3-etcd3 all 0.12.0-3 [31.0 kB] Get: 173 http://deb.debian.org/debian trixie/main amd64 python3-greenlet amd64 3.1.0-1+b2 [165 kB] Get: 174 http://deb.debian.org/debian trixie/main amd64 python3-futurist all 3.1.0-2 [24.1 kB] Get: 175 http://deb.debian.org/debian trixie/main amd64 python3-idna all 3.10-1 [42.0 kB] Get: 176 http://deb.debian.org/debian trixie/main amd64 python3-urllib3 all 2.3.0-3 [115 kB] Get: 177 http://deb.debian.org/debian trixie/main amd64 python3-requests all 2.32.3+dfsg-5 [72.2 kB] Get: 178 http://deb.debian.org/debian trixie/main amd64 python3-etcd3gw all 2.4.2-3 [13.9 kB] Get: 179 http://deb.debian.org/debian trixie/main amd64 python3-eventlet all 0.39.1-2 [310 kB] Get: 180 http://deb.debian.org/debian trixie/main amd64 python3-extras all 1.0.0-6 [7528 B] Get: 181 http://deb.debian.org/debian trixie/main amd64 python3-monotonic all 1.6-3 [5340 B] Get: 182 http://deb.debian.org/debian trixie/main amd64 python3-fasteners all 0.18-2 [14.0 kB] Get: 183 http://deb.debian.org/debian trixie/main amd64 python3-testtools all 2.7.2-5 [123 kB] Get: 184 http://deb.debian.org/debian trixie/main amd64 python3-fixtures all 4.1.0-3 [34.2 kB] Get: 185 http://deb.debian.org/debian trixie/main amd64 python3-flexcache all 0.3-2 [13.5 kB] Get: 186 http://deb.debian.org/debian trixie/main amd64 python3-flexparser all 0.4-1 [42.9 kB] Get: 187 http://deb.debian.org/debian trixie/main amd64 python3-zope.event all 5.0-0.1 [8164 B] Get: 188 http://deb.debian.org/debian trixie/main amd64 python3-zope.interface amd64 7.2-1+b1 [152 kB] Get: 189 http://deb.debian.org/debian trixie/main amd64 python3-gevent amd64 24.11.1-1+b1 [829 kB] Get: 190 http://deb.debian.org/debian trixie/main amd64 python3-ptyprocess all 0.7.0-6 [14.5 kB] Get: 191 http://deb.debian.org/debian trixie/main amd64 python3-pexpect all 4.9-3 [55.6 kB] Get: 192 http://deb.debian.org/debian trixie/main amd64 smartmontools amd64 7.4-3 [648 kB] Get: 193 http://deb.debian.org/debian trixie/main amd64 python3-hardware all 0.30.0-4 [57.0 kB] Get: 194 http://deb.debian.org/debian trixie/main amd64 python3-ifaddr all 0.2.0-2 [9916 B] Get: 195 http://deb.debian.org/debian trixie/main amd64 python3-iso8601 all 2.1.0-2 [12.1 kB] Get: 196 http://deb.debian.org/debian trixie/main amd64 python3-jinja2 all 3.1.6-1 [107 kB] Get: 197 http://deb.debian.org/debian trixie/main amd64 python3-jmespath all 1.0.1-1 [21.1 kB] Get: 198 http://deb.debian.org/debian trixie/main amd64 python3-json-pointer all 2.4-3 [14.6 kB] Get: 199 http://deb.debian.org/debian trixie/main amd64 python3-jsonpatch all 1.32-5 [12.1 kB] Get: 200 http://deb.debian.org/debian trixie/main amd64 python3-jwt all 2.10.1-2 [31.3 kB] Get: 201 http://deb.debian.org/debian trixie/main amd64 python3-kerberos amd64 1.1.14-3.1+b11 [20.4 kB] Get: 202 http://deb.debian.org/debian trixie/main amd64 python3-pure-sasl all 0.5.1+dfsg1-5 [11.9 kB] Get: 203 http://deb.debian.org/debian trixie/main amd64 python3-kazoo all 2.9.0-2 [115 kB] Get: 204 http://deb.debian.org/debian trixie/main amd64 python3-lxml amd64 5.4.0-1 [1297 kB] Get: 205 http://deb.debian.org/debian trixie/main amd64 python3-oauthlib all 3.2.2-3 [95.6 kB] Get: 206 http://deb.debian.org/debian trixie/main amd64 python3-os-service-types all 1.7.0-5 [12.6 kB] Get: 207 http://deb.debian.org/debian trixie/main amd64 python3-keystoneauth1 all 5.10.0-2 [164 kB] Get: 208 http://deb.debian.org/debian trixie/main amd64 python3-legacy-cgi all 2.6.3-1 [16.5 kB] Get: 209 http://deb.debian.org/debian trixie/main amd64 python3-msgpack amd64 1.0.3-3+b4 [84.5 kB] Get: 210 http://deb.debian.org/debian trixie/main amd64 python3-netaddr all 1.3.0-1 [356 kB] Get: 211 http://deb.debian.org/debian trixie/main amd64 python3-platformdirs all 4.3.7-1 [16.6 kB] Get: 212 http://deb.debian.org/debian trixie/main amd64 python3-psutil amd64 7.0.0-2 [220 kB] Get: 213 http://deb.debian.org/debian trixie/main amd64 python3-requestsexceptions all 1.4.0-5 [3860 B] Get: 214 http://deb.debian.org/debian trixie/main amd64 python3-openstacksdk all 4.4.0-5 [681 kB] Get: 215 http://deb.debian.org/debian trixie/main amd64 python3-os-client-config all 2.1.0-3 [17.5 kB] Get: 216 http://deb.debian.org/debian trixie/main amd64 python3-oslo.i18n all 6.5.1-3 [19.2 kB] Get: 217 http://deb.debian.org/debian trixie/main amd64 python3-oslo.context all 5.7.1-3 [13.4 kB] Get: 218 http://deb.debian.org/debian trixie/main amd64 python3-pyparsing all 3.1.2-1 [146 kB] Get: 219 http://deb.debian.org/debian trixie/main amd64 python3-pytz all 2025.2-3 [152 kB] Get: 220 http://deb.debian.org/debian trixie/main amd64 python3-tz all 2025.2-3 [4280 B] Get: 221 http://deb.debian.org/debian trixie/main amd64 python3-oslo.utils all 8.2.0-4 [83.9 kB] Get: 222 http://deb.debian.org/debian trixie/main amd64 python3-oslo.serialization all 5.7.0-3 [14.7 kB] Get: 223 http://deb.debian.org/debian trixie/main amd64 python3-pyasyncore all 1.0.2-3 [10.1 kB] Get: 224 http://deb.debian.org/debian trixie/main amd64 python3-oslo.log all 7.1.0-4 [43.0 kB] Get: 225 http://deb.debian.org/debian trixie/main amd64 python3-rfc3986 all 2.0.0-3 [21.6 kB] Get: 226 http://deb.debian.org/debian trixie/main amd64 python3-oslo.config all 1:9.7.1-3 [108 kB] Get: 227 http://deb.debian.org/debian trixie/main amd64 python3-oslo.concurrency all 7.1.0-3 [27.2 kB] Get: 228 http://deb.debian.org/debian trixie/main amd64 python3-tempita all 0.6.0-1 [14.6 kB] Get: 229 http://deb.debian.org/debian trixie/main amd64 python3-paste all 3.10.1-1 [222 kB] Get: 230 http://deb.debian.org/debian trixie/main amd64 python3-pastedeploy-tpl all 3.1-1 [8268 B] Get: 231 http://deb.debian.org/debian trixie/main amd64 python3-pastedeploy all 3.1-1 [18.3 kB] Get: 232 http://deb.debian.org/debian trixie/main amd64 python3-repoze.lru all 0.7-3 [12.2 kB] Get: 233 http://deb.debian.org/debian trixie/main amd64 python3-routes all 2.5.1-7 [98.2 kB] Get: 234 http://deb.debian.org/debian trixie/main amd64 python3-yappi amd64 1.6.10-2+b1 [32.5 kB] Get: 235 http://deb.debian.org/debian trixie/main amd64 python3-webob all 1:1.8.9-1 [89.1 kB] Get: 236 http://deb.debian.org/debian trixie/main amd64 python3-oslo.service all 4.1.1-2 [46.9 kB] Get: 237 http://deb.debian.org/debian trixie/main amd64 python3-tomlkit all 0.13.2-1 [42.7 kB] Get: 238 http://deb.debian.org/debian trixie/main amd64 python3-voluptuous all 0.14.2-1 [45.8 kB] Get: 239 http://deb.debian.org/debian trixie/main amd64 python3-subunit all 1.4.2-3 [66.4 kB] Get: 240 http://deb.debian.org/debian trixie/main amd64 subunit all 1.4.2-3 [5248 B] Get: 241 http://deb.debian.org/debian trixie/main amd64 python3-stestr all 4.1.0-3 [56.9 kB] Get: 242 http://deb.debian.org/debian trixie/main amd64 python3-oslotest all 1:5.0.0-4 [17.2 kB] Get: 243 http://deb.debian.org/debian trixie/main amd64 python3-pint all 0.24.4-2 [225 kB] Get: 244 http://deb.debian.org/debian trixie/main amd64 python3-pymemcache all 4.0.0-8 [45.0 kB] Get: 245 http://deb.debian.org/debian trixie/main amd64 python3-pymysql all 1.1.1-2 [43.0 kB] Get: 246 http://deb.debian.org/debian trixie/main amd64 python3-pyudev all 0.24.3-1 [32.6 kB] Get: 247 http://deb.debian.org/debian trixie/main amd64 python3-redis all 6.1.0-2 [249 kB] Get: 248 http://deb.debian.org/debian trixie/main amd64 python3-zake all 0.2.2-8 [15.6 kB] Get: 249 http://deb.debian.org/debian trixie/main amd64 python3-tooz all 6.3.0-4 [52.6 kB] Get: 250 http://deb.debian.org/debian trixie/main amd64 python3-werkzeug all 3.1.3-2 [207 kB] Get: 251 http://deb.debian.org/debian trixie/main amd64 python3-zeroconf all 0.147.0-1 [82.2 kB] Get: 252 http://deb.debian.org/debian trixie/main amd64 qemu-utils amd64 1:10.0.2+ds-2+b1 [1992 kB] Fetched 73.4 MB in 5s (14.6 MB/s) Preconfiguring packages ... Selecting previously unselected package freeipmi-common. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19851 files and directories currently installed.) Preparing to unpack .../00-freeipmi-common_1.6.15-1_all.deb ... Unpacking freeipmi-common (1.6.15-1) ... Selecting previously unselected package libgpg-error0:amd64. Preparing to unpack .../01-libgpg-error0_1.51-4_amd64.deb ... Unpacking libgpg-error0:amd64 (1.51-4) ... Selecting previously unselected package libgcrypt20:amd64. Preparing to unpack .../02-libgcrypt20_1.11.0-7_amd64.deb ... Unpacking libgcrypt20:amd64 (1.11.0-7) ... Selecting previously unselected package libfreeipmi17. Preparing to unpack .../03-libfreeipmi17_1.6.15-1_amd64.deb ... Unpacking libfreeipmi17 (1.6.15-1) ... Selecting previously unselected package readline-common. Preparing to unpack .../04-readline-common_8.2-6_all.deb ... Unpacking readline-common (8.2-6) ... Selecting previously unselected package libreadline8t64:amd64. Preparing to unpack .../05-libreadline8t64_8.2-6_amd64.deb ... Adding 'diversion of /lib/x86_64-linux-gnu/libhistory.so.8 to /lib/x86_64-linux-gnu/libhistory.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/x86_64-linux-gnu/libhistory.so.8.2 to /lib/x86_64-linux-gnu/libhistory.so.8.2.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/x86_64-linux-gnu/libreadline.so.8 to /lib/x86_64-linux-gnu/libreadline.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/x86_64-linux-gnu/libreadline.so.8.2 to /lib/x86_64-linux-gnu/libreadline.so.8.2.usr-is-merged by libreadline8t64' Unpacking libreadline8t64:amd64 (8.2-6) ... Selecting previously unselected package ipmitool. Preparing to unpack .../06-ipmitool_1.8.19-9_amd64.deb ... Unpacking ipmitool (1.8.19-9) ... Selecting previously unselected package libexpat1:amd64. Preparing to unpack .../07-libexpat1_2.7.1-2_amd64.deb ... Unpacking libexpat1:amd64 (2.7.1-2) ... Selecting previously unselected package libconfig11:amd64. Preparing to unpack .../08-libconfig11_1.7.3-2_amd64.deb ... Unpacking libconfig11:amd64 (1.7.3-2) ... Selecting previously unselected package libnl-3-200:amd64. Preparing to unpack .../09-libnl-3-200_3.7.0-2_amd64.deb ... Unpacking libnl-3-200:amd64 (3.7.0-2) ... Selecting previously unselected package lldpad. Preparing to unpack .../10-lldpad_1.1.1-1+b1_amd64.deb ... Unpacking lldpad (1.1.1-1+b1) ... Selecting previously unselected package libpython3.13-minimal:amd64. Preparing to unpack .../11-libpython3.13-minimal_3.13.5-2_amd64.deb ... Unpacking libpython3.13-minimal:amd64 (3.13.5-2) ... Selecting previously unselected package python3.13-minimal. Preparing to unpack .../12-python3.13-minimal_3.13.5-2_amd64.deb ... Unpacking python3.13-minimal (3.13.5-2) ... Setting up libpython3.13-minimal:amd64 (3.13.5-2) ... Setting up libexpat1:amd64 (2.7.1-2) ... Setting up python3.13-minimal (3.13.5-2) ... Selecting previously unselected package python3-minimal. (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 ... 20362 files and directories currently installed.) Preparing to unpack .../0-python3-minimal_3.13.5-1_amd64.deb ... Unpacking python3-minimal (3.13.5-1) ... Selecting previously unselected package media-types. Preparing to unpack .../1-media-types_13.0.0_all.deb ... Unpacking media-types (13.0.0) ... Selecting previously unselected package netbase. Preparing to unpack .../2-netbase_6.5_all.deb ... Unpacking netbase (6.5) ... Selecting previously unselected package tzdata. Preparing to unpack .../3-tzdata_2025b-4_all.deb ... Unpacking tzdata (2025b-4) ... Selecting previously unselected package libffi8:amd64. Preparing to unpack .../4-libffi8_3.4.8-2_amd64.deb ... Unpacking libffi8:amd64 (3.4.8-2) ... Selecting previously unselected package libpython3.13-stdlib:amd64. Preparing to unpack .../5-libpython3.13-stdlib_3.13.5-2_amd64.deb ... Unpacking libpython3.13-stdlib:amd64 (3.13.5-2) ... Selecting previously unselected package python3.13. Preparing to unpack .../6-python3.13_3.13.5-2_amd64.deb ... Unpacking python3.13 (3.13.5-2) ... Selecting previously unselected package libpython3-stdlib:amd64. Preparing to unpack .../7-libpython3-stdlib_3.13.5-1_amd64.deb ... Unpacking libpython3-stdlib:amd64 (3.13.5-1) ... Setting up python3-minimal (3.13.5-1) ... Selecting previously unselected package python3. (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 ... 21345 files and directories currently installed.) Preparing to unpack .../000-python3_3.13.5-1_amd64.deb ... Unpacking python3 (3.13.5-1) ... Selecting previously unselected package libproc2-0:amd64. Preparing to unpack .../001-libproc2-0_2%3a4.0.4-9_amd64.deb ... Unpacking libproc2-0:amd64 (2:4.0.4-9) ... Selecting previously unselected package procps. Preparing to unpack .../002-procps_2%3a4.0.4-9_amd64.deb ... Unpacking procps (2:4.0.4-9) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../003-sensible-utils_0.0.25_all.deb ... Unpacking sensible-utils (0.0.25) ... Selecting previously unselected package openssl. Preparing to unpack .../004-openssl_3.5.1-1_amd64.deb ... Unpacking openssl (3.5.1-1) ... Selecting previously unselected package ca-certificates. Preparing to unpack .../005-ca-certificates_20250419_all.deb ... Unpacking ca-certificates (20250419) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../006-libmagic-mgc_1%3a5.46-5_amd64.deb ... Unpacking libmagic-mgc (1:5.46-5) ... Selecting previously unselected package libmagic1t64:amd64. Preparing to unpack .../007-libmagic1t64_1%3a5.46-5_amd64.deb ... Unpacking libmagic1t64:amd64 (1:5.46-5) ... Selecting previously unselected package file. Preparing to unpack .../008-file_1%3a5.46-5_amd64.deb ... Unpacking file (1:5.46-5) ... Selecting previously unselected package gettext-base. Preparing to unpack .../009-gettext-base_0.23.1-2_amd64.deb ... Unpacking gettext-base (0.23.1-2) ... Selecting previously unselected package libuchardet0:amd64. Preparing to unpack .../010-libuchardet0_0.0.8-1+b2_amd64.deb ... Unpacking libuchardet0:amd64 (0.0.8-1+b2) ... Selecting previously unselected package groff-base. Preparing to unpack .../011-groff-base_1.23.0-9_amd64.deb ... Unpacking groff-base (1.23.0-9) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../012-bsdextrautils_2.41-5_amd64.deb ... Unpacking bsdextrautils (2.41-5) ... Selecting previously unselected package libpipeline1:amd64. Preparing to unpack .../013-libpipeline1_1.5.8-1_amd64.deb ... Unpacking libpipeline1:amd64 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../014-man-db_2.13.1-1_amd64.deb ... Unpacking man-db (2.13.1-1) ... Selecting previously unselected package libkmod2:amd64. Preparing to unpack .../015-libkmod2_34.2-2_amd64.deb ... Unpacking libkmod2:amd64 (34.2-2) ... Selecting previously unselected package pci.ids. Preparing to unpack .../016-pci.ids_0.0~2025.06.09-1_all.deb ... Unpacking pci.ids (0.0~2025.06.09-1) ... Selecting previously unselected package libpci3:amd64. Preparing to unpack .../017-libpci3_1%3a3.13.0-2_amd64.deb ... Unpacking libpci3:amd64 (1:3.13.0-2) ... Selecting previously unselected package pciutils. Preparing to unpack .../018-pciutils_1%3a3.13.0-2_amd64.deb ... Unpacking pciutils (1:3.13.0-2) ... Selecting previously unselected package libunistring5:amd64. Preparing to unpack .../019-libunistring5_1.3-2_amd64.deb ... Unpacking libunistring5:amd64 (1.3-2) ... Selecting previously unselected package libidn2-0:amd64. Preparing to unpack .../020-libidn2-0_2.3.8-2_amd64.deb ... Unpacking libidn2-0:amd64 (2.3.8-2) ... Selecting previously unselected package libp11-kit0:amd64. Preparing to unpack .../021-libp11-kit0_0.25.5-3_amd64.deb ... Unpacking libp11-kit0:amd64 (0.25.5-3) ... Selecting previously unselected package libtasn1-6:amd64. Preparing to unpack .../022-libtasn1-6_4.20.0-2_amd64.deb ... Unpacking libtasn1-6:amd64 (4.20.0-2) ... Selecting previously unselected package libgnutls30t64:amd64. Preparing to unpack .../023-libgnutls30t64_3.8.9-3_amd64.deb ... Unpacking libgnutls30t64:amd64 (3.8.9-3) ... Selecting previously unselected package libpsl5t64:amd64. Preparing to unpack .../024-libpsl5t64_0.21.2-1.1+b1_amd64.deb ... Unpacking libpsl5t64:amd64 (0.21.2-1.1+b1) ... Selecting previously unselected package wget. Preparing to unpack .../025-wget_1.25.0-2_amd64.deb ... Unpacking wget (1.25.0-2) ... Selecting previously unselected package m4. Preparing to unpack .../026-m4_1.4.19-8_amd64.deb ... Unpacking m4 (1.4.19-8) ... Selecting previously unselected package autoconf. Preparing to unpack .../027-autoconf_2.72-3.1_all.deb ... Unpacking autoconf (2.72-3.1) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../028-autotools-dev_20240727.1_all.deb ... Unpacking autotools-dev (20240727.1) ... Selecting previously unselected package automake. Preparing to unpack .../029-automake_1%3a1.17-4_all.deb ... Unpacking automake (1:1.17-4) ... Selecting previously unselected package autopoint. Preparing to unpack .../030-autopoint_0.23.1-2_all.deb ... Unpacking autopoint (0.23.1-2) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../031-libdebhelper-perl_13.24.2_all.deb ... Unpacking libdebhelper-perl (13.24.2) ... Selecting previously unselected package libtool. Preparing to unpack .../032-libtool_2.5.4-4_all.deb ... Unpacking libtool (2.5.4-4) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../033-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../034-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../035-libfile-stripnondeterminism-perl_1.14.1-2_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.1-2) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../036-dh-strip-nondeterminism_1.14.1-2_all.deb ... Unpacking dh-strip-nondeterminism (1.14.1-2) ... Selecting previously unselected package libelf1t64:amd64. Preparing to unpack .../037-libelf1t64_0.192-4_amd64.deb ... Unpacking libelf1t64:amd64 (0.192-4) ... Selecting previously unselected package dwz. Preparing to unpack .../038-dwz_0.15-1+b1_amd64.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libxml2:amd64. Preparing to unpack .../039-libxml2_2.12.7+dfsg+really2.9.14-2.1_amd64.deb ... Unpacking libxml2:amd64 (2.12.7+dfsg+really2.9.14-2.1) ... Selecting previously unselected package gettext. Preparing to unpack .../040-gettext_0.23.1-2_amd64.deb ... Unpacking gettext (0.23.1-2) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../041-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../042-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../043-debhelper_13.24.2_all.deb ... Unpacking debhelper (13.24.2) ... Selecting previously unselected package dh-python. Preparing to unpack .../044-dh-python_6.20250414_all.deb ... Unpacking dh-python (6.20250414) ... Selecting previously unselected package sgml-base. Preparing to unpack .../045-sgml-base_1.31+nmu1_all.deb ... Unpacking sgml-base (1.31+nmu1) ... Selecting previously unselected package xml-core. Preparing to unpack .../046-xml-core_0.19_all.deb ... Unpacking xml-core (0.19) ... Selecting previously unselected package docutils-common. Preparing to unpack .../047-docutils-common_0.21.2+dfsg-2_all.deb ... Unpacking docutils-common (0.21.2+dfsg-2) ... Selecting previously unselected package libmnl0:amd64. Preparing to unpack .../048-libmnl0_1.0.5-3_amd64.deb ... Unpacking libmnl0:amd64 (1.0.5-3) ... Selecting previously unselected package ethtool. Preparing to unpack .../049-ethtool_1%3a6.14.1-1_amd64.deb ... Unpacking ethtool (1:6.14.1-1) ... Selecting previously unselected package hdparm. Preparing to unpack .../050-hdparm_9.65+ds-1.1_amd64.deb ... Unpacking hdparm (9.65+ds-1.1) ... Selecting previously unselected package ieee-data. Preparing to unpack .../051-ieee-data_20240722_all.deb ... Unpacking ieee-data (20240722) ... Selecting previously unselected package libonig5:amd64. Preparing to unpack .../052-libonig5_6.9.9-1+b1_amd64.deb ... Unpacking libonig5:amd64 (6.9.9-1+b1) ... Selecting previously unselected package libjq1:amd64. Preparing to unpack .../053-libjq1_1.7.1-6+deb13u1_amd64.deb ... Unpacking libjq1:amd64 (1.7.1-6+deb13u1) ... Selecting previously unselected package jq. Preparing to unpack .../054-jq_1.7.1-6+deb13u1_amd64.deb ... Unpacking jq (1.7.1-6+deb13u1) ... Selecting previously unselected package libabsl20240722:amd64. Preparing to unpack .../055-libabsl20240722_20240722.0-4_amd64.deb ... Unpacking libabsl20240722:amd64 (20240722.0-4) ... Selecting previously unselected package libaio1t64:amd64. Preparing to unpack .../056-libaio1t64_0.3.113-8+b1_amd64.deb ... Unpacking libaio1t64:amd64 (0.3.113-8+b1) ... Selecting previously unselected package libcares2:amd64. Preparing to unpack .../057-libcares2_1.34.5-1_amd64.deb ... Unpacking libcares2:amd64 (1.34.5-1) ... Selecting previously unselected package libcom-err2:amd64. Preparing to unpack .../058-libcom-err2_1.47.2-3+b3_amd64.deb ... Unpacking libcom-err2:amd64 (1.47.2-3+b3) ... Selecting previously unselected package libev4t64:amd64. Preparing to unpack .../059-libev4t64_1%3a4.33-2.1+b1_amd64.deb ... Unpacking libev4t64:amd64 (1:4.33-2.1+b1) ... Selecting previously unselected package libexpat1-dev:amd64. Preparing to unpack .../060-libexpat1-dev_2.7.1-2_amd64.deb ... Unpacking libexpat1-dev:amd64 (2.7.1-2) ... Selecting previously unselected package libffi-dev:amd64. Preparing to unpack .../061-libffi-dev_3.4.8-2_amd64.deb ... Unpacking libffi-dev:amd64 (3.4.8-2) ... Selecting previously unselected package libglib2.0-0t64:amd64. Preparing to unpack .../062-libglib2.0-0t64_2.84.3-1_amd64.deb ... Unpacking libglib2.0-0t64:amd64 (2.84.3-1) ... Selecting previously unselected package libkrb5support0:amd64. Preparing to unpack .../063-libkrb5support0_1.21.3-5_amd64.deb ... Unpacking libkrb5support0:amd64 (1.21.3-5) ... Selecting previously unselected package libk5crypto3:amd64. Preparing to unpack .../064-libk5crypto3_1.21.3-5_amd64.deb ... Unpacking libk5crypto3:amd64 (1.21.3-5) ... Selecting previously unselected package libkeyutils1:amd64. Preparing to unpack .../065-libkeyutils1_1.6.3-6_amd64.deb ... Unpacking libkeyutils1:amd64 (1.6.3-6) ... Selecting previously unselected package libkrb5-3:amd64. Preparing to unpack .../066-libkrb5-3_1.21.3-5_amd64.deb ... Unpacking libkrb5-3:amd64 (1.21.3-5) ... Selecting previously unselected package libgssapi-krb5-2:amd64. Preparing to unpack .../067-libgssapi-krb5-2_1.21.3-5_amd64.deb ... Unpacking libgssapi-krb5-2:amd64 (1.21.3-5) ... Selecting previously unselected package x11-common. Preparing to unpack .../068-x11-common_1%3a7.7+24_all.deb ... Unpacking x11-common (1:7.7+24) ... Selecting previously unselected package libice6:amd64. Preparing to unpack .../069-libice6_2%3a1.1.1-1_amd64.deb ... Unpacking libice6:amd64 (2:1.1.1-1) ... Selecting previously unselected package libjs-jquery. Preparing to unpack .../070-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... Selecting previously unselected package libjs-underscore. Preparing to unpack .../071-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... Selecting previously unselected package libjs-sphinxdoc. Preparing to unpack .../072-libjs-sphinxdoc_8.1.3-5_all.deb ... Unpacking libjs-sphinxdoc (8.1.3-5) ... Selecting previously unselected package libnuma1:amd64. Preparing to unpack .../073-libnuma1_2.0.19-1_amd64.deb ... Unpacking libnuma1:amd64 (2.0.19-1) ... Selecting previously unselected package libprotobuf32t64:amd64. Preparing to unpack .../074-libprotobuf32t64_3.21.12-11_amd64.deb ... Unpacking libprotobuf32t64:amd64 (3.21.12-11) ... Selecting previously unselected package libpython3.13:amd64. Preparing to unpack .../075-libpython3.13_3.13.5-2_amd64.deb ... Unpacking libpython3.13:amd64 (3.13.5-2) ... Selecting previously unselected package zlib1g-dev:amd64. Preparing to unpack .../076-zlib1g-dev_1%3a1.3.dfsg+really1.3.1-1+b1_amd64.deb ... Unpacking zlib1g-dev:amd64 (1:1.3.dfsg+really1.3.1-1+b1) ... Selecting previously unselected package libpython3.13-dev:amd64. Preparing to unpack .../077-libpython3.13-dev_3.13.5-2_amd64.deb ... Unpacking libpython3.13-dev:amd64 (3.13.5-2) ... Selecting previously unselected package libpython3-dev:amd64. Preparing to unpack .../078-libpython3-dev_3.13.5-1_amd64.deb ... Unpacking libpython3-dev:amd64 (3.13.5-1) ... Selecting previously unselected package libpython3-all-dev:amd64. Preparing to unpack .../079-libpython3-all-dev_3.13.5-1_amd64.deb ... Unpacking libpython3-all-dev:amd64 (3.13.5-1) ... Selecting previously unselected package libre2-11:amd64. Preparing to unpack .../080-libre2-11_20240702-3+b1_amd64.deb ... Unpacking libre2-11:amd64 (20240702-3+b1) ... Selecting previously unselected package libsm6:amd64. Preparing to unpack .../081-libsm6_2%3a1.2.6-1_amd64.deb ... Unpacking libsm6:amd64 (2:1.2.6-1) ... Selecting previously unselected package libsubunit-perl. Preparing to unpack .../082-libsubunit-perl_1.4.2-3_all.deb ... Unpacking libsubunit-perl (1.4.2-3) ... Selecting previously unselected package liburing2:amd64. Preparing to unpack .../083-liburing2_2.9-1_amd64.deb ... Unpacking liburing2:amd64 (2.9-1) ... Selecting previously unselected package libxau6:amd64. Preparing to unpack .../084-libxau6_1%3a1.0.11-1_amd64.deb ... Unpacking libxau6:amd64 (1:1.0.11-1) ... Selecting previously unselected package libxdmcp6:amd64. Preparing to unpack .../085-libxdmcp6_1%3a1.1.5-1_amd64.deb ... Unpacking libxdmcp6:amd64 (1:1.1.5-1) ... Selecting previously unselected package libxcb1:amd64. Preparing to unpack .../086-libxcb1_1.17.0-2+b1_amd64.deb ... Unpacking libxcb1:amd64 (1.17.0-2+b1) ... Selecting previously unselected package libx11-data. Preparing to unpack .../087-libx11-data_2%3a1.8.12-1_all.deb ... Unpacking libx11-data (2:1.8.12-1) ... Selecting previously unselected package libx11-6:amd64. Preparing to unpack .../088-libx11-6_2%3a1.8.12-1_amd64.deb ... Unpacking libx11-6:amd64 (2:1.8.12-1) ... Selecting previously unselected package libxext6:amd64. Preparing to unpack .../089-libxext6_2%3a1.3.4-1+b3_amd64.deb ... Unpacking libxext6:amd64 (2:1.3.4-1+b3) ... Selecting previously unselected package libxt6t64:amd64. Preparing to unpack .../090-libxt6t64_1%3a1.2.1-1.2+b2_amd64.deb ... Unpacking libxt6t64:amd64 (1:1.2.1-1.2+b2) ... Selecting previously unselected package libxmu6:amd64. Preparing to unpack .../091-libxmu6_2%3a1.1.3-3+b4_amd64.deb ... Unpacking libxmu6:amd64 (2:1.1.3-3+b4) ... Selecting previously unselected package libxslt1.1:amd64. Preparing to unpack .../092-libxslt1.1_1.1.35-1.2_amd64.deb ... Unpacking libxslt1.1:amd64 (1.1.35-1.2) ... Selecting previously unselected package libyaml-0-2:amd64. Preparing to unpack .../093-libyaml-0-2_0.2.5-2_amd64.deb ... Unpacking libyaml-0-2:amd64 (0.2.5-2) ... Selecting previously unselected package lsb-release. Preparing to unpack .../094-lsb-release_12.1-1_all.deb ... Unpacking lsb-release (12.1-1) ... Selecting previously unselected package lshw. Preparing to unpack .../095-lshw_02.19.git.2021.06.19.996aaad9c7-2.1_amd64.deb ... Unpacking lshw (02.19.git.2021.06.19.996aaad9c7-2.1) ... Selecting previously unselected package python3-packaging. Preparing to unpack .../096-python3-packaging_25.0-1_all.deb ... Unpacking python3-packaging (25.0-1) ... Selecting previously unselected package python3-wheel. Preparing to unpack .../097-python3-wheel_0.46.1-2_all.deb ... Unpacking python3-wheel (0.46.1-2) ... Selecting previously unselected package python3-pip. Preparing to unpack .../098-python3-pip_25.1.1+dfsg-1_all.deb ... Unpacking python3-pip (25.1.1+dfsg-1) ... Selecting previously unselected package openstack-pkg-tools. Preparing to unpack .../099-openstack-pkg-tools_135_all.deb ... Unpacking openstack-pkg-tools (135) ... Selecting previously unselected package python-babel-localedata. Preparing to unpack .../100-python-babel-localedata_2.17.0-1_all.deb ... Unpacking python-babel-localedata (2.17.0-1) ... Selecting previously unselected package python3-all. Preparing to unpack .../101-python3-all_3.13.5-1_amd64.deb ... Unpacking python3-all (3.13.5-1) ... Selecting previously unselected package python3.13-dev. Preparing to unpack .../102-python3.13-dev_3.13.5-2_amd64.deb ... Unpacking python3.13-dev (3.13.5-2) ... Selecting previously unselected package python3-dev. Preparing to unpack .../103-python3-dev_3.13.5-1_amd64.deb ... Unpacking python3-dev (3.13.5-1) ... Selecting previously unselected package python3-all-dev. Preparing to unpack .../104-python3-all-dev_3.13.5-1_amd64.deb ... Unpacking python3-all-dev (3.13.5-1) ... Selecting previously unselected package python3-autocommand. Preparing to unpack .../105-python3-autocommand_2.2.2-3_all.deb ... Unpacking python3-autocommand (2.2.2-3) ... Selecting previously unselected package python3-autopage. Preparing to unpack .../106-python3-autopage_0.4.0-4_all.deb ... Unpacking python3-autopage (0.4.0-4) ... Selecting previously unselected package python3-babel. Preparing to unpack .../107-python3-babel_2.17.0-1_all.deb ... Unpacking python3-babel (2.17.0-1) ... Selecting previously unselected package python3-bcrypt. Preparing to unpack .../108-python3-bcrypt_4.2.0-2.1+b1_amd64.deb ... Unpacking python3-bcrypt (4.2.0-2.1+b1) ... Selecting previously unselected package python3-blinker. Preparing to unpack .../109-python3-blinker_1.9.0-1_all.deb ... Unpacking python3-blinker (1.9.0-1) ... Selecting previously unselected package python3-certifi. Preparing to unpack .../110-python3-certifi_2025.1.31+ds-1_all.deb ... Unpacking python3-certifi (2025.1.31+ds-1) ... Selecting previously unselected package python3-cffi-backend:amd64. Preparing to unpack .../111-python3-cffi-backend_1.17.1-3_amd64.deb ... Unpacking python3-cffi-backend:amd64 (1.17.1-3) ... Selecting previously unselected package python3-chardet. Preparing to unpack .../112-python3-chardet_5.2.0+dfsg-2_all.deb ... Unpacking python3-chardet (5.2.0+dfsg-2) ... Selecting previously unselected package python3-charset-normalizer. Preparing to unpack .../113-python3-charset-normalizer_3.4.2-1_amd64.deb ... Unpacking python3-charset-normalizer (3.4.2-1) ... Selecting previously unselected package python3-wcwidth. Preparing to unpack .../114-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... Selecting previously unselected package xclip. Preparing to unpack .../115-xclip_0.13-4_amd64.deb ... Unpacking xclip (0.13-4) ... Selecting previously unselected package python3-pyperclip. Preparing to unpack .../116-python3-pyperclip_1.8.2-2_all.deb ... Unpacking python3-pyperclip (1.8.2-2) ... Selecting previously unselected package python3-cmd2. Preparing to unpack .../117-python3-cmd2_2.5.11+ds-1_all.deb ... Unpacking python3-cmd2 (2.5.11+ds-1) ... Selecting previously unselected package python3-roman. Preparing to unpack .../118-python3-roman_5.0-1_all.deb ... Unpacking python3-roman (5.0-1) ... Selecting previously unselected package python3-docutils. Preparing to unpack .../119-python3-docutils_0.21.2+dfsg-2_all.deb ... Unpacking python3-docutils (0.21.2+dfsg-2) ... Selecting previously unselected package python3-more-itertools. Preparing to unpack .../120-python3-more-itertools_10.7.0-1_all.deb ... Unpacking python3-more-itertools (10.7.0-1) ... Selecting previously unselected package python3-typing-extensions. Preparing to unpack .../121-python3-typing-extensions_4.13.2-1_all.deb ... Unpacking python3-typing-extensions (4.13.2-1) ... Selecting previously unselected package python3-typeguard. Preparing to unpack .../122-python3-typeguard_4.4.2-1_all.deb ... Unpacking python3-typeguard (4.4.2-1) ... Selecting previously unselected package python3-inflect. Preparing to unpack .../123-python3-inflect_7.3.1-2_all.deb ... Unpacking python3-inflect (7.3.1-2) ... Selecting previously unselected package python3-jaraco.context. Preparing to unpack .../124-python3-jaraco.context_6.0.1-1_all.deb ... Unpacking python3-jaraco.context (6.0.1-1) ... Selecting previously unselected package python3-jaraco.functools. Preparing to unpack .../125-python3-jaraco.functools_4.1.0-1_all.deb ... Unpacking python3-jaraco.functools (4.1.0-1) ... Selecting previously unselected package python3-pkg-resources. Preparing to unpack .../126-python3-pkg-resources_78.1.1-0.1_all.deb ... Unpacking python3-pkg-resources (78.1.1-0.1) ... Selecting previously unselected package python3-jaraco.text. Preparing to unpack .../127-python3-jaraco.text_4.0.0-1_all.deb ... Unpacking python3-jaraco.text (4.0.0-1) ... Selecting previously unselected package python3-zipp. Preparing to unpack .../128-python3-zipp_3.21.0-1_all.deb ... Unpacking python3-zipp (3.21.0-1) ... Selecting previously unselected package python3-setuptools. Preparing to unpack .../129-python3-setuptools_78.1.1-0.1_all.deb ... Unpacking python3-setuptools (78.1.1-0.1) ... Selecting previously unselected package python3-pbr. Preparing to unpack .../130-python3-pbr_6.1.1-2_all.deb ... Unpacking python3-pbr (6.1.1-2) ... Selecting previously unselected package python3-prettytable. Preparing to unpack .../131-python3-prettytable_3.15.1-1_all.deb ... Unpacking python3-prettytable (3.15.1-1) ... Selecting previously unselected package python3-stevedore. Preparing to unpack .../132-python3-stevedore_5.4.1-2_all.deb ... Unpacking python3-stevedore (5.4.1-2) ... Selecting previously unselected package python3-yaml. Preparing to unpack .../133-python3-yaml_6.0.2-1+b2_amd64.deb ... Unpacking python3-yaml (6.0.2-1+b2) ... Selecting previously unselected package python3-cliff. Preparing to unpack .../134-python3-cliff_4.9.1-2_all.deb ... Unpacking python3-cliff (4.9.1-2) ... Selecting previously unselected package python3-coverage. Preparing to unpack .../135-python3-coverage_7.6.0+dfsg1-2+b2_amd64.deb ... Unpacking python3-coverage (7.6.0+dfsg1-2+b2) ... Selecting previously unselected package python3-cryptography. Preparing to unpack .../136-python3-cryptography_43.0.0-3_amd64.deb ... Unpacking python3-cryptography (43.0.0-3) ... Selecting previously unselected package python3-dateutil. Preparing to unpack .../137-python3-dateutil_2.9.0-4_all.deb ... Unpacking python3-dateutil (2.9.0-4) ... Selecting previously unselected package python3-wrapt. Preparing to unpack .../138-python3-wrapt_1.15.0-4+b1_amd64.deb ... Unpacking python3-wrapt (1.15.0-4+b1) ... Selecting previously unselected package python3-debtcollector. Preparing to unpack .../139-python3-debtcollector_3.0.0-5_all.deb ... Unpacking python3-debtcollector (3.0.0-5) ... Selecting previously unselected package python3-decorator. Preparing to unpack .../140-python3-decorator_5.2.1-2_all.deb ... Unpacking python3-decorator (5.2.1-2) ... Selecting previously unselected package python3-deprecation. Preparing to unpack .../141-python3-deprecation_2.1.0-4_all.deb ... Unpacking python3-deprecation (2.1.0-4) ... Selecting previously unselected package python3-dnspython. Preparing to unpack .../142-python3-dnspython_2.7.0-1_all.deb ... Unpacking python3-dnspython (2.7.0-1) ... Selecting previously unselected package python3-markupsafe. Preparing to unpack .../143-python3-markupsafe_2.1.5-1+b3_amd64.deb ... Unpacking python3-markupsafe (2.1.5-1+b3) ... Selecting previously unselected package python3-mako. Preparing to unpack .../144-python3-mako_1.3.9-1_all.deb ... Unpacking python3-mako (1.3.9-1) ... Selecting previously unselected package python3-dogpile.cache. Preparing to unpack .../145-python3-dogpile.cache_1.3.3-1_all.deb ... Unpacking python3-dogpile.cache (1.3.3-1) ... Selecting previously unselected package python3-protobuf. Preparing to unpack .../146-python3-protobuf_3.21.12-11_amd64.deb ... Unpacking python3-protobuf (3.21.12-11) ... Selecting previously unselected package python3-grpcio. Preparing to unpack .../147-python3-grpcio_1.51.1-6_amd64.deb ... Unpacking python3-grpcio (1.51.1-6) ... Selecting previously unselected package python3-six. Preparing to unpack .../148-python3-six_1.17.0-1_all.deb ... Unpacking python3-six (1.17.0-1) ... Selecting previously unselected package python3-tenacity. Preparing to unpack .../149-python3-tenacity_8.4.2+really8.4.1-2_all.deb ... Unpacking python3-tenacity (8.4.2+really8.4.1-2) ... Selecting previously unselected package python3-etcd3. Preparing to unpack .../150-python3-etcd3_0.12.0-3_all.deb ... Unpacking python3-etcd3 (0.12.0-3) ... Selecting previously unselected package python3-greenlet. Preparing to unpack .../151-python3-greenlet_3.1.0-1+b2_amd64.deb ... Unpacking python3-greenlet (3.1.0-1+b2) ... Selecting previously unselected package python3-futurist. Preparing to unpack .../152-python3-futurist_3.1.0-2_all.deb ... Unpacking python3-futurist (3.1.0-2) ... Selecting previously unselected package python3-idna. Preparing to unpack .../153-python3-idna_3.10-1_all.deb ... Unpacking python3-idna (3.10-1) ... Selecting previously unselected package python3-urllib3. Preparing to unpack .../154-python3-urllib3_2.3.0-3_all.deb ... Unpacking python3-urllib3 (2.3.0-3) ... Selecting previously unselected package python3-requests. Preparing to unpack .../155-python3-requests_2.32.3+dfsg-5_all.deb ... Unpacking python3-requests (2.32.3+dfsg-5) ... Selecting previously unselected package python3-etcd3gw. Preparing to unpack .../156-python3-etcd3gw_2.4.2-3_all.deb ... Unpacking python3-etcd3gw (2.4.2-3) ... Selecting previously unselected package python3-eventlet. Preparing to unpack .../157-python3-eventlet_0.39.1-2_all.deb ... Unpacking python3-eventlet (0.39.1-2) ... Selecting previously unselected package python3-extras. Preparing to unpack .../158-python3-extras_1.0.0-6_all.deb ... Unpacking python3-extras (1.0.0-6) ... Selecting previously unselected package python3-monotonic. Preparing to unpack .../159-python3-monotonic_1.6-3_all.deb ... Unpacking python3-monotonic (1.6-3) ... Selecting previously unselected package python3-fasteners. Preparing to unpack .../160-python3-fasteners_0.18-2_all.deb ... Unpacking python3-fasteners (0.18-2) ... Selecting previously unselected package python3-testtools. Preparing to unpack .../161-python3-testtools_2.7.2-5_all.deb ... Unpacking python3-testtools (2.7.2-5) ... Selecting previously unselected package python3-fixtures. Preparing to unpack .../162-python3-fixtures_4.1.0-3_all.deb ... Unpacking python3-fixtures (4.1.0-3) ... Selecting previously unselected package python3-flexcache. Preparing to unpack .../163-python3-flexcache_0.3-2_all.deb ... Unpacking python3-flexcache (0.3-2) ... Selecting previously unselected package python3-flexparser. Preparing to unpack .../164-python3-flexparser_0.4-1_all.deb ... Unpacking python3-flexparser (0.4-1) ... Selecting previously unselected package python3-zope.event. Preparing to unpack .../165-python3-zope.event_5.0-0.1_all.deb ... Unpacking python3-zope.event (5.0-0.1) ... Selecting previously unselected package python3-zope.interface. Preparing to unpack .../166-python3-zope.interface_7.2-1+b1_amd64.deb ... Unpacking python3-zope.interface (7.2-1+b1) ... Selecting previously unselected package python3-gevent. Preparing to unpack .../167-python3-gevent_24.11.1-1+b1_amd64.deb ... Unpacking python3-gevent (24.11.1-1+b1) ... Selecting previously unselected package python3-ptyprocess. Preparing to unpack .../168-python3-ptyprocess_0.7.0-6_all.deb ... Unpacking python3-ptyprocess (0.7.0-6) ... Selecting previously unselected package python3-pexpect. Preparing to unpack .../169-python3-pexpect_4.9-3_all.deb ... Unpacking python3-pexpect (4.9-3) ... Selecting previously unselected package smartmontools. Preparing to unpack .../170-smartmontools_7.4-3_amd64.deb ... Unpacking smartmontools (7.4-3) ... Selecting previously unselected package python3-hardware. Preparing to unpack .../171-python3-hardware_0.30.0-4_all.deb ... Unpacking python3-hardware (0.30.0-4) ... Selecting previously unselected package python3-ifaddr. Preparing to unpack .../172-python3-ifaddr_0.2.0-2_all.deb ... Unpacking python3-ifaddr (0.2.0-2) ... Selecting previously unselected package python3-iso8601. Preparing to unpack .../173-python3-iso8601_2.1.0-2_all.deb ... Unpacking python3-iso8601 (2.1.0-2) ... Selecting previously unselected package python3-jinja2. Preparing to unpack .../174-python3-jinja2_3.1.6-1_all.deb ... Unpacking python3-jinja2 (3.1.6-1) ... Selecting previously unselected package python3-jmespath. Preparing to unpack .../175-python3-jmespath_1.0.1-1_all.deb ... Unpacking python3-jmespath (1.0.1-1) ... Selecting previously unselected package python3-json-pointer. Preparing to unpack .../176-python3-json-pointer_2.4-3_all.deb ... Unpacking python3-json-pointer (2.4-3) ... Selecting previously unselected package python3-jsonpatch. Preparing to unpack .../177-python3-jsonpatch_1.32-5_all.deb ... Unpacking python3-jsonpatch (1.32-5) ... Selecting previously unselected package python3-jwt. Preparing to unpack .../178-python3-jwt_2.10.1-2_all.deb ... Unpacking python3-jwt (2.10.1-2) ... Selecting previously unselected package python3-kerberos. Preparing to unpack .../179-python3-kerberos_1.1.14-3.1+b11_amd64.deb ... Unpacking python3-kerberos (1.1.14-3.1+b11) ... Selecting previously unselected package python3-pure-sasl. Preparing to unpack .../180-python3-pure-sasl_0.5.1+dfsg1-5_all.deb ... Unpacking python3-pure-sasl (0.5.1+dfsg1-5) ... Selecting previously unselected package python3-kazoo. Preparing to unpack .../181-python3-kazoo_2.9.0-2_all.deb ... Unpacking python3-kazoo (2.9.0-2) ... Selecting previously unselected package python3-lxml:amd64. Preparing to unpack .../182-python3-lxml_5.4.0-1_amd64.deb ... Unpacking python3-lxml:amd64 (5.4.0-1) ... Selecting previously unselected package python3-oauthlib. Preparing to unpack .../183-python3-oauthlib_3.2.2-3_all.deb ... Unpacking python3-oauthlib (3.2.2-3) ... Selecting previously unselected package python3-os-service-types. Preparing to unpack .../184-python3-os-service-types_1.7.0-5_all.deb ... Unpacking python3-os-service-types (1.7.0-5) ... Selecting previously unselected package python3-keystoneauth1. Preparing to unpack .../185-python3-keystoneauth1_5.10.0-2_all.deb ... Unpacking python3-keystoneauth1 (5.10.0-2) ... Selecting previously unselected package python3-legacy-cgi. Preparing to unpack .../186-python3-legacy-cgi_2.6.3-1_all.deb ... Unpacking python3-legacy-cgi (2.6.3-1) ... Selecting previously unselected package python3-msgpack. Preparing to unpack .../187-python3-msgpack_1.0.3-3+b4_amd64.deb ... Unpacking python3-msgpack (1.0.3-3+b4) ... Selecting previously unselected package python3-netaddr. Preparing to unpack .../188-python3-netaddr_1.3.0-1_all.deb ... Unpacking python3-netaddr (1.3.0-1) ... Selecting previously unselected package python3-platformdirs. Preparing to unpack .../189-python3-platformdirs_4.3.7-1_all.deb ... Unpacking python3-platformdirs (4.3.7-1) ... Selecting previously unselected package python3-psutil. Preparing to unpack .../190-python3-psutil_7.0.0-2_amd64.deb ... Unpacking python3-psutil (7.0.0-2) ... Selecting previously unselected package python3-requestsexceptions. Preparing to unpack .../191-python3-requestsexceptions_1.4.0-5_all.deb ... Unpacking python3-requestsexceptions (1.4.0-5) ... Selecting previously unselected package python3-openstacksdk. Preparing to unpack .../192-python3-openstacksdk_4.4.0-5_all.deb ... Unpacking python3-openstacksdk (4.4.0-5) ... Selecting previously unselected package python3-os-client-config. Preparing to unpack .../193-python3-os-client-config_2.1.0-3_all.deb ... Unpacking python3-os-client-config (2.1.0-3) ... Selecting previously unselected package python3-oslo.i18n. Preparing to unpack .../194-python3-oslo.i18n_6.5.1-3_all.deb ... Unpacking python3-oslo.i18n (6.5.1-3) ... Selecting previously unselected package python3-oslo.context. Preparing to unpack .../195-python3-oslo.context_5.7.1-3_all.deb ... Unpacking python3-oslo.context (5.7.1-3) ... Selecting previously unselected package python3-pyparsing. Preparing to unpack .../196-python3-pyparsing_3.1.2-1_all.deb ... Unpacking python3-pyparsing (3.1.2-1) ... Selecting previously unselected package python3-pytz. Preparing to unpack .../197-python3-pytz_2025.2-3_all.deb ... Unpacking python3-pytz (2025.2-3) ... Selecting previously unselected package python3-tz. Preparing to unpack .../198-python3-tz_2025.2-3_all.deb ... Unpacking python3-tz (2025.2-3) ... Selecting previously unselected package python3-oslo.utils. Preparing to unpack .../199-python3-oslo.utils_8.2.0-4_all.deb ... Unpacking python3-oslo.utils (8.2.0-4) ... Selecting previously unselected package python3-oslo.serialization. Preparing to unpack .../200-python3-oslo.serialization_5.7.0-3_all.deb ... Unpacking python3-oslo.serialization (5.7.0-3) ... Selecting previously unselected package python3-pyasyncore. Preparing to unpack .../201-python3-pyasyncore_1.0.2-3_all.deb ... Unpacking python3-pyasyncore (1.0.2-3) ... Selecting previously unselected package python3-oslo.log. Preparing to unpack .../202-python3-oslo.log_7.1.0-4_all.deb ... Unpacking python3-oslo.log (7.1.0-4) ... Selecting previously unselected package python3-rfc3986. Preparing to unpack .../203-python3-rfc3986_2.0.0-3_all.deb ... Unpacking python3-rfc3986 (2.0.0-3) ... Selecting previously unselected package python3-oslo.config. Preparing to unpack .../204-python3-oslo.config_1%3a9.7.1-3_all.deb ... Unpacking python3-oslo.config (1:9.7.1-3) ... Selecting previously unselected package python3-oslo.concurrency. Preparing to unpack .../205-python3-oslo.concurrency_7.1.0-3_all.deb ... Unpacking python3-oslo.concurrency (7.1.0-3) ... Selecting previously unselected package python3-tempita. Preparing to unpack .../206-python3-tempita_0.6.0-1_all.deb ... Unpacking python3-tempita (0.6.0-1) ... Selecting previously unselected package python3-paste. Preparing to unpack .../207-python3-paste_3.10.1-1_all.deb ... Unpacking python3-paste (3.10.1-1) ... Selecting previously unselected package python3-pastedeploy-tpl. Preparing to unpack .../208-python3-pastedeploy-tpl_3.1-1_all.deb ... Unpacking python3-pastedeploy-tpl (3.1-1) ... Selecting previously unselected package python3-pastedeploy. Preparing to unpack .../209-python3-pastedeploy_3.1-1_all.deb ... Unpacking python3-pastedeploy (3.1-1) ... Selecting previously unselected package python3-repoze.lru. Preparing to unpack .../210-python3-repoze.lru_0.7-3_all.deb ... Unpacking python3-repoze.lru (0.7-3) ... Selecting previously unselected package python3-routes. Preparing to unpack .../211-python3-routes_2.5.1-7_all.deb ... Unpacking python3-routes (2.5.1-7) ... Selecting previously unselected package python3-yappi. Preparing to unpack .../212-python3-yappi_1.6.10-2+b1_amd64.deb ... Unpacking python3-yappi (1.6.10-2+b1) ... Selecting previously unselected package python3-webob. Preparing to unpack .../213-python3-webob_1%3a1.8.9-1_all.deb ... Unpacking python3-webob (1:1.8.9-1) ... Selecting previously unselected package python3-oslo.service. Preparing to unpack .../214-python3-oslo.service_4.1.1-2_all.deb ... Unpacking python3-oslo.service (4.1.1-2) ... Selecting previously unselected package python3-tomlkit. Preparing to unpack .../215-python3-tomlkit_0.13.2-1_all.deb ... Unpacking python3-tomlkit (0.13.2-1) ... Selecting previously unselected package python3-voluptuous. Preparing to unpack .../216-python3-voluptuous_0.14.2-1_all.deb ... Unpacking python3-voluptuous (0.14.2-1) ... Selecting previously unselected package python3-subunit. Preparing to unpack .../217-python3-subunit_1.4.2-3_all.deb ... Unpacking python3-subunit (1.4.2-3) ... Selecting previously unselected package subunit. Preparing to unpack .../218-subunit_1.4.2-3_all.deb ... Unpacking subunit (1.4.2-3) ... Selecting previously unselected package python3-stestr. Preparing to unpack .../219-python3-stestr_4.1.0-3_all.deb ... Unpacking python3-stestr (4.1.0-3) ... Selecting previously unselected package python3-oslotest. Preparing to unpack .../220-python3-oslotest_1%3a5.0.0-4_all.deb ... Unpacking python3-oslotest (1:5.0.0-4) ... Selecting previously unselected package python3-pint. Preparing to unpack .../221-python3-pint_0.24.4-2_all.deb ... Unpacking python3-pint (0.24.4-2) ... Selecting previously unselected package python3-pymemcache. Preparing to unpack .../222-python3-pymemcache_4.0.0-8_all.deb ... Unpacking python3-pymemcache (4.0.0-8) ... Selecting previously unselected package python3-pymysql. Preparing to unpack .../223-python3-pymysql_1.1.1-2_all.deb ... Unpacking python3-pymysql (1.1.1-2) ... Selecting previously unselected package python3-pyudev. Preparing to unpack .../224-python3-pyudev_0.24.3-1_all.deb ... Unpacking python3-pyudev (0.24.3-1) ... Selecting previously unselected package python3-redis. Preparing to unpack .../225-python3-redis_6.1.0-2_all.deb ... Unpacking python3-redis (6.1.0-2) ... Selecting previously unselected package python3-zake. Preparing to unpack .../226-python3-zake_0.2.2-8_all.deb ... Unpacking python3-zake (0.2.2-8) ... Selecting previously unselected package python3-tooz. Preparing to unpack .../227-python3-tooz_6.3.0-4_all.deb ... Unpacking python3-tooz (6.3.0-4) ... Selecting previously unselected package python3-werkzeug. Preparing to unpack .../228-python3-werkzeug_3.1.3-2_all.deb ... Unpacking python3-werkzeug (3.1.3-2) ... Selecting previously unselected package python3-zeroconf. Preparing to unpack .../229-python3-zeroconf_0.147.0-1_all.deb ... Unpacking python3-zeroconf (0.147.0-1) ... Selecting previously unselected package qemu-utils. Preparing to unpack .../230-qemu-utils_1%3a10.0.2+ds-2+b1_amd64.deb ... Unpacking qemu-utils (1:10.0.2+ds-2+b1) ... Setting up smartmontools (7.4-3) ... /var/lib/smartmontools/drivedb/drivedb.h 7.3/5528 newly installed (NOT VERIFIED) Setting up media-types (13.0.0) ... Setting up libpipeline1:amd64 (1.5.8-1) ... Setting up libev4t64:amd64 (1:4.33-2.1+b1) ... Setting up libprotobuf32t64:amd64 (3.21.12-11) ... Setting up libxau6:amd64 (1:1.0.11-1) ... Setting up libxdmcp6:amd64 (1:1.1.5-1) ... Setting up libsubunit-perl (1.4.2-3) ... Setting up libkeyutils1:amd64 (1.6.3-6) ... Setting up pci.ids (0.0~2025.06.09-1) ... Setting up libxcb1:amd64 (1.17.0-2+b1) ... Setting up bsdextrautils (2.41-5) ... Setting up libgpg-error0:amd64 (1.51-4) ... Setting up libmagic-mgc (1:5.46-5) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libyaml-0-2:amd64 (0.2.5-2) ... Setting up freeipmi-common (1.6.15-1) ... Setting up libdebhelper-perl (13.24.2) ... Setting up libmagic1t64:amd64 (1:5.46-5) ... Setting up x11-common (1:7.7+24) ... invoke-rc.d: could not determine current runlevel Setting up X socket directories... /tmp/.X11-unix /tmp/.ICE-unix. Setting up gettext-base (0.23.1-2) ... Setting up m4 (1.4.19-8) ... Setting up libgcrypt20:amd64 (1.11.0-7) ... Setting up hdparm (9.65+ds-1.1) ... Setting up libcom-err2:amd64 (1.47.2-3+b3) ... Setting up file (1:5.46-5) ... Setting up libabsl20240722:amd64 (20240722.0-4) ... Setting up lshw (02.19.git.2021.06.19.996aaad9c7-2.1) ... Setting up libelf1t64:amd64 (0.192-4) ... Setting up python-babel-localedata (2.17.0-1) ... Setting up libkrb5support0:amd64 (1.21.3-5) ... Setting up tzdata (2025b-4) ... Current default time zone: 'Etc/UTC' Local time is now: Thu Aug 7 18:17:35 UTC 2025. Universal Time is now: Thu Aug 7 18:17:35 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up libconfig11:amd64 (1.7.3-2) ... Setting up autotools-dev (20240727.1) ... Setting up libexpat1-dev:amd64 (2.7.1-2) ... Setting up libx11-data (2:1.8.12-1) ... Setting up python3-pastedeploy-tpl (3.1-1) ... Setting up libproc2-0:amd64 (2:4.0.4-9) ... Setting up libunistring5:amd64 (1.3-2) ... Setting up libcares2:amd64 (1.34.5-1) ... Setting up libmnl0:amd64 (1.0.5-3) ... Setting up autopoint (0.23.1-2) ... Setting up libk5crypto3:amd64 (1.21.3-5) ... Setting up autoconf (2.72-3.1) ... Setting up libfreeipmi17 (1.6.15-1) ... Setting up zlib1g-dev:amd64 (1:1.3.dfsg+really1.3.1-1+b1) ... Setting up libpci3:amd64 (1:3.13.0-2) ... Setting up libffi8:amd64 (3.4.8-2) ... Setting up libnuma1:amd64 (2.0.19-1) ... Setting up dwz (0.15-1+b1) ... Setting up libaio1t64:amd64 (0.3.113-8+b1) ... Setting up sensible-utils (0.0.25) ... Setting up libuchardet0:amd64 (0.0.8-1+b2) ... Setting up procps (2:4.0.4-9) ... Setting up libnl-3-200:amd64 (3.7.0-2) ... Setting up libtasn1-6:amd64 (4.20.0-2) ... Setting up libx11-6:amd64 (2:1.8.12-1) ... Setting up netbase (6.5) ... Setting up sgml-base (1.31+nmu1) ... Setting up libkrb5-3:amd64 (1.21.3-5) ... Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... Setting up liburing2:amd64 (2.9-1) ... Setting up lsb-release (12.1-1) ... Setting up openssl (3.5.1-1) ... Setting up readline-common (8.2-6) ... Setting up libxml2:amd64 (2.12.7+dfsg+really2.9.14-2.1) ... Setting up libonig5:amd64 (6.9.9-1+b1) ... Setting up libkmod2:amd64 (34.2-2) ... Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... Setting up ethtool (1:6.14.1-1) ... Setting up automake (1:1.17-4) ... update-alternatives: using /usr/bin/automake-1.17 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.14.1-2) ... Setting up libice6:amd64 (2:1.1.1-1) ... Setting up libre2-11:amd64 (20240702-3+b1) ... Setting up gettext (0.23.1-2) ... Setting up libtool (2.5.4-4) ... Setting up libjq1:amd64 (1.7.1-6+deb13u1) ... Setting up libxext6:amd64 (2:1.3.4-1+b3) ... Setting up libidn2-0:amd64 (2.3.8-2) ... Setting up libffi-dev:amd64 (3.4.8-2) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up ca-certificates (20250419) ... Updating certificates in /etc/ssl/certs... 150 added, 0 removed; done. Setting up lldpad (1.1.1-1+b1) ... invoke-rc.d: could not determine current runlevel invoke-rc.d: policy-rc.d denied execution of start. Setting up libglib2.0-0t64:amd64 (2.84.3-1) ... No schema files found: doing nothing. Setting up libp11-kit0:amd64 (0.25.5-3) ... Setting up libgssapi-krb5-2:amd64 (1.21.3-5) ... Setting up pciutils (1:3.13.0-2) ... Setting up libjs-sphinxdoc (8.1.3-5) ... Setting up libreadline8t64:amd64 (8.2-6) ... Setting up dh-strip-nondeterminism (1.14.1-2) ... Setting up groff-base (1.23.0-9) ... Setting up xml-core (0.19) ... Setting up jq (1.7.1-6+deb13u1) ... Setting up libxslt1.1:amd64 (1.1.35-1.2) ... Setting up libsm6:amd64 (2:1.2.6-1) ... Setting up libpython3.13-stdlib:amd64 (3.13.5-2) ... Setting up ipmitool (1.8.19-9) ... invoke-rc.d: could not determine current runlevel invoke-rc.d: policy-rc.d denied execution of start. Setting up libpython3-stdlib:amd64 (3.13.5-1) ... Setting up libpython3.13:amd64 (3.13.5-2) ... Setting up libgnutls30t64:amd64 (3.8.9-3) ... Setting up python3.13 (3.13.5-2) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up libpsl5t64:amd64 (0.21.2-1.1+b1) ... Setting up python3 (3.13.5-1) ... Setting up python3-zipp (3.21.0-1) ... Setting up python3-autocommand (2.2.2-3) ... Setting up man-db (2.13.1-1) ... Not building database; man-db/auto-update is not 'true'. Setting up python3-markupsafe (2.1.5-1+b3) ... Setting up python3-platformdirs (4.3.7-1) ... Setting up python3-psutil (7.0.0-2) ... Setting up python3-ifaddr (0.2.0-2) ... Setting up python3-monotonic (1.6-3) ... Setting up python3-six (1.17.0-1) ... Setting up python3-roman (5.0-1) ... Setting up python3-decorator (5.2.1-2) ... Setting up python3-jinja2 (3.1.6-1) ... Setting up python3-tempita (0.6.0-1) ... Setting up python3-packaging (25.0-1) ... Setting up python3-iso8601 (2.1.0-2) ... Setting up python3-chardet (5.2.0+dfsg-2) ... Setting up python3-wcwidth (0.2.13+dfsg1-1) ... Setting up python3-pyparsing (3.1.2-1) ... Setting up python3-certifi (2025.1.31+ds-1) ... Setting up python3-werkzeug (3.1.3-2) ... Setting up python3-jmespath (1.0.1-1) ... Setting up libpython3.13-dev:amd64 (3.13.5-2) ... Setting up python3-greenlet (3.1.0-1+b2) ... Setting up libxt6t64:amd64 (1:1.2.1-1.2+b2) ... Setting up python3-idna (3.10-1) ... Setting up python3-wrapt (1.15.0-4+b1) ... Setting up python3-deprecation (2.1.0-4) ... Setting up python3-typing-extensions (4.13.2-1) ... Setting up python3-pymysql (1.1.1-2) ... Setting up python3-redis (6.1.0-2) ... Setting up python3-fasteners (0.18-2) ... Setting up python3-urllib3 (2.3.0-3) ... Setting up python3-legacy-cgi (2.6.3-1) ... Setting up python3-json-pointer (2.4-3) ... Setting up python3-lxml:amd64 (5.4.0-1) ... Setting up python3-dnspython (2.7.0-1) ... Setting up python3-dateutil (2.9.0-4) ... Setting up python3-flexcache (0.3-2) ... Setting up python3-msgpack (1.0.3-3+b4) ... Setting up python3-voluptuous (0.14.2-1) ... Setting up qemu-utils (1:10.0.2+ds-2+b1) ... Setting up python3-pyasyncore (1.0.2-3) ... Setting up python3-pyudev (0.24.3-1) ... Setting up python3-protobuf (3.21.12-11) ... Setting up python3-prettytable (3.15.1-1) ... Setting up python3-tomlkit (0.13.2-1) ... Setting up python3-cffi-backend:amd64 (1.17.1-3) ... Setting up python3-mako (1.3.9-1) ... Setting up python3-webob (1:1.8.9-1) ... Setting up python3-ptyprocess (0.7.0-6) ... Setting up python3-blinker (1.9.0-1) ... Setting up dh-python (6.20250414) ... Setting up python3-more-itertools (10.7.0-1) ... Setting up python3-pymemcache (4.0.0-8) ... Setting up libxmu6:amd64 (2:1.1.3-3+b4) ... Setting up libpython3-dev:amd64 (3.13.5-1) ... Setting up python3-jaraco.functools (4.1.0-1) ... Setting up wget (1.25.0-2) ... Setting up python3-repoze.lru (0.7-3) ... Setting up python3-jaraco.context (6.0.1-1) ... Setting up python3-jwt (2.10.1-2) ... Setting up python3-zeroconf (0.147.0-1) ... Setting up python3-babel (2.17.0-1) ... update-alternatives: using /usr/bin/pybabel-python3 to provide /usr/bin/pybabel (pybabel) in auto mode Setting up python3-charset-normalizer (3.4.2-1) ... Setting up python3.13-dev (3.13.5-2) ... Setting up python3-jsonpatch (1.32-5) ... update-alternatives: using /usr/bin/json-patch-jsondiff to provide /usr/bin/jsondiff (jsondiff) in auto mode Setting up python3-tenacity (8.4.2+really8.4.1-2) ... Setting up python3-bcrypt (4.2.0-2.1+b1) ... Setting up python3-autopage (0.4.0-4) ... Setting up python3-typeguard (4.4.2-1) ... Setting up python3-extras (1.0.0-6) ... Setting up python3-kerberos (1.1.14-3.1+b11) ... Setting up python3-all (3.13.5-1) ... Setting up python3-coverage (7.6.0+dfsg1-2+b2) ... Setting up python3-yaml (6.0.2-1+b2) ... Setting up debhelper (13.24.2) ... Setting up python3-pytz (2025.2-3) ... Setting up python3-wheel (0.46.1-2) ... Setting up python3-tz (2025.2-3) ... Setting up python3-routes (2.5.1-7) ... Setting up python3-inflect (7.3.1-2) ... Setting up python3-eventlet (0.39.1-2) ... Setting up python3-flexparser (0.4-1) ... Setting up python3-rfc3986 (2.0.0-3) ... Setting up libpython3-all-dev:amd64 (3.13.5-1) ... Setting up python3-jaraco.text (4.0.0-1) ... Setting up python3-pexpect (4.9-3) ... Setting up python3-cryptography (43.0.0-3) ... Setting up python3-dev (3.13.5-1) ... Setting up python3-requests (2.32.3+dfsg-5) ... Setting up python3-grpcio (1.51.1-6) ... Setting up xclip (0.13-4) ... Setting up python3-pip (25.1.1+dfsg-1) ... Setting up python3-etcd3 (0.12.0-3) ... Setting up ieee-data (20240722) ... Setting up python3-pkg-resources (78.1.1-0.1) ... Setting up python3-all-dev (3.13.5-1) ... Setting up python3-setuptools (78.1.1-0.1) ... Setting up python3-pure-sasl (0.5.1+dfsg1-5) ... Setting up python3-zope.event (5.0-0.1) ... Setting up python3-zope.interface (7.2-1+b1) ... Setting up python3-pbr (6.1.1-2) ... Setting up python3-requestsexceptions (1.4.0-5) ... Setting up python3-pyperclip (1.8.2-2) ... Setting up python3-debtcollector (3.0.0-5) ... Setting up python3-gevent (24.11.1-1+b1) ... Setting up openstack-pkg-tools (135) ... Setting up python3-pint (0.24.4-2) ... Setting up python3-oauthlib (3.2.2-3) ... Setting up python3-paste (3.10.1-1) ... Setting up python3-kazoo (2.9.0-2) ... Setting up python3-cmd2 (2.5.11+ds-1) ... Setting up python3-zake (0.2.2-8) ... Setting up python3-oslo.context (5.7.1-3) ... Setting up python3-netaddr (1.3.0-1) ... Setting up python3-os-service-types (1.7.0-5) ... Setting up python3-stevedore (5.4.1-2) ... Setting up python3-oslo.i18n (6.5.1-3) ... Setting up python3-keystoneauth1 (5.10.0-2) ... Setting up python3-hardware (0.30.0-4) ... Setting up python3-testtools (2.7.2-5) ... Setting up python3-pastedeploy (3.1-1) ... Setting up python3-futurist (3.1.0-2) ... Setting up python3-yappi (1.6.10-2+b1) ... Setting up python3-oslo.utils (8.2.0-4) ... Setting up python3-dogpile.cache (1.3.3-1) ... Setting up python3-subunit (1.4.2-3) ... Setting up python3-fixtures (4.1.0-3) ... Setting up python3-openstacksdk (4.4.0-5) ... Setting up python3-os-client-config (2.1.0-3) ... Setting up subunit (1.4.2-3) ... Setting up python3-etcd3gw (2.4.2-3) ... Setting up python3-oslo.serialization (5.7.0-3) ... Setting up python3-tooz (6.3.0-4) ... Processing triggers for libc-bin (2.41-12) ... Processing triggers for sgml-base (1.31+nmu1) ... Setting up docutils-common (0.21.2+dfsg-2) ... Processing triggers for sgml-base (1.31+nmu1) ... Setting up python3-docutils (0.21.2+dfsg-2) ... Setting up python3-cliff (4.9.1-2) ... Setting up python3-oslo.config (1:9.7.1-3) ... Setting up python3-oslo.concurrency (7.1.0-3) ... Setting up python3-oslo.log (7.1.0-4) ... Setting up python3-stestr (4.1.0-3) ... Setting up python3-oslo.service (4.1.1-2) ... Setting up python3-oslotest (1:5.0.0-4) ... Processing triggers for ca-certificates (20250419) ... Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done. Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps Reading package lists... Building dependency tree... Reading state information... fakeroot is already the newest version (1.37.1.1-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package I: Running cd /build/reproducible-path/ironic-python-agent-10.2.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../ironic-python-agent_10.2.0-3_source.changes dpkg-buildpackage: info: source package ironic-python-agent dpkg-buildpackage: info: source version 10.2.0-3 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Thomas Goirand dpkg-source --before-build . dpkg-buildpackage: info: host architecture amd64 debian/rules clean make: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions dh clean --buildsystem=pybuild --with python3 debian/rules override_dh_auto_clean make[1]: Entering directory '/build/reproducible-path/ironic-python-agent-10.2.0' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions rm -rf *.egg-info build rm -f debian/*.init debian/*.service find . -type d -name __pycache__ -exec rm -r {} \+ make[1]: Leaving directory '/build/reproducible-path/ironic-python-agent-10.2.0' dh_autoreconf_clean -O--buildsystem=pybuild dh_clean -O--buildsystem=pybuild debian/rules binary make: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions dh binary --buildsystem=pybuild --with python3 dh_update_autotools_config -O--buildsystem=pybuild dh_autoreconf -O--buildsystem=pybuild dh_auto_configure -O--buildsystem=pybuild I: pybuild base:311: python3.13 setup.py config /usr/lib/python3/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: Apache Software License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() /usr/lib/python3/dist-packages/setuptools/__init__.py:94: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !! ******************************************************************************** Requirements should be satisfied by a PEP 517 installer. If you are using pip, you can try `pip install --use-pep517`. ******************************************************************************** !! dist.fetch_build_eggs(dist.setup_requires) /usr/lib/python3/dist-packages/setuptools/command/develop.py:41: EasyInstallDeprecationWarning: easy_install command is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` and ``easy_install``. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://github.com/pypa/setuptools/issues/917 for details. ******************************************************************************** !! easy_install.initialize_options(self) /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:90: SetuptoolsDeprecationWarning: setup.py install is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` directly. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. ******************************************************************************** !! self.initialize_options() /usr/lib/python3/dist-packages/pbr/core.py:140: UserWarning: Unknown distribution option: 'tests_require' warnings.warn(msg) /usr/lib/python3/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: Apache Software License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() running config debian/rules override_dh_auto_build make[1]: Entering directory '/build/reproducible-path/ironic-python-agent-10.2.0' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions echo "Do nothing..." Do nothing... make[1]: Leaving directory '/build/reproducible-path/ironic-python-agent-10.2.0' debian/rules override_dh_auto_test make[1]: Entering directory '/build/reproducible-path/ironic-python-agent-10.2.0' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions echo "Do nothing..." Do nothing... make[1]: Leaving directory '/build/reproducible-path/ironic-python-agent-10.2.0' create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=pybuild dh_prep -O--buildsystem=pybuild dh_installdirs -O--buildsystem=pybuild debian/rules override_dh_auto_install make[1]: Entering directory '/build/reproducible-path/ironic-python-agent-10.2.0' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions echo "Do nothing..." Do nothing... make[1]: Leaving directory '/build/reproducible-path/ironic-python-agent-10.2.0' debian/rules override_dh_install make[1]: Entering directory '/build/reproducible-path/ironic-python-agent-10.2.0' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions touch ironic_python_agent/metrics_lib/__init__.py pkgos-dh_auto_install --no-py2 --in-tmp + PKGOS_IN_TMP=no + echo WARNING: --no-py2 is deprecated and always on. WARNING: --no-py2 is deprecated and always on. + shift + PKGOS_IN_TMP=yes + shift + dpkg-parsechangelog -SSource + SRC_PKG_NAME=ironic-python-agent + echo ironic-python-agent + sed s/python-// + PY_MODULE_NAME=ironic-agent + py3versions -vr + PYTHON3S=3.13 + [ yes = yes ] + TARGET_DIR=tmp + pwd + python3.13 setup.py install --install-layout=deb --root /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp /usr/lib/python3/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: Apache Software License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() /usr/lib/python3/dist-packages/setuptools/__init__.py:94: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !! ******************************************************************************** Requirements should be satisfied by a PEP 517 installer. If you are using pip, you can try `pip install --use-pep517`. ******************************************************************************** !! dist.fetch_build_eggs(dist.setup_requires) /usr/lib/python3/dist-packages/setuptools/command/develop.py:41: EasyInstallDeprecationWarning: easy_install command is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` and ``easy_install``. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://github.com/pypa/setuptools/issues/917 for details. ******************************************************************************** !! easy_install.initialize_options(self) /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:90: SetuptoolsDeprecationWarning: setup.py install is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` directly. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. ******************************************************************************** !! self.initialize_options() /usr/lib/python3/dist-packages/pbr/core.py:140: UserWarning: Unknown distribution option: 'tests_require' warnings.warn(msg) /usr/lib/python3/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: Apache Software License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() running install [pbr] Generating AUTHORS [pbr] AUTHORS complete (0.0s) running build running build_py creating build/lib/ironic_python_agent/tests copying ironic_python_agent/tests/__init__.py -> build/lib/ironic_python_agent/tests creating build/lib/ironic_python_agent/extensions copying ironic_python_agent/extensions/rescue.py -> build/lib/ironic_python_agent/extensions copying ironic_python_agent/extensions/poll.py -> build/lib/ironic_python_agent/extensions copying ironic_python_agent/extensions/image.py -> build/lib/ironic_python_agent/extensions copying ironic_python_agent/extensions/standby.py -> build/lib/ironic_python_agent/extensions copying ironic_python_agent/extensions/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/deploy.py -> build/lib/ironic_python_agent/extensions copying ironic_python_agent/extensions/service.py -> build/lib/ironic_python_agent/extensions copying ironic_python_agent/extensions/__init__.py -> build/lib/ironic_python_agent/extensions copying ironic_python_agent/extensions/flow.py -> build/lib/ironic_python_agent/extensions copying ironic_python_agent/extensions/system.py -> build/lib/ironic_python_agent/extensions copying ironic_python_agent/extensions/clean.py -> build/lib/ironic_python_agent/extensions creating build/lib/ironic_python_agent/metrics_lib copying ironic_python_agent/metrics_lib/metrics.py -> build/lib/ironic_python_agent/metrics_lib copying ironic_python_agent/metrics_lib/metrics_statsd.py -> build/lib/ironic_python_agent/metrics_lib copying ironic_python_agent/metrics_lib/metrics_collector.py -> build/lib/ironic_python_agent/metrics_lib copying ironic_python_agent/metrics_lib/__init__.py -> build/lib/ironic_python_agent/metrics_lib copying ironic_python_agent/metrics_lib/metrics_utils.py -> build/lib/ironic_python_agent/metrics_lib 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/__init__.py -> build/lib/ironic_python_agent/hardware_managers copying ironic_python_agent/hardware_managers/mlnx.py -> build/lib/ironic_python_agent/hardware_managers creating build/lib/ironic_python_agent/tests/unit/hardware_managers/nvidia copying ironic_python_agent/tests/unit/hardware_managers/nvidia/test_nvidia_fw_update.py -> build/lib/ironic_python_agent/tests/unit/hardware_managers/nvidia copying ironic_python_agent/tests/unit/hardware_managers/nvidia/__init__.py -> build/lib/ironic_python_agent/tests/unit/hardware_managers/nvidia creating build/lib/ironic_python_agent/tests/functional copying ironic_python_agent/tests/functional/base.py -> build/lib/ironic_python_agent/tests/functional copying ironic_python_agent/tests/functional/__init__.py -> build/lib/ironic_python_agent/tests/functional copying ironic_python_agent/tests/functional/test_commands.py -> build/lib/ironic_python_agent/tests/functional creating build/lib/ironic_python_agent/tests/unit/extensions copying ironic_python_agent/tests/unit/extensions/test_base.py -> build/lib/ironic_python_agent/tests/unit/extensions copying ironic_python_agent/tests/unit/extensions/test_flow.py -> build/lib/ironic_python_agent/tests/unit/extensions copying ironic_python_agent/tests/unit/extensions/test_deploy.py -> build/lib/ironic_python_agent/tests/unit/extensions copying ironic_python_agent/tests/unit/extensions/test_rescue.py -> build/lib/ironic_python_agent/tests/unit/extensions copying ironic_python_agent/tests/unit/extensions/test_poll.py -> build/lib/ironic_python_agent/tests/unit/extensions copying ironic_python_agent/tests/unit/extensions/__init__.py -> build/lib/ironic_python_agent/tests/unit/extensions copying ironic_python_agent/tests/unit/extensions/test_clean.py -> build/lib/ironic_python_agent/tests/unit/extensions copying ironic_python_agent/tests/unit/extensions/test_log.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_standby.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/api copying ironic_python_agent/api/app.py -> build/lib/ironic_python_agent/api copying ironic_python_agent/api/__init__.py -> build/lib/ironic_python_agent/api copying ironic_python_agent/disk_partitioner.py -> build/lib/ironic_python_agent copying ironic_python_agent/raid_utils.py -> build/lib/ironic_python_agent copying ironic_python_agent/inspect.py -> build/lib/ironic_python_agent copying ironic_python_agent/netutils.py -> build/lib/ironic_python_agent copying ironic_python_agent/partition_utils.py -> build/lib/ironic_python_agent copying ironic_python_agent/errors.py -> build/lib/ironic_python_agent copying ironic_python_agent/ironic_api_client.py -> build/lib/ironic_python_agent copying ironic_python_agent/encoding.py -> build/lib/ironic_python_agent copying ironic_python_agent/efi_utils.py -> build/lib/ironic_python_agent copying ironic_python_agent/tls_utils.py -> build/lib/ironic_python_agent copying ironic_python_agent/version.py -> build/lib/ironic_python_agent copying ironic_python_agent/disk_utils.py -> build/lib/ironic_python_agent copying ironic_python_agent/mdns.py -> build/lib/ironic_python_agent copying ironic_python_agent/__init__.py -> build/lib/ironic_python_agent copying ironic_python_agent/inject_files.py -> build/lib/ironic_python_agent copying ironic_python_agent/hardware.py -> build/lib/ironic_python_agent copying ironic_python_agent/config.py -> build/lib/ironic_python_agent copying ironic_python_agent/burnin.py -> build/lib/ironic_python_agent copying ironic_python_agent/device_hints.py -> build/lib/ironic_python_agent copying ironic_python_agent/dmi_inspector.py -> build/lib/ironic_python_agent copying ironic_python_agent/utils.py -> build/lib/ironic_python_agent copying ironic_python_agent/inspector.py -> build/lib/ironic_python_agent copying ironic_python_agent/agent.py -> build/lib/ironic_python_agent copying ironic_python_agent/numa_inspector.py -> build/lib/ironic_python_agent copying ironic_python_agent/qemu_img.py -> build/lib/ironic_python_agent 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_base.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/base.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_multi_hardware_clean_steps.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_numa_inspector.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/dmi_inspector_data.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_encoding.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/__init__.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_mdns.py -> build/lib/ironic_python_agent/tests/unit copying ironic_python_agent/tests/unit/test_partition_utils.py -> build/lib/ironic_python_agent/tests/unit copying ironic_python_agent/tests/unit/test_agent.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_burnin.py -> build/lib/ironic_python_agent/tests/unit copying ironic_python_agent/tests/unit/test_device_hints.py -> build/lib/ironic_python_agent/tests/unit copying ironic_python_agent/tests/unit/test_ironic_api_client.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_qemu_img.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_hardware.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/hardware_managers/test_cna.py -> build/lib/ironic_python_agent/tests/unit/hardware_managers copying ironic_python_agent/tests/unit/hardware_managers/__init__.py -> build/lib/ironic_python_agent/tests/unit/hardware_managers copying ironic_python_agent/tests/unit/hardware_managers/test_mlnx.py -> build/lib/ironic_python_agent/tests/unit/hardware_managers creating build/lib/ironic_python_agent/cmd copying ironic_python_agent/cmd/inspect.py -> build/lib/ironic_python_agent/cmd copying ironic_python_agent/cmd/__init__.py -> build/lib/ironic_python_agent/cmd copying ironic_python_agent/cmd/agent.py -> build/lib/ironic_python_agent/cmd running egg_info creating ironic_python_agent.egg-info writing ironic_python_agent.egg-info/PKG-INFO writing dependency_links to ironic_python_agent.egg-info/dependency_links.txt writing entry points to ironic_python_agent.egg-info/entry_points.txt writing requirements to ironic_python_agent.egg-info/requires.txt writing top-level names to ironic_python_agent.egg-info/top_level.txt [pbr] Processing SOURCES.txt writing manifest file 'ironic_python_agent.egg-info/SOURCES.txt' warning: no files found matching 'AUTHORS' warning: no files found matching 'ChangeLog' warning: no previously-included files found matching '.gitignore' warning: no previously-included files found matching '.gitreview' warning: no previously-included files matching '*.pyc' found anywhere in distribution adding license file 'LICENSE' writing manifest file 'ironic_python_agent.egg-info/SOURCES.txt' running install_lib creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/disk_partitioner.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/raid_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api copying build/lib/ironic_python_agent/api/app.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api copying build/lib/ironic_python_agent/api/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api copying build/lib/ironic_python_agent/inspect.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/netutils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/partition_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/errors.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/ironic_api_client.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/encoding.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd copying build/lib/ironic_python_agent/cmd/inspect.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd copying build/lib/ironic_python_agent/cmd/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd copying build/lib/ironic_python_agent/cmd/agent.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd copying build/lib/ironic_python_agent/efi_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/tls_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/version.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/disk_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/mdns.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/inject_files.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_efi_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_netutils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_base.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_inject_files.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/base.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_dmi_inspector.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_multi_hardware_clean_steps.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_disk_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_numa_inspector.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_inspector.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/dmi_inspector_data.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_disk_partitioner.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_encoding.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_multi_hardware.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_api.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_mdns.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_partition_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_agent.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_burnin.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_device_hints.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_ironic_api_client.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_tls_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_qemu_img.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_base.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_flow.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_deploy.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_rescue.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_poll.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_clean.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_log.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_service.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_standby.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_image.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/test_errors.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_hardware.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_raid_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/nvidia copying build/lib/ironic_python_agent/tests/unit/hardware_managers/nvidia/test_nvidia_fw_update.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/nvidia copying build/lib/ironic_python_agent/tests/unit/hardware_managers/nvidia/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/nvidia copying build/lib/ironic_python_agent/tests/unit/hardware_managers/test_cna.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers copying build/lib/ironic_python_agent/tests/unit/hardware_managers/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers copying build/lib/ironic_python_agent/tests/unit/hardware_managers/test_mlnx.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers copying build/lib/ironic_python_agent/tests/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional copying build/lib/ironic_python_agent/tests/functional/base.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional copying build/lib/ironic_python_agent/tests/functional/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional copying build/lib/ironic_python_agent/tests/functional/test_commands.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional copying build/lib/ironic_python_agent/hardware.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/config.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/burnin.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/device_hints.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib copying build/lib/ironic_python_agent/metrics_lib/metrics.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib copying build/lib/ironic_python_agent/metrics_lib/metrics_statsd.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib copying build/lib/ironic_python_agent/metrics_lib/metrics_collector.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib copying build/lib/ironic_python_agent/metrics_lib/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib copying build/lib/ironic_python_agent/metrics_lib/metrics_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib copying build/lib/ironic_python_agent/dmi_inspector.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/rescue.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/poll.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/image.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/standby.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/log.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/base.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/deploy.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/service.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/flow.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/system.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/clean.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/inspector.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/agent.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/numa_inspector.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers copying build/lib/ironic_python_agent/hardware_managers/cna.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers copying build/lib/ironic_python_agent/hardware_managers/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers copying build/lib/ironic_python_agent/hardware_managers/mlnx.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers copying build/lib/ironic_python_agent/qemu_img.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/disk_partitioner.py to disk_partitioner.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/raid_utils.py to raid_utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api/app.py to app.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/inspect.py to inspect.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/netutils.py to netutils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/partition_utils.py to partition_utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/errors.py to errors.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/ironic_api_client.py to ironic_api_client.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/encoding.py to encoding.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd/inspect.py to inspect.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd/agent.py to agent.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/efi_utils.py to efi_utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tls_utils.py to tls_utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/version.py to version.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/disk_utils.py to disk_utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/mdns.py to mdns.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/inject_files.py to inject_files.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_efi_utils.py to test_efi_utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_netutils.py to test_netutils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_base.py to test_base.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_inject_files.py to test_inject_files.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/base.py to base.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_dmi_inspector.py to test_dmi_inspector.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_multi_hardware_clean_steps.py to test_multi_hardware_clean_steps.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_disk_utils.py to test_disk_utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_numa_inspector.py to test_numa_inspector.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_inspector.py to test_inspector.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/dmi_inspector_data.py to dmi_inspector_data.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_disk_partitioner.py to test_disk_partitioner.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_encoding.py to test_encoding.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_multi_hardware.py to test_multi_hardware.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_api.py to test_api.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_mdns.py to test_mdns.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_partition_utils.py to test_partition_utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_agent.py to test_agent.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_utils.py to test_utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_burnin.py to test_burnin.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_device_hints.py to test_device_hints.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_ironic_api_client.py to test_ironic_api_client.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_tls_utils.py to test_tls_utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_qemu_img.py to test_qemu_img.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_base.py to test_base.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_flow.py to test_flow.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_deploy.py to test_deploy.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_rescue.py to test_rescue.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_poll.py to test_poll.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_clean.py to test_clean.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_log.py to test_log.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_service.py to test_service.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_standby.py to test_standby.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_image.py to test_image.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_errors.py to test_errors.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_hardware.py to test_hardware.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_raid_utils.py to test_raid_utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/nvidia/test_nvidia_fw_update.py to test_nvidia_fw_update.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/nvidia/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/test_cna.py to test_cna.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/test_mlnx.py to test_mlnx.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional/base.py to base.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional/test_commands.py to test_commands.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware.py to hardware.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/config.py to config.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/burnin.py to burnin.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/device_hints.py to device_hints.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib/metrics.py to metrics.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib/metrics_statsd.py to metrics_statsd.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib/metrics_collector.py to metrics_collector.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib/metrics_utils.py to metrics_utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/dmi_inspector.py to dmi_inspector.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/utils.py to utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/rescue.py to rescue.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/poll.py to poll.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/image.py to image.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/standby.py to standby.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/log.py to log.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/base.py to base.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/deploy.py to deploy.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/service.py to service.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/flow.py to flow.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/system.py to system.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/clean.py to clean.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/inspector.py to inspector.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/agent.py to agent.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/numa_inspector.py to numa_inspector.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers/cna.py to cna.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers/mlnx.py to mlnx.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/qemu_img.py to qemu_img.cpython-313.pyc running install_egg_info Copying ironic_python_agent.egg-info to /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent-10.2.0.egg-info Skipping SOURCES.txt running install_scripts Installing ironic-collect-introspection-data script to /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/bin Installing ironic-python-agent script to /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/bin + pwd + rm -rf /build/reproducible-path/ironic-python-agent-10.2.0/debian/python*/usr/lib/python*/dist-packages/*.pth + pwd + rm -rf /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python*/dist-packages/*.pth # Failing under riscv: # extensions.test_standby.TestStandbyExtension.test_execute_bootc_install pkgos-dh_auto_test --no-py2 'ironic_python_agent\.tests\.unit\.(?!test_inspector\.TestWaitForDhcp\.test_timeout|extensions\.test_standby\.TestStandbyExtension\.test_execute_bootc_install)' + PKGOS_TEST_PARALLEL=yes + PKGOS_TEST_SERIAL=no + PYTHONS=disabled + PYTHON3S=disabled + TEST_PARALLEL_OPT=--parallel + TEST_SERIAL_OPT= + echo WARNING: --no-py2 is deprecated, and always on. WARNING: --no-py2 is deprecated, and always on. + shift + py3versions -vr + PYTHON3S=3.13 + [ yes = no ] + [ no = yes ] + [ 3.13 = disabled ] + echo 3.13 + cut -d. -f1 + PYMAJOR=3 + echo ===> Testing with python (python3) ===> Testing with python (python3) + pwd + [ -d /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages ] + [ -z ] + pwd + echo Implicitly adding PYTHONPATH=/build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages Implicitly adding PYTHONPATH=/build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages + pwd + export PYTHONPATH=/build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages + [ -e .stestr.conf ] + [ -x /usr/bin/python3-stestr ] + STESTR=stestr + rm -rf .stestr + PYTHON=python3.13 stestr run --parallel --subunit ironic_python_agent\.tests\.unit\.(?!test_inspector\.TestWaitForDhcp\.test_timeout|extensions\.test_standby\.TestStandbyExtension\.test_execute_bootc_install) + subunit2pyunit ERROR [root] Tried to execute fake.fake_sync_command, agent is still executing Command name: name, params: {}, status: RUNNING, result: None. WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. ERROR [root] Command failed: fake_async_command, error: An error occurred: failed Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/extensions/test_base.py", line 38, in fake_async_command raise ExecutionError() ironic_python_agent.tests.unit.extensions.test_base.ExecutionError: An error occurred: failed WARNING [root] Device /dev/fake1 is inaccessible, skipping... Error: nope ERROR [root] Failed to move file: /firmware_images/fw1.bin, ERROR [root] Failed to query firmware of device : Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ERROR [ironic_python_agent.burnin] SMART test on /dev/sdj failed with 'string' ERROR [root] Unexpected exception performing clean step erase_devices. RuntimeError: boom Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/clean.py", line 76, in execute_clean_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect RuntimeError: boom 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 ERROR [root] Command failed: execute_clean_step, error: Clean step failed: Unexpected exception performing clean step erase_devices. RuntimeError: boom Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/clean.py", line 76, in execute_clean_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect RuntimeError: boom During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/clean.py", line 87, in execute_clean_step raise errors.CleaningError(msg) ironic_python_agent.errors.CleaningError: Clean step failed: Unexpected exception performing clean step erase_devices. RuntimeError: boom WARNING [ironic_python_agent.efi_utils] Empty EFI partition detected. ERROR [root] Unexpected exception performing deploy step erase_devices. RuntimeError: boom Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/deploy.py", line 76, in execute_deploy_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect RuntimeError: boom ERROR [root] Command failed: execute_deploy_step, error: Deploy step failed: Unexpected exception performing deploy step erase_devices. RuntimeError: boom Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/deploy.py", line 76, in execute_deploy_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect RuntimeError: boom During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/deploy.py", line 87, in execute_deploy_step raise errors.DeploymentError(msg) ironic_python_agent.errors.DeploymentError: Deploy step failed: Unexpected exception performing deploy step erase_devices. RuntimeError: boom ERROR [root] Invalid content error: Invalid request body: baz Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 268, in execute_command result = ext.execute(command_part, **kwargs) File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect ironic_python_agent.errors.InvalidContentError: Invalid request body: baz WARNING [ironic_python_agent.extensions.image] Falling back to fstab entry addition label of UUID. We could not identify which UUID or PARTUUID identifier label should be used, thus UUID will be used. ERROR [ironic_python_agent.efi_utils] Could not configure UEFI boot on device /dev/fake: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/efi_utils.py", line 131, in manage_uefi utils.execute('mount', efi_partition, efi_partition_mount_point) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 3, in do_not_call File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None ERROR [root] Failed to open URL data: HTTP Error 500: Internal Error WARNING [ironic_python_agent.inspector] failed to get system journal ERROR [root] Error performing clean step erase_devices Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/clean.py", line 76, in execute_clean_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot WARNING [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 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-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/clean.py", line 76, in execute_clean_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot ERROR [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] Error performing deploy step erase_devices Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/deploy.py", line 76, in execute_deploy_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot ERROR [root] Failed to query tool configuration of device : Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None 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: Block device caused unknown error: I'm a teapot Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/deploy.py", line 76, in execute_deploy_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot ERROR [root] Failed to open URL data: 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 WARNING [root] Attempted to invoke multipath utilities, but we encountered an error: ERROR [ironic_python_agent.disk_utils] Unable to stat device /dev/disk/by-path/ip-1.2.3.4:5678-iscsi-iqn.fake-lun-9 after attempting to verify 3 times. ERROR [root] Command execution error: Command execution failed: foo bar baz Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 268, in execute_command result = ext.execute(command_part, **kwargs) File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect ironic_python_agent.errors.CommandExecutionError: Command execution failed: foo bar baz ERROR [ironic_python_agent.efi_utils] Could not configure UEFI boot on device /dev/fake: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/efi_utils.py", line 185, in manage_uefi _run_efibootmgr(valid_efi_bootloaders, efi_dev, efi_part, ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ efi_partition_mount_point) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/efi_utils.py", line 351, in _run_efibootmgr boot_records = list(get_boot_records()) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/efi_utils.py", line 282, in get_boot_records efi_output = utils.execute('efibootmgr', '-v', binary=True) File "", line 3, in do_not_call File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1232, in _execute_mock_call raise result oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None ERROR [ironic_python_agent.efi_utils] Umounting efi system partition failed. Attempted 3 times. Error: Unexpected error while running command. Command: None Exit code: - Stdout: 'no umount' Stderr: None ERROR [root] Command failed: sleep, error: An error occurred: An unexpected error occurred. Please try back later. Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/extensions/test_flow.py", line 41, in sleep time.sleep(sleep_info['time']) ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect ironic_python_agent.errors.RESTError: An error occurred: An unexpected error occurred. Please try back later. ERROR [root] Command failed: start_flow, error: Command execution failed: fake.sleep was failed Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/flow.py", line 44, in start_flow raise errors.CommandExecutionError( "%s was failed" % method ) ironic_python_agent.errors.CommandExecutionError: Command execution failed: fake.sleep was failed ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version response = self._request('GET', '/') File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 90, in _request resp = self.session.request(method, request_url, ...<4 lines>... timeout=CONF.http_request_timeout, **kwargs) File "", line 3, in request File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect Exception: Boom ERROR [root] Failed to query firmware of device : Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None /build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_tls_utils.py:57: CryptographyDeprecationWarning: Properties that return a naïve datetime object have been deprecated. Please switch to not_valid_before_utc. self.assertLess(cert.not_valid_before, /build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_tls_utils.py:59: CryptographyDeprecationWarning: Properties that return a naïve datetime object have been deprecated. Please switch to not_valid_after_utc. self.assertGreater(cert.not_valid_after, ERROR [root] Malformed clean_step, no "step" key: {} ERROR [root] Command failed: execute_clean_step, error: Malformed clean_step, no "step" key: {} Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/clean.py", line 73, in execute_clean_step raise ValueError(msg) ValueError: Malformed clean_step, no "step" key: {} ERROR [root] duplicate settings for device ID 1017 ERROR [root] Malformed deploy_step, no "step" key: {} ERROR [root] Command failed: execute_deploy_step, error: Malformed deploy_step, no "step" key: {} Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/deploy.py", line 72, in execute_deploy_step raise ValueError(msg) ValueError: Malformed deploy_step, no "step" key: {} WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda1. Skipping ERROR [ironic_python_agent.efi_utils] Could not configure UEFI boot on device /dev/fake: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/efi_utils.py", line 185, in manage_uefi _run_efibootmgr(valid_efi_bootloaders, efi_dev, efi_part, ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ efi_partition_mount_point) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/efi_utils.py", line 351, in _run_efibootmgr boot_records = list(get_boot_records()) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/efi_utils.py", line 282, in get_boot_records efi_output = utils.execute('efibootmgr', '-v', binary=True) File "", line 3, in do_not_call File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1232, in _execute_mock_call raise result oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None ironic_python_agent.tests.unit.test_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr ironic_python_agent.tests.unit.test_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr ... ok ERROR [root] There is no deviceID provided for this settings ERROR [root] Failed to set configuration of device , ['SRIOV_EN=20']: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None WARNING [root] No hardware manager was able to handle interface foobar 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_disk_utils.MakePartitionsTestCase.test_make_partitions ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions ... ok WARNING [ironic_python_agent.netutils] LLDP timed out, remaining interfaces: [('eth0', ), ('eth1', )] WARNING [root] Attempted to determine if multipath tools were present. Not detected. Error recorded: ironic-python-agent: Device sdh was disqualified as virtual media. Type: other, Transport: usb ERROR [root] Mismatch provided checksum a94e683ea16d9ae44768f0a65942234d for image http://10.10.10.10/firmware_images/fw1.bin ERROR [root] Command failed: sleep, error: foo Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/extensions/test_flow.py", line 41, in sleep time.sleep(sleep_info['time']) ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1232, in _execute_mock_call raise result Exception: foo WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping ERROR [root] Configuraiton ESWITCH_HAIRPIN_TOT_BUFFER_SIZE[8] for device is not supported with current fw WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sdb. Skipping 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 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping 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.netutils] Trailing byte received in an LLDP package: b'5' WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md1. Skipping ERROR [root] Command failed: start_flow, error: Command execution failed: fake.sleep was failed Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/flow.py", line 44, in start_flow raise errors.CommandExecutionError( "%s was failed" % method ) ironic_python_agent.errors.CommandExecutionError: Command execution failed: fake.sleep was failed ironic-python-agent: Excluding device sdh1 from virtual mediaconsideration as it is a partition. WARNING [ironic_python_agent.ironic_api_client] Got invalid node data in response to query for node with addresses '00:0c:29:8c:11:b1,00:0c:29:8c:11:b2' from http://agent-api.ironic.example.org: {'node_node': 'also_not_node'} WARNING [ironic_python_agent.disk_utils] Unable to get partition table type for device hello WARNING [root] Cannot find detailed information about interface eth0 ERROR [root] Extension do not found Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 267, in execute_command ext = self.get_extension(extension_part) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 238, in get_extension ext = self.ext_mgr[extension_name].obj ~~~~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/stevedore/extension.py", line 340, in __getitem__ return self._extensions_by_name[name] ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ KeyError: 'do' ERROR [root] Configuraiton: UNSUPPORTED_PARAM is not supported by mstconfig, please update to the latest mstflint package. 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 WARNING [ironic_python_agent.ironic_api_client] Failed looking up node with addresses '00:0c:29:8c:11:b1,00:0c:29:8c:11:b2' at http://agent-api.ironic.example.org. Check if inspection has completed? Error 400: {"node": {"uuid": "deadbeef-dabb-ad00-b105-f00d00bab10c"}} ERROR [root] The provided psid MT_0000000227 does not match the image psid MT_0000000228 ERROR [root] Clean version mismatch for command execute_clean_step 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_deploy.TestDeployExtension.test_execute_deploy_step ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step ... ok ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_correct_mac ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_correct_mac ... ok ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_pxelinux_mac ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_pxelinux_mac ... ok WARNING [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.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 ERROR [root] Clean version mismatch for command execute_deploy_step ironic-python-agent: Device sdh was disqualified as virtual media. Type: disk, Transport: sata 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 WARNING [root] Cannot find detailed information about interface eth0 ERROR [root] The provided firmware version 20.34.1012 does not match image firmware version 20.35.1012 WARNING [ironic_python_agent.ironic_api_client] Got invalid heartbeat from the API: {'node': {'uuid': 'deadbeef-dabb-ad00-b105-f00d00bab10c'}} WARNING [ironic_python_agent.netutils] LLDP timed out, remaining interfaces: [('eth1', )] ironic-python-agent: Device sdh was disqualified as virtual media. Type: other, Transport: scsi ERROR [ironic_python_agent.extensions.poll] Node lookup data can only be set when the Ironic Python Agent is running in standalone mode. ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow WARNING [root] The root device was not detected in 27 seconds 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 ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_already_running ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_already_running ... ok ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_lacking_support ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_lacking_support ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_md5 ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_md5 ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_sha256 ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_sha256 ... ok ERROR [root] Command failed: fake_async_command, error: An error occurred: failed Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/extensions/test_base.py", line 38, in fake_async_command raise ExecutionError() ironic_python_agent.tests.unit.extensions.test_base.ExecutionError: An error occurred: failed ERROR [root] Command failed: install_bootloader, error: meow Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/image.py", line 721, in install_bootloader _install_grub2(device, ~~~~~~~~~~~~~~^^^^^^^^ root_uuid=root_uuid, ^^^^^^^^^^^^^^^^^^^^ efi_system_part_uuid=efi_system_part_uuid, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ prep_boot_part_uuid=prep_boot_part_uuid, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ target_boot_mode=target_boot_mode) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 3, in _install_grub2 File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect OSError: meow 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 ... 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 ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data_no_data ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data_no_data ... ok ERROR [ironic_python_agent.netutils] Socket for network interface eth0 said that it was ready to read we were unable to read from the socket while trying to get LLDP packet. Skipping this network interface. Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/netutils.py", line 197, in _get_lldp_info lldp_info[interface[0]] = _receive_lldp_packets(s) ~~~~~~~~~~~~~~~~~~~~~^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/netutils.py", line 160, in _receive_lldp_packets pkt = sock.recv(1600) File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect OSError: BOOM WARNING [root] Cannot find detailed information about interface bond0 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: Copying configuration from /tmp/tmpfjv2_7v9/etc/ironic-python-agent to /etc/ironic-python-agent ironic-python-agent: Copying configuration from /tmp/tmpfjv2_7v9/etc/ironic-python-agent.d to /etc/ironic-python-agent.d ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool_exception ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool_exception ... ok ERROR [root] No partition with UUID 11111111-2222-3333-4444-555555555555 found on device /dev/fake ironic-python-agent: Was unable to execute the lsblk command. Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None WARNING [root] The root device was not detected in 45 seconds ironic_python_agent.tests.unit.test_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr_no_bootloaders ironic_python_agent.tests.unit.test_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr_no_bootloaders ... ok ironic-python-agent: Copying configuration from /tmp/tmpko5jydox/etc/ironic-python-agent to /etc/ironic-python-agent ironic-python-agent: Copying configuration from /tmp/tmpko5jydox/etc/ironic-python-agent.d to /etc/ironic-python-agent.d 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 WARNING [root] Cannot find detailed information about interface eth0 WARNING [root] Something went wrong when readlink for interface eth2. Error: fake ironic-python-agent: Did not identify any virtual media candidates devices. ERROR [ironic_python_agent.netutils] Failed to open all RawPromiscuousSockets, attempting to close any opened sockets. ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow WARNING [root] The root device was not detected in 27 seconds ironic-python-agent: /some/path/etc/ironic-python-agent not found ironic-python-agent: /some/path/etc/ironic-python-agent.d not found ERROR [root] Duplicate componentFlavor MT_0000000540 ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command. Command: None Exit code: - Stdout: 'boop' Stderr: None WARNING [ironic_python_agent.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: ERROR [ironic_python_agent.disk_utils] Security: Image matched multiple potential formats Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/disk_utils.py", line 381, in _image_inspection inspector_cls = format_inspector.detect_file_format(filename) File "", line 3, in detect_file_format File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect oslo_utils.imageutils.format_inspector.ImageFormatError ironic-python-agent: /tmp/tmpocajnh5v/etc/ironic-python-agent not found ironic-python-agent: /tmp/tmpocajnh5v/etc/ironic-python-agent.d not found ERROR [root] Invalid parameters for image {'url': 'http://10.10.10.10/firmware_images/fw2.bin', 'checksum': 'a94e683ea16d9ae44768f0a65942234c', 'checksumType': 'sha512', 'component': 'MT_0000000652', 'version': '24.34.1002'},please provide the following parameters url, checksum, checksumType, componentFlavor, version ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow WARNING [root] Cannot find detailed information about interface eth0 WARNING [root] Failed to create rescue state file marker: Failed to write file ironic-python-agent: No virtual media device detected WARNING [ironic_python_agent.device_hints] The attribute "model" of the device "/dev/sda" has an empty value. Skipping device. WARNING [ironic_python_agent.device_hints] No device found that matches the root device hints {'model': 'foo'} ERROR [root] Failed Prerequisite check. Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ironic-python-agent: Cannot use configuration from virtual media as the agent was not booted from virtual media. ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow ERROR [ironic_python_agent.disk_utils] Security: Image failed safety check Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/disk_utils.py", line 386, in _image_inspection inspector_cls.safety_check() ~~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_disk_utils.py", line 58, in safety_check raise format_inspector.SafetyCheckFailed( failures={'mockfail': format_inspector.SafetyViolation()} ) oslo_utils.imageutils.format_inspector.SafetyCheckFailed: Safety checks failed: mockfail WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0010333061218261719 seconds. Error: Received status code 401 from http://example.org, expected 200. Response body: Unauthorized Response headers: WARNING [root] Mismatched hardware managers versions. Agent version: {'specific': '1'}, node version: {'not_specific': '1'} 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.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition ... ok WARNING [root] Cannot find detailed information about interface eth0 ERROR [root] Encountered issue attempting to validate the supplied configuration drive. Error: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None WARNING [ironic_python_agent.utils] Failed to unlink /tmp/tmpk3cckdd3/tmp3_6y2_bk, error: [Errno 21] Is a directory: '/tmp/tmpk3cckdd3/tmp3_6y2_bk' 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 ERROR [root] Unexpected exception performing service step erase_devices. RuntimeError: boom Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/service.py", line 76, in execute_service_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect RuntimeError: boom ERROR [ironic_python_agent.utils] foo ERROR [ironic_python_agent.utils] bar ERROR [ironic_python_agent.utils] baz ERROR [ironic_python_agent.utils] foo WARNING [ironic_python_agent.utils] Failed to unlink /tmp/tmpglsbdcwy/tmp5oxlk5r5, error: [Errno 21] Is a directory: '/tmp/tmpglsbdcwy/tmp5oxlk5r5' 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-10.2.0/ironic_python_agent/extensions/service.py", line 76, in execute_service_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect RuntimeError: boom During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/service.py", line 87, in execute_service_step raise errors.ServicingError(msg) ironic_python_agent.errors.ServicingError: Service step failed: Unexpected exception performing service step erase_devices. RuntimeError: boom ERROR [root] Rescue Operation failed when writing the hashed rescue password to the password file. Error Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/rescue.py", line 48, in write_rescue_password with open(PASSWORD_FILE, 'w') as f: ~~~~^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect OSError ironic_python_agent.tests.unit.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 WARNING [root] Cannot find detailed information about interface eth0 WARNING [ironic_python_agent.numa_inspector] Failed to get some NUMA information (Error in NUMA node data format: An unexpected error occurred. Please try back later.) WARNING [ironic_python_agent.utils] Failed to unlink /tmp/tmpu5yuc_z2/tmpz_tbxrw3, error: [Errno 21] Is a directory: '/tmp/tmpu5yuc_z2/tmpz_tbxrw3' WARNING [ironic_python_agent.utils] Failed to unlink /tmp/tmpu5yuc_z2/tmpm8cqml1t, error: [Errno 21] Is a directory: '/tmp/tmpu5yuc_z2/tmpm8cqml1t' 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.device_hints] The attribute "rotational" (with value "None") of device "/dev/sda" is not a valid Boolean. Skipping device. WARNING [ironic_python_agent.extensions.standby] 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.0016837120056152344 seconds. Error: Received status code 500 from http://example.org, expected 200. Response body: Oops Response headers: 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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file_not_found ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file_not_found ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http_err ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http_err ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http_url_err ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http_url_err ... ok ironic_python_agent.tests.unit.test_disk_utils.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 ERROR [root] We were unable to make a new filesystem for the configuration drive. Error: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None WARNING [ironic_python_agent.utils] Failed to unlink /tmp/tmpv6sx0uw6/tmptaivn_1a, error: [Errno 21] Is a directory: '/tmp/tmpv6sx0uw6/tmptaivn_1a' WARNING [ironic_python_agent.utils] Failed to unlink /tmp/tmpv6sx0uw6/tmpt7bzoys4, error: [Errno 21] Is a directory: '/tmp/tmpv6sx0uw6/tmpt7bzoys4' ERROR [root] Error performing service step erase_devices Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/service.py", line 76, in execute_service_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot WARNING [ironic_python_agent.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'. WARNING [root] Cannot find detailed information about interface eth0 ERROR [ironic_python_agent.extensions.image] Installing GRUB2 boot loader to device /dev/fake failed with Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None. ironic_python_agent.tests.unit.test_raid_utils.TestGetNextFreeRaidDevice.test_no_device ironic_python_agent.tests.unit.test_raid_utils.TestGetNextFreeRaidDevice.test_no_device ... ok WARNING [root] Cannot find detailed information about interface eth0.100 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 ironic_python_agent.tests.unit.test_raid_utils.TestGetNextFreeRaidDevice.test_ok ironic_python_agent.tests.unit.test_raid_utils.TestGetNextFreeRaidDevice.test_ok ... ok 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.inspector] Failed to gather numa_node id from PCI device foo: ERROR [root] Command failed: execute_service_step, error: Block device caused unknown error: I'm a teapot Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/service.py", line 76, in execute_service_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/run. Error: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/sys. Error: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None WARNING [ironic_python_agent.numa_inspector] Failed to get some NUMA information (Error in NUMA node data format: An unexpected error occurred. Please try back later.) WARNING [ironic_python_agent.inspector] Failed to gather numa_node id from PCI device bar: WARNING [ironic_python_agent.extensions.standby] Unable to connect to http://example.org, retrying. Error: ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw ... ok ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_exc ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_exc ... 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: Response headers: ERROR [ironic_python_agent.utils] failed to run hardware-detect utility: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None WARNING [ironic_python_agent.device_hints] No device found that matches the root device hints {'size': '>=50', 'model': 's==foo'} ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_ll_fails ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_ll_fails ... ok ironic_python_agent.tests.unit.extensions.test_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.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_fail ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_fail ... ok ironic_python_agent.tests.unit.test_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.extensions.test_log.TestLogExtension.test_collect_system_logs ironic_python_agent.tests.unit.extensions.test_log.TestLogExtension.test_collect_system_logs ... ok ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_empty ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_empty ... ok WARNING [ironic_python_agent.numa_inspector] Failed to get list of NUMA nodes, NUMA node path does not exist: /sys/devices/system/node/ 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_inspector.TestCollectLogs.test ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test ... ok ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test_fail ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test_fail ... ok ironic_python_agent.tests.unit.test_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_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_error ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_error ... ok ironic_python_agent.tests.unit.test_multi_hardware.TestNoHardwareManagerLoading.test_no_managers_found ironic_python_agent.tests.unit.test_multi_hardware.TestNoHardwareManagerLoading.test_no_managers_found ... ok ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_add_partition ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_add_partition ... ok ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit ... ok ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_disconnected ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_disconnected ... ok ERROR [root] Malformed service_step, no "step" key: {} WARNING [root] Cannot find detailed information about interface eth0 WARNING [root] Cannot find detailed information about interface eth0.100 ERROR [root] Command failed: execute_service_step, error: Malformed service_step, no "step" key: {} Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/service.py", line 73, in execute_service_step raise ValueError(msg) ValueError: Malformed service_step, no "step" key: {} WARNING [root] Cannot find detailed information about interface eth0.101 ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_is_always_busy ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_is_always_busy ... ok ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_is_busy_once ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_is_busy_once ... ok ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test__generate ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test__generate ... 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.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 ERROR [ironic_python_agent.utils] JSON returned from hardware-detect cannot be decoded: Expecting value: line 1 column 1 (char 0) ERROR [ironic_python_agent.utils] Failed to get list of PCI devices: ERROR [ironic_python_agent.utils] Failed to sync time using chrony to ntp server: 192.168.1.1: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: 'time verboten' ironic_python_agent.tests.unit.extensions.test_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 ERROR [ironic_python_agent.utils] collector failed: boom ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_execution_failure ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_execution_failure ... ok ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_fields ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_fields ... 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_utils.TestRemoveKeys.test_remove_keys ironic_python_agent.tests.unit.test_utils.TestRemoveKeys.test_remove_keys ... ok WARNING [ironic_python_agent.inspector] no suitable root device detected ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata ... ok ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_busy ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_busy ... ok ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command ... ok ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_invalid_content ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_invalid_content ... ok ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_other_exception ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_other_exception ... ok ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve return _proxy.query(name, rdtype, raise_on_no_answer=raises, ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use_network=use_network) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) ^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver self.clear() ~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear self._resolver = dns.resolver.Resolver(filename=self._filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ self.read_resolv_conf(filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf raise NoResolverConfiguration("no nameservers") dns.resolver.NoResolverConfiguration: no nameservers During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo qname, addrs = _getaddrinfo_lookup(host, family, flags) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup raise err File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup answer = resolve(host, qfamily, False, use_network=use_network) File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve _raise_new_error(EAI_NODATA_ERROR) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error raise error_instance.__class__(*error_instance.args) socket.gaierror: [Errno -2] Name or service not known The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version response = self._request('GET', '/') File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 90, in _request resp = self.session.request(method, request_url, ...<4 lines>... timeout=CONF.http_request_timeout, **kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) 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.agent] Ironic does not support automated TLS WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00030612945556640625 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.00030612945556640625 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0009021759033203125 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.0009021759033203125 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0013294219970703125 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.0013294219970703125 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0017402172088623047 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.0017402172088623047 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0021440982818603516 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.0021440982818603516 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.002542257308959961 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.002542257308959961 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 ... ok ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_driver ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_driver ... ok WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0030946731567382812 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.0030946731567382812 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_driver_notfound ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_driver_notfound ... ok ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_pci_address ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_pci_address ... ok WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0035009384155273438 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_pci_address_notfound ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_pci_address_notfound ... ok 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.0035009384155273438 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config 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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_https ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_https ... ok WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.003968954086303711 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.003968954086303711 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_invalid_url_scheme ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_invalid_url_scheme ... ok WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.004434108734130859 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config ERROR [ironic_python_agent.utils] Unable to sync clock, available methods of 'ntpdate' or 'chrony' not found. ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_exception ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_exception ... ok ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_fail ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_fail ... ok WARNING [ironic_python_agent.device_hints] The attribute "rotational" (with value "None") of device "/dev/sda" is not a valid Boolean. Skipping device. ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_no_step ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_no_step ... ok WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00018405914306640625 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.00018405914306640625 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test_generate ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test_generate ... ok WARNING [ironic_python_agent.utils] Failed to unlink /fake/path, error: 2 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0006623268127441406 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.0006623268127441406 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.000978708267211914 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.000978708267211914 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_clean_boot_records ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_clean_boot_records ... ok WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0012764930725097656 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.0012764930725097656 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0015931129455566406 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.0015931129455566406 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [root] Cannot find detailed information about interface eth0 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0018961429595947266 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.0018961429595947266 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0021810531616210938 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.0021810531616210938 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [root] Cannot find detailed information about interface eth1 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 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0026106834411621094 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.0026106834411621094 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config 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_efi_utils.TestManageUefi.test_failure_after_failure ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure_after_failure ... ok WARNING [root] Cannot find detailed information about interface eth0.100 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0033538341522216797 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config ERROR [ironic_python_agent.agent] error sending heartbeat to Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/agent.py", line 146, in do_heartbeat self.api.heartbeat( ~~~~~~~~~~~~~~~~~~^ uuid=self.agent.get_node_uuid(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<2 lines>... generated_cert=self.agent.generated_cert, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect Exception: uh oh! WARNING [ironic_python_agent.extensions.standby] Image download failed, 8 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0033538341522216797 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure_after_mount ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure_after_mount ... ok WARNING [root] Cannot find detailed information about interface eth0.101 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.003692150115966797 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config 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.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_4096 ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_4096 ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw_exception ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw_exception ... ok ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_fresh ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_fresh ... ok ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_set_via_conf ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_set_via_conf ... ok ironic_python_agent.tests.unit.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_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_base.TestExecuteCommandMixin.test_execute_invalid_command ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_invalid_command ... ok ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed ... ok ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_custom_attempts ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_custom_attempts ... ok ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_fails ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_fails ... ok ironic_python_agent.tests.unit.hardware_managers.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.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_utils.TestCheckVirtualMedia.test_check_vmedia_device ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device ... ok ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_other ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_other ... ok WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0002033710479736328 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.0002033710479736328 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_normal ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_normal ... 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' ok WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0007083415985107422 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config 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.extensions.standby] Image download failed, 1 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0007083415985107422 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_gpt ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_gpt ... ok WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0012023448944091797 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config 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.extensions.standby] Image download failed, 2 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0012023448944091797 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config 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 ... WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0015969276428222656 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config ok WARNING [ironic_python_agent.extensions.standby] Image download failed, 3 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0015969276428222656 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config 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.extensions.test_base.TestExtensionDecorators.test_sync_command_name ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_name ... ok WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.002227783203125 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config 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 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.002227783203125 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_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_disk_utils.GetPartitionTableTypeTestCase.test_msdos ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_msdos ... ok WARNING [ironic_python_agent.dmi_inspector] Failed to parse Handle type in dmi output: list index out of range WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0037636756896972656 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.0037636756896972656 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.004467964172363281 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.004467964172363281 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0049037933349609375 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.0049037933349609375 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.005325794219970703 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.005325794219970703 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.005709648132324219 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 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.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_disk_utils.TriggerDeviceRescanTestCase.test_trigger ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_trigger ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_fw ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_fw ... ok ironic_python_agent.tests.unit.test_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_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_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_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_body ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_body ... ok ironic_python_agent.tests.unit.test_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_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 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.TestNvidiaNicFirmwareOps.test__query_device ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test__query_device ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed_with_reset ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed_with_reset ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_get_nic_psid ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_get_nic_psid ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_is_image_changed_true ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_is_image_changed_true ... ok ERROR [root] Clean version mismatch for command execute_service_step WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00020766258239746094 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.00020766258239746094 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.001184225082397461 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.001184225082397461 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config 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 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0017180442810058594 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.0017180442810058594 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output ... ok WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0020246505737304688 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.0020246505737304688 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config 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 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.002313852310180664 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.002313852310180664 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.002606630325317383 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.002606630325317383 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0028886795043945312 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.0028886795043945312 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.003616809844970703 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.003616809844970703 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.004026889801025391 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.004026889801025391 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.004312038421630859 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config 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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_duplicate_device_id ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_duplicate_device_id ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_invalid_firmware_settings_config ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_invalid_firmware_settings_config ... ok ironic_python_agent.tests.unit.test_hardware.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__load_ipmi_modules_fail ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__load_ipmi_modules_fail ... ok ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_missing ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_missing ... ok ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_partuuid_success ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_partuuid_success ... ok WARNING [ironic_python_agent.utils] Unable to unmount temporary location /mnt/fake: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_code ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_code ... ok ironic_python_agent.tests.unit.test_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.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_standby.TestImageDownload.test_download_image_and_checksum_md5 ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_md5 ... ok ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success ... ok ERROR [root] Command failed: foo_command, error: command execution failed Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_agent.py", line 44, in foo_execute raise EXPECTED_ERROR RuntimeError: command execution failed WARNING [root] Cannot find detailed information about interface eth0 ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success_raid ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success_raid ... ok ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_wrong_block_type ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_wrong_block_type ... ok ironic_python_agent.tests.unit.test_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 ... WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0014293193817138672 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.0014293193817138672 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.002020120620727539 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.002020120620727539 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: 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 ... WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0025625228881835938 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.0025625228881835938 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: 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 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0037174224853515625 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.0037174224853515625 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: 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.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_partition_utils.TestGetPartition.test ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test ... 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.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_md5 ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_md5 ... ok ironic_python_agent.tests.unit.extensions.test_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 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.008559942245483398 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.008559942245483398 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_mstflint_package ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_mstflint_package ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_prepare_nvidia_nic_config ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_prepare_nvidia_nic_config ... ok WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.009951591491699219 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: 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 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.009951591491699219 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: 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 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.010863065719604492 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.010863065719604492 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: 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.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.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.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_partition_utils.TestGetPartition.test_command_fail ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_command_fail ... ok WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.012071847915649414 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.012071847915649414 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: 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] URL: http://example.org; time: 0.012837409973144531 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.012837409973144531 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: 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 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.013315677642822266 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: 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_netutils.TestNetutils.test_get_lldp_info_one_empty_interface ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_one_empty_interface ... ok ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete ... ok ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_rom ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_rom ... ok ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_sata ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_sata ... ok ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_scsi ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_scsi ... ok ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_no_step ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_no_step ... ok ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_tuple_result ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_tuple_result ... ok ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_unknown_extension ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_unknown_extension ... 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_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.extensions.test_poll.TestPollExtension.test_get_hardware_info_success ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_get_hardware_info_success ... ok WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/md/esp using the install command which does not place Secure Boot signed binaries. ironic_python_agent.tests.unit.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 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'. ... ok WARNING [ironic_python_agent.extensions.image] Ignoring GRUB2 boot loader installation failure: Unexpected error while running command. Command: grub2-install Exit code: 1 Stdout: '' Stderr: 'grub2-install: error: this utility cannot be used for EFI platforms because it does not support UEFI Secure Boot.\n'. ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_fw_version ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_fw_version ... ok ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_correct ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_correct ... 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_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.test_inject_files.TestInjectOne.test_delete_not_exists ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete_not_exists ... ok ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content ... ok ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_correct_gpt_nvme ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_correct_gpt_nvme ... ok WARNING [root] Unable to tell the kernel to drop caches: WARNING [root] Cannot flush buffers of device /dev/sda: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None WARNING [root] Cannot flush buffers of device /dev/nvme0n1: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_no_mlnx ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_no_mlnx ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_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_netutils.TestNetutils.test_get_lldp_info_socket_recv_error ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_socket_recv_error ... ok ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels ... ok ironic_python_agent.tests.unit.test_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_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_api.TestIronicAPI.test_execute_agent_command_params_validation ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_params_validation ... ok ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_no_wait ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_no_wait ... ok ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_with_false_wait ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_with_false_wait ... ok ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_with_args ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_with_args ... ok ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_label ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_label ... ok WARNING [ironic_python_agent.dmi_inspector] Failed to process memory dmi data: 'Handle' 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 ERROR [root] Flushing file system buffers failed: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None WARNING [ironic_python_agent.dmi_inspector] Failed to process memory dmi data: 'Number Of Devices' 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_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_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_burnin.TestBurnin.test__smart_test_status ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status ... ok ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_found_csv ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_found_csv ... ok ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_get_boot_records ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_get_boot_records ... ok ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_no_partition ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_no_partition ... ok ironic_python_agent.tests.unit.test_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_flow.TestFlowExtension.test_validate_exts_failed_empty_command_map ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_empty_command_map ... ok ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels_handles_exec_error ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels_handles_exec_error ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_unknown_file ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_unknown_file ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_unknown_file_md5 ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_unknown_file_md5 ... ok ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_modes ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_modes ... ok ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy ... ok ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card ... ok ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_execute_error ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_execute_error ... ok ironic_python_agent.tests.unit.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_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_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_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_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_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_burnin.TestBurnin.test__smart_test_status_missing ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status_missing ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_default ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_default ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_default ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_default ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_fio ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_fio ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_smart_test ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_smart_test ... ok ironic_python_agent.tests.unit.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.TestGetPartition.test_partuuid ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_partuuid ... 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_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_image.TestImageExtension.test__install_bootloader_bios ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_bios ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_no_root ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_no_root ... ok ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_data ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_data ... ok ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_no_heartbeat_timeout ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_no_heartbeat_timeout ... ok ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_node_locked ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_node_locked ... ok ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_transient_exceptions ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_transient_exceptions ... ok ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_to_find_extension ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_to_find_extension ... ok ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_success ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_success ... ok ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_finalize_rescue ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_finalize_rescue ... ok ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support ... 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.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support_no_mlnx ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support_no_mlnx ... ok ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_generate_client_id ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_generate_client_id ... ok ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_clean_steps ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_clean_steps ... ok ironic_python_agent.tests.unit.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_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.extensions.test_rescue.TestRescueExtension.test_finalize_rescue_write_failure ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_finalize_rescue_write_failure ... ok ironic_python_agent.tests.unit.test_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_disk_utils.ListPartitionsTestCase.test_incorrect ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_incorrect ... ok ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_incorrect_gpt ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_incorrect_gpt ... ok ironic_python_agent.tests.unit.test_utils.ParseDeviceTagsTestCase.test_empty ironic_python_agent.tests.unit.test_utils.ParseDeviceTagsTestCase.test_empty ... ok ironic_python_agent.tests.unit.test_utils.ParseDeviceTagsTestCase.test_parse ironic_python_agent.tests.unit.test_utils.ParseDeviceTagsTestCase.test_parse ... ok ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy_mounted ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy_mounted ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_grub_failure_api_override ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_grub_failure_api_override ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure_api_override ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure_api_override ... ok ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_base64_string ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_base64_string ... ok ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_binary ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_binary ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_warning_on_mismatch ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_warning_on_mismatch ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_invalid_checksum ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_invalid_checksum ... ok ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_software_raid ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_software_raid ... ok ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels_not_found ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels_not_found ... ok ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_device ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_device ... ok ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params ... ok ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_fail_format_error ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_fail_format_error ... ok ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_preserve_ephemeral ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_preserve_ephemeral ... ok ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_find_devices_all ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_find_devices_all ... ok ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_find_devices_name ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_find_devices_name ... ok ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_find_devices_none ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_find_devices_none ... ok ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_empty_device_attribute ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_empty_device_attribute ... ok ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step ... ok ironic_python_agent.tests.unit.test_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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_apply_net_firmware_update ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_apply_net_firmware_update ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images_duplicate_component_flavor_exception ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images_duplicate_component_flavor_exception ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_validate_images_schema ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_validate_images_schema ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_validate_images_schema_invalid_parameter ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_validate_images_schema_invalid_parameter ... ok ironic_python_agent.tests.unit.test_disk_utils.PopulateImageTestCase.test_populate_raw_image ironic_python_agent.tests.unit.test_disk_utils.PopulateImageTestCase.test_populate_raw_image ... ok ironic_python_agent.tests.unit.test_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_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.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_no_i40e_driver ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_no_i40e_driver ... ok ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_in_cna_card ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_in_cna_card ... ok ironic_python_agent.tests.unit.test_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 ERROR [ironic_python_agent.utils] boom 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.TestConfigDriveTestRecovery.test__does_config_drive_failed ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_failed ... ok ironic_python_agent.tests.unit.test_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_utils.TestCopyConfigFromVmedia.test_mounted_no_files ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_mounted_no_files ... ok ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_files ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_files ... ok ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_vmedia ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_vmedia ... ok ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_vmedia_found_not_booted_from_vmedia ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_vmedia_found_not_booted_from_vmedia ... ok ironic_python_agent.tests.unit.test_utils.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_disk_utils.ImageInspectionTest.test_image_inspection_fail_safety_check ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_fail_safety_check ... ok ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_iscsi_device ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_iscsi_device ... ok ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_local_device ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_local_device ... ok ironic_python_agent.tests.unit.extensions.test_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.TestCheckPrereq.test_check_prereq ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestCheckPrereq.test_check_prereq ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestCheckPrereq.test_check_prereq_exception ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestCheckPrereq.test_check_prereq_exception ... ok ironic_python_agent.tests.unit.test_hardware.TestVersions.test_check_versions ironic_python_agent.tests.unit.test_hardware.TestVersions.test_check_versions ... ok ironic_python_agent.tests.unit.test_hardware.TestVersions.test_get_current_versions ironic_python_agent.tests.unit.test_hardware.TestVersions.test_get_current_versions ... ok ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_pass ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_pass ... ok ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_with_token_invalid ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_with_token_invalid ... ok ironic_python_agent.tests.unit.extensions.test_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.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_inspector.TestCollectPciDevicesInfo.test_success ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success ... 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_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints ... ok ironic_python_agent.tests.unit.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_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.nvidia.test_nvidia_fw_update.TestUpdateNvidiaNicFirmwareImage.test_update_nvidia_nic_firmware_image_exception ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestUpdateNvidiaNicFirmwareImage.test_update_nvidia_nic_firmware_image_exception ... ok ironic_python_agent.tests.unit.test_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_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.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info ... ok ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_ib_interface ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_ib_interface ... ok ironic_python_agent.tests.unit.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_rescue.TestRescueExtension.test_hashed_passwords ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_hashed_passwords ... ok ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test__heartbeat_expected ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test__heartbeat_expected ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_no_space_error_fatal ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_no_space_error_fatal ... ok ironic_python_agent.tests.unit.test_utils.TestFailures.test_get_error ironic_python_agent.tests.unit.test_utils.TestFailures.test_get_error ... ok ironic_python_agent.tests.unit.test_utils.TestFailures.test_raise ironic_python_agent.tests.unit.test_utils.TestFailures.test_raise ... ok WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_work ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_work ... ok ironic_python_agent.tests.unit.test_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_numa_inspector.TestCollectNumaTopologyInfo.test_collect_failure ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_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_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 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_utils.TestUtils.test_device_extractor ironic_python_agent.tests.unit.test_utils.TestUtils.test_device_extractor ... ok ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_dict ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_dict ... ok WARNING [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.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 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_qemu_img.ConvertImageTestCase.test_convert_image ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image ... ok ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints2 ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints2 ... ok ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_json_string ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_json_string ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_errors_no_bootc ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_errors_no_bootc ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_luks ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_luks ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_no_selinux_keys_auth ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_no_selinux_keys_auth ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_podman_errors ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_podman_errors ... ok 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__write_authorized_keys ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__write_authorized_keys ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__write_container_auth ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__write_container_auth ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__write_no_pivot_root ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__write_no_pivot_root ... ok ironic_python_agent.tests.unit.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 ERROR [ironic_python_agent.extensions.standby] Image failed to verify against checksum. location: /tmp/tmp_o9gtt20/fake_id; image ID: fake_id; image checksum: fake-checksum; verification checksum: invalid-checksum 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.test_encoding.TestSerializableComparable.test_childclass_equal ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_equal ... ok ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_hash ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_hash ... ok ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_notequal ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_notequal ... ok ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders ... ok ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive ... ok ironic_python_agent.tests.unit.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.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_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_qemu_img.ConvertImageTestCase.test_convert_image_disabled ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_disabled ... ok ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_flags ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_flags ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2 ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2 ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_command_fail ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_command_fail ... ok ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_chronyd ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_chronyd ... ok ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_none ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_none ... ok ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_unknown_exception_fallback ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_unknown_exception_fallback ... ok ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_with_uuid ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_with_uuid ... ok ironic_python_agent.tests.unit.test_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_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_get_agent_url_ipv4 ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_ipv4 ... ok ironic_python_agent.tests.unit.test_disk_utils.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.extensions.test_standby.TestImageDownload.test_download_image_retries_success ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries_success ... ok ironic_python_agent.tests.unit.test_inject_files.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_inject_files.TestInjectOne.test_plain_content_with_owner ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_owner ... ok ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_owner_and_group ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_owner_and_group ... ok ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url ... ok ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url_formatting ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url_formatting ... ok ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints3 ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints3 ... ok ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_no_device_found ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_no_device_found ... ok ironic_python_agent.tests.unit.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.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mac_address ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mac_address ... ok ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mlnx_interface ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mlnx_interface ... ok ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_infiniband_address_to_mac ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_infiniband_address_to_mac ... ok ironic_python_agent.tests.unit.test_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.extensions.test_service.TestServiceExtension.test_execute_service_step_fail ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_fail ... ok ironic_python_agent.tests.unit.test_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_qemu_img.ConvertImageTestCase.test_convert_image_flags_disabled ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_flags_disabled ... ok WARNING [ironic_python_agent.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_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_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive_graceful_fail ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive_graceful_fail ... ok ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_locks_out_with_token ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_locks_out_with_token ... ok 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_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.TestCollectPciDevicesInfo.test_success_numa_ioerror ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success_numa_ioerror ... ok ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders_no_csv ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders_no_csv ... ok ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_windows_efi_bootloaders ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_windows_efi_bootloaders ... ok ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__no_efi_bootloaders ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__no_efi_bootloaders ... ok ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_benchmarks ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_benchmarks ... 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_inspector.TestCollectExtraHardware.test_execute_failed ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_execute_failed ... 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_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_qemu_img.ConvertImageTestCase.test_convert_image_just_fails ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_just_fails ... ok ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_no_benchmarks ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_no_benchmarks ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image ... ok ironic_python_agent.tests.unit.test_disk_utils.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_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_api.TestIronicAPI.test_get_command_result ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_result ... 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_inspector.TestCollectExtraHardware.test_parsing_failed ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_parsing_failed ... ok ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_no_operators ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_no_operators ... ok ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_wrong_path ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_wrong_path ... 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_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_qemu_img.ConvertImageTestCase.test_convert_image_just_fails_disabled ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_just_fails_disabled ... ok ironic_python_agent.tests.unit.test_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_inspector.TestInspect.test_collector_failed ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collector_failed ... ok ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_cache_hardware_info ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_cache_hardware_info ... ok ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_success ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_success ... ok ironic_python_agent.tests.unit.test_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_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_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_one_hint ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_one_hint ... ok ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_encoder ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_encoder ... 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_utils.GetAgentParamsTestCase.test__get_vmedia_params_by_device ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_by_device ... ok ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_by_device_device_invalid ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_by_device_device_invalid ... ok ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_cannot_find_dev ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_cannot_find_dev ... ok ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file ... ok ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file_fail ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file_fail ... ok ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_agent_version_unsupported ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_agent_version_unsupported ... ok ironic_python_agent.tests.unit.test_utils.BareMetalUtilsTestCase.test_unlink ironic_python_agent.tests.unit.test_utils.BareMetalUtilsTestCase.test_unlink ... ok ironic_python_agent.tests.unit.test_agent.TestBaseAgentVMediaToken.test_run_agent_token_vmedia ironic_python_agent.tests.unit.test_agent.TestBaseAgentVMediaToken.test_run_agent_token_vmedia ... ok ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_with_token ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_with_token ... ok ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_none ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_none ... ok ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_from_cache ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_from_cache ... ok ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_kernel_cmdline ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_kernel_cmdline ... ok ironic_python_agent.tests.unit.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_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_inspector.TestCollectDefault.test_ok ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_ok ... 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_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_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_qemu_img.ConvertImageTestCase.test_convert_image_retries ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries ... ok ironic_python_agent.tests.unit.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_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_rotational ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_rotational ... ok ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_1 ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_1 ... ok ironic_python_agent.tests.unit.test_utils.TestUtils.test_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.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.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_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_rotational_convert_devices_bool ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_rotational_convert_devices_bool ... ok ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_numeric_fields ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_numeric_fields ... ok ERROR [ironic_python_agent.extensions.image] Installing GRUB2 boot loader to device /dev/fake failed with Unexpected error while running command. Command: None Exit code: - Stdout: 'error' Stderr: None. ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error ... ok ironic_python_agent.tests.unit.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_api.TestIronicAPI.test_get_command_with_token_invalid ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_with_token_invalid ... ok ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp ... 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_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.extensions.test_service.TestServiceExtension.test_execute_service_step_tuple_result ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_tuple_result ... ok WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_insecure ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_insecure ... ok WARNING [ironic_python_agent.agent] No route to host fc00:1111::1, route record: Error: some error text ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test_heartbeat ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test_heartbeat ... ok WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None ironic_python_agent.tests.unit.test_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.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential ... ok ironic_python_agent.tests.unit.test_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_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.WaitForDisk.test_wait_for_disk_to_become_available_no_fuser ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_no_fuser ... ok ironic_python_agent.tests.unit.test_utils.BareMetalUtilsTestCase.test_unlink_ENOENT ironic_python_agent.tests.unit.test_utils.BareMetalUtilsTestCase.test_unlink_ENOENT ... ok ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error_disabled ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error_disabled ... ok ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_command_not_found ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_command_not_found ... ok ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_empty ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_empty ... 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_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_agent.TestFromConfig.test_override_urls ironic_python_agent.tests.unit.test_agent.TestFromConfig.test_override_urls ... ok ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_broken ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_broken ... ok ironic_python_agent.tests.unit.test_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_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_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.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_utils.ExecuteTestCase.test_execute_not_use_standard_locale ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale ... ok ironic_python_agent.tests.unit.test_utils.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.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_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails ... ok ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collectors_option ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collectors_option ... 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_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_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.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_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_ok ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_ok ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential_second ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential_second ... ok ironic_python_agent.tests.unit.test_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_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables ... ok ironic_python_agent.tests.unit.test_utils.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_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_inject_files.TestInjectFiles.test_invalid_type_on_node ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_invalid_type_on_node ... ok ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_commands_with_token ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_commands_with_token ... ok ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables ... ok ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails_disabled ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails_disabled ... ok ironic_python_agent.tests.unit.test_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_device_hints.ParseRootDeviceTestCase.test__append_operator_to_hints ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test__append_operator_to_hints ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_empty_value ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_empty_value ... ok ironic_python_agent.tests.unit.test_utils.TestUtils.test_gzip_and_b64encode ironic_python_agent.tests.unit.test_utils.TestUtils.test_gzip_and_b64encode ... ok ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_with_collect_lldp_enabled ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_with_collect_lldp_enabled ... ok ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_async_command_failure ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_async_command_failure ... ok ironic_python_agent.tests.unit.test_partition_utils.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_inject_files.TestInjectFiles.test_ok ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_ok ... ok ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_exception ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_exception ... ok ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_disabled ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_disabled ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_status ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_status ... ok ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_version_mismatch ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_version_mismatch ... ok ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_bios ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_bios ... ok ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_cpu ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_cpu ... ok ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_memory ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_memory ... ok ironic_python_agent.tests.unit.test_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_api.TestIronicAPI.test_list_commands_with_token_invalid ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_commands_with_token_invalid ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_integer ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_integer ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_multiple_values ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_multiple_values ... ok ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data ... ok ironic_python_agent.tests.unit.extensions.test_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_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.TestStreamingClient.test_ok ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_ok ... ok ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_get_service_steps ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_get_service_steps ... ok ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_ssl ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_ssl ... ok ironic_python_agent.tests.unit.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_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_async_command_success ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_async_command_success ... ok ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid ... ok ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_with_log_stdout_default ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_with_log_stdout_default ... ok ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data_error_handle ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data_error_handle ... ok ironic_python_agent.tests.unit.test_utils.TestUtils.test_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.extensions.test_standby.TestStandbyExtension.test_download_image_basic_auth_image_info_success ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_basic_auth_image_info_success ... ok ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_root ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_root ... ok ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_wholedisk ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_wholedisk ... ok ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_save_api_client ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_save_api_client ... 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_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_multiple_values_space ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_multiple_values_space ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_no_operator ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_no_operator ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_single_value ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_single_value ... ok ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_with_log_stdout_false ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_with_log_stdout_false ... ok ironic_python_agent.tests.unit.extensions.test_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_agent.TestAdvertiseAddress.test_advertise_address_provided ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_advertise_address_provided ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_conductor_auth ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_conductor_auth ... ok ironic_python_agent.tests.unit.test_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_api.TestIronicAPI.test_v1_root ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_v1_root ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_empty_value ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_empty_value ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_in ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_in ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_no_op_no_space ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_no_op_no_space ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_no_op_space ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_no_op_space ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_op_no_space ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_op_no_space ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_op_space ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_op_space ... ok ironic_python_agent.tests.unit.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_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_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.TestWaitForDhcp.test_all ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_all ... ok ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_boot_only ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_boot_only ... ok ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_disabled ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_disabled ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_or ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_or ... ok ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_failed ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_failed ... ok ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_with_log_stdout_true ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_with_log_stdout_true ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_proxy ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_proxy ... ok ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_indexerror ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_indexerror ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_verify_fails ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_verify_fails ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_image_info_user_pass_none ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_image_info_user_pass_none ... ok ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_retry ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_retry ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_image_info_user_pass_success ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_image_info_user_pass_success ... ok ironic_python_agent.tests.unit.test_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_inject_files.TestFindAndMountPath.test_with_on_as_number_nvme ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_number_nvme ... ok ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_path ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_path ... ok ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on ... ok ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on_wrong_path ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on_wrong_path ... ok ironic_python_agent.tests.unit.test_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.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_oslo_conf_user_pass_none ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_oslo_conf_user_pass_none ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_oslo_conf_user_pass_success ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_oslo_conf_user_pass_success ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_get_partition_uuids ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_get_partition_uuids ... ok ironic_python_agent.tests.unit.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_agent.TestAdvertiseAddress.test_route_several_urls_and_retries ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_several_urls_and_retries ... ok ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_host ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_host ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_image_location ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_image_location ... ok ironic_python_agent.tests.unit.test_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_agent.TestBaseAgent.test_get_route_source_ipv6 ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv6 ... ok ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv6_linklocal ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv6_linklocal ... ok ironic_python_agent.tests.unit.test_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.extensions.test_standby.TestStandbyExtension.test_load_auth_header_from_image_info ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_load_auth_header_from_image_info ... ok ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_host_v6 ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_host_v6 ... ok ironic_python_agent.tests.unit.test_hardware.TestFullSync.test_full_sync ironic_python_agent.tests.unit.test_hardware.TestFullSync.test_full_sync ... ok ironic_python_agent.tests.unit.test_hardware.TestFullSync.test_optional_calls_fail ironic_python_agent.tests.unit.test_hardware.TestFullSync.test_optional_calls_fail ... ok ironic_python_agent.tests.unit.test_hardware.TestFullSync.test_sync_fails ironic_python_agent.tests.unit.test_hardware.TestFullSync.test_sync_fails ... ok ironic_python_agent.tests.unit.test_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 WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_convert_rotational ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_convert_rotational ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_convert_size ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_convert_size ... ok 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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_int_or ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_int_or ... ok ironic_python_agent.tests.unit.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.extensions.test_image.TestImageExtension.test__install_grub2_uefi_mount_fails ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_mount_fails ... ok WARNING [root] 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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_int_or_invalid ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_int_or_invalid ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_by_path ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_by_path ... ok WARNING [ironic_python_agent.extensions.image] Falling back to fstab entry addition label of UUID. We could not identify which UUID or PARTUUID identifier label should be used, thus UUID will be used. ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_load_auth_header_from_image_info_none ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_load_auth_header_from_image_info_none ... ok ironic_python_agent.tests.unit.test_utils.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_inspector.TestInspect.test_disabled ironic_python_agent.tests.unit.test_inspector.TestInspect.test_disabled ... ok ironic_python_agent.tests.unit.test_inspector.TestInspect.test_extensions_failed ironic_python_agent.tests.unit.test_inspector.TestInspect.test_extensions_failed ... ok ironic_python_agent.tests.unit.test_inspector.TestInspect.test_inspector_error ironic_python_agent.tests.unit.test_inspector.TestInspect.test_inspector_error ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_hctl ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_hctl ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_model ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_model ... ok ironic_python_agent.tests.unit.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_inspector.TestInspect.test_mdns ironic_python_agent.tests.unit.test_inspector.TestInspect.test_mdns ... ok ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_status ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_status ... ok ironic_python_agent.tests.unit.test_partition_utils.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_inspector.TestInspect.test_ok ironic_python_agent.tests.unit.test_inspector.TestInspect.test_ok ... ok ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_several_urls ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_several_urls ... ok ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None WARNING [ironic_python_agent.extensions.standby] poweroff command failed with error Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None, falling back to sysrq-trigger 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 [root] Command failed: power_off, error: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None. Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1086, in _run_shutdown_command utils.execute("echo o > /proc/sysrq-trigger", shell=True) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 3, in do_not_call File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1102, in power_off self._run_shutdown_command('poweroff') ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1090, in _run_shutdown_command raise errors.SystemRebootError(e.exit_code, e.stdout, e.stderr) ironic_python_agent.errors.SystemRebootError: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None. ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_node_retries ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_node_retries ... ok ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_with_instance_disk_label ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_with_instance_disk_label ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_name ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_name ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_rotational ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_rotational ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_serial ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_serial ... ok ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_timeout ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_timeout ... ok ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat ... ok ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_ip6 ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_ip6 ... ok ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_token ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_token ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_size ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_size ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_vendor ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_vendor ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn_vendor_extension ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn_vendor_extension ... 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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn_with_extension ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn_with_extension ... ok ironic_python_agent.tests.unit.test_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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_no_hints ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_no_hints ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_non_existent_hint ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_non_existent_hint ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_string_compare_operator_name ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_string_compare_operator_name ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_string_or_space ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_string_or_space ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_with_operators ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_with_operators ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_without_operators ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_without_operators ... ok ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_both_succeed ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_both_succeed ... ok ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_both_succeed ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_both_succeed ... ok ironic_python_agent.tests.unit.test_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_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.extensions.test_standby.TestStandbyExtension.test_power_off ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_power_off ... ok ERROR [ironic_python_agent.utils] Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ERROR [root] Command failed: power_off, error: Error syncing system clock: Failed to sync hardware clock: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/utils.py", line 1018, in sync_clock execute('ntpdate', CONF.ntp_server) ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 3, in do_not_call File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1135, in _sync_clock utils.sync_clock(ignore_errors=ignore_errors) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/utils.py", line 1025, in sync_clock raise errors.CommandExecutionError(msg) ironic_python_agent.errors.CommandExecutionError: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1102, in power_off self._run_shutdown_command('poweroff') ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1061, in _run_shutdown_command self._sync_clock(ignore_errors=True) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1145, in _sync_clock raise errors.ClockSyncError(msg) ironic_python_agent.errors.ClockSyncError: Error syncing system clock: Failed to sync hardware clock: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ironic_python_agent.tests.unit.test_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_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.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 POST: /v1/commands {'name': 'do_things', 'params': []} GOT: POST: /v1/commands {'name': 'do_things', 'params': {'key': 'value'}} GOT: POST: /v1/commands?wait=false {'name': 'do_things', 'params': {'key': 'value'}} GOT: POST: /v1/commands?wait=true {'name': 'do_things', 'params': {'key': 'value'}} GOT: POST: /v1/commands {} GOT: POST: /v1/commands?wait=false?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 {'name': 'do_things', 'params': {'key': 'value', 'wait': False, 'agent_token': '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789'}} GOT: POST: /v1/commands?wait=false?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 {'name': 'do_things', 'params': {'key': 'value', 'wait': False, 'agent_token': '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789'}} GOT: GET: /v1/status None GOT: GET: /v1/commands/abc123 None GOT: GET: /v1/commands/abc123?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 None GOT: GET: /v1/commands/abc123 None GOT: GET: /v1/commands/abc123 None GOT: GET: /v1/commands/abc123?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 None GOT: GET: /v1/commands/abc123?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 None GOT: GET: /v1/commands None GOT: GET: /v1/commands?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 None GOT: GET: /v1/commands?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 None GOT: GET: /v1/foo None GOT: GET: / None GOT: GET: /v1 None GOT: WARNING [root] Can't find field vendor for device lo in device class net 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 ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve return _proxy.query(name, rdtype, raise_on_no_answer=raises, ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use_network=use_network) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) ^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver self.clear() ~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear self._resolver = dns.resolver.Resolver(filename=self._filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ self.read_resolv_conf(filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf raise NoResolverConfiguration("no nameservers") dns.resolver.NoResolverConfiguration: no nameservers During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo qname, addrs = _getaddrinfo_lookup(host, family, flags) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup raise err File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup answer = resolve(host, qfamily, False, use_network=use_network) File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve _raise_new_error(EAI_NODATA_ERROR) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error raise error_instance.__class__(*error_instance.args) socket.gaierror: [Errno -2] Name or service not known The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version response = self._request('GET', '/') File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 90, in _request resp = self.session.request(method, request_url, ...<4 lines>... timeout=CONF.http_request_timeout, **kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader ... ok WARNING [ironic_python_agent.agent] Ironic does not support automated TLS 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_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_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_disk_utils.OtherFunctionTestCase.test_block_uuid ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_block_uuid ... ok ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_block_uuid_fallback_to_uuid ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_block_uuid_fallback_to_uuid ... ok ironic_python_agent.tests.unit.test_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_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout ... ok ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_configured ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_configured ... ok ironic_python_agent.tests.unit.test_raid_utils.TestFindESPRAID.test_no_esp_raid ironic_python_agent.tests.unit.test_raid_utils.TestFindESPRAID.test_no_esp_raid ... ok ironic_python_agent.tests.unit.test_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_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_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions ... ok ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_no_logical_partitions ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_no_logical_partitions ... ok ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_wrong_partition_table ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_wrong_partition_table ... ok 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_disk_utils.OtherFunctionTestCase.test_is_block_device_raises ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_raises ... ok ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_works ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_works ... ok ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_unconfigured ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_unconfigured ... ok ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces ... ok ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_no_carrier ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_no_carrier ... ok ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_no_wait_for_disks ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_no_wait_for_disks ... ok ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks ... ok ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_configured ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_configured ... ok ironic_python_agent.tests.unit.test_hardware.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_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_bond ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_bond ... ok ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp ... ok ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp_error ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp_error ... ok ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_pci_address ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_pci_address ... ok ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_vendor_info ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_vendor_info ... ok ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces ... ok ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces_using_lldp ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces_using_lldp ... ok ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces_using_lldp_all ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces_using_lldp_all ... ok ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_invalid_int ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_invalid_int ... ok ironic_python_agent.tests.unit.test_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 ERROR [root] Command failed: prepare_image, error: Don't call utils.execute() / processutils.execute() or similar functions in tests! Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1025, in prepare_image _validate_partitioning(device) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 839, in _validate_partitioning disk_utils.partprobe(device) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/disk_utils.py", line 667, in partprobe utils.execute('partprobe', device, attempts=attempts) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/base.py", line 88, in do_not_call raise Exception( "Don't call utils.execute() / " "processutils.execute() or similar functions in tests!") Exception: Don't call utils.execute() / processutils.execute() or similar functions in tests! WARNING [root] Can't find field vendor for device lo in device class net 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_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_agent.TestBaseAgent.test_run ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image ... ok ironic_python_agent.tests.unit.test_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_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_nonconfigured ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_nonconfigured ... ok ironic_python_agent.tests.unit.test_hardware.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_utils.MountedTestCase.test_failed_to_mount ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_failed_to_mount ... ok ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_failed_to_unmount ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_failed_to_unmount ... ok ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_temporary ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_temporary ... ok ironic_python_agent.tests.unit.test_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_utils.MountedTestCase.test_with_dest ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_with_dest ... ok ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_with_opts ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_with_opts ... ok ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_numa_format_memory_info ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_numa_format_memory_info ... ok ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_with_type ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_with_type ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_bad_partition ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_bad_partition ... ok ironic_python_agent.tests.unit.test_agent.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_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 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_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_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_threaddir_format_cores_info ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_threaddir_format_cores_info ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader_grubcfg_fails ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader_grubcfg_fails ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_configdrive ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_configdrive ... 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 ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve return _proxy.query(name, rdtype, raise_on_no_answer=raises, ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use_network=use_network) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) ^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver self.clear() ~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear self._resolver = dns.resolver.Resolver(filename=self._filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ self.read_resolv_conf(filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf raise NoResolverConfiguration("no nameservers") dns.resolver.NoResolverConfiguration: no nameservers During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo qname, addrs = _getaddrinfo_lookup(host, family, flags) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup raise err File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup answer = resolve(host, qfamily, False, use_network=use_network) File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve _raise_new_error(EAI_NODATA_ERROR) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error raise error_instance.__class__(*error_instance.args) socket.gaierror: [Errno -2] Name or service not known The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version response = self._request('GET', '/') File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 90, in _request resp = self.session.request(method, request_url, ...<4 lines>... timeout=CONF.http_request_timeout, **kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS 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_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_mainline_only ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_mainline_only ... ok ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_agent_token ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_agent_token ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_hexdump ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_hexdump ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader_with_grubcfg ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader_with_grubcfg ... ok ironic_python_agent.tests.unit.test_partition_utils.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.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_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_manager_method_not_found ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_manager_method_not_found ... ok ironic_python_agent.tests.unit.extensions.test_standby.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_mdns.GetEndpointTestCase.test_binary_data ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_binary_data ... ok ERROR [root] Unexpected error dispatching unexpected_fail to manager : A problem was encountered Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/hardware.py", line 3618, in dispatch_to_all_managers response = getattr(manager, method)(*args, **kwargs) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 32, in wrapper return fn(self, *args, **kwargs) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 101, in unexpected_fail raise RuntimeError('A problem was encountered') RuntimeError: A problem was encountered ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve return _proxy.query(name, rdtype, raise_on_no_answer=raises, ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use_network=use_network) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) ^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver self.clear() ~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear self._resolver = dns.resolver.Resolver(filename=self._filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ self.read_resolv_conf(filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf raise NoResolverConfiguration("no nameservers") dns.resolver.NoResolverConfiguration: no nameservers During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo qname, addrs = _getaddrinfo_lookup(host, family, flags) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup raise err File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup answer = resolve(host, qfamily, False, use_network=use_network) File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve _raise_new_error(EAI_NODATA_ERROR) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error raise error_instance.__class__(*error_instance.args) socket.gaierror: [Errno -2] Name or service not known The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version response = self._request('GET', '/') File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 90, in _request resp = self.session.request(method, request_url, ...<4 lines>... timeout=CONF.http_request_timeout, **kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image ... ok ironic_python_agent.tests.unit.test_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_agent.TestBaseAgent.test_run_listen_host_port ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_listen_host_port ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_no_loader ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_no_loader ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image_raw_and_stream_false ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image_raw_and_stream_false ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image_raw_stream_true ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image_raw_stream_true ... ok ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_generic_method_only ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_generic_method_only ... ok ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None WARNING [ironic_python_agent.extensions.standby] reboot command failed with error Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None, falling back to sysrq-trigger ERROR [root] Command failed: run_image, error: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None. Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1088, in _run_shutdown_command utils.execute("echo b > /proc/sysrq-trigger", shell=True) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 3, in do_not_call File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1096, in run_image self._run_shutdown_command('reboot') ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1090, in _run_shutdown_command raise errors.SystemRebootError(e.exit_code, e.stdout, e.stderr) ironic_python_agent.errors.SystemRebootError: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None. ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_image ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_image ... ok WARNING [ironic_python_agent.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.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve return _proxy.query(name, rdtype, raise_on_no_answer=raises, ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use_network=use_network) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) ^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver self.clear() ~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear self._resolver = dns.resolver.Resolver(filename=self._filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ self.read_resolv_conf(filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf raise NoResolverConfiguration("no nameservers") dns.resolver.NoResolverConfiguration: no nameservers During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo qname, addrs = _getaddrinfo_lookup(host, family, flags) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup raise err File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup answer = resolve(host, qfamily, False, use_network=use_network) File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve _raise_new_error(EAI_NODATA_ERROR) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error raise error_instance.__class__(*error_instance.args) socket.gaierror: [Errno -2] Name or service not known The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version response = self._request('GET', '/') File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 90, in _request resp = self.session.request(method, request_url, ...<4 lines>... timeout=CONF.http_request_timeout, **kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None WARNING [ironic_python_agent.extensions.standby] reboot command failed with error Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None, falling back to sysrq-trigger 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_failure ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_preserve_failure ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_fails ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_fails ... ok WARNING [ironic_python_agent.mdns] None of addresses ['::2', '::3'] seem routable, using ::2 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_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_mdns.GetEndpointTestCase.test_fallback ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_fallback ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid ... ok WARNING [ironic_python_agent.extensions.standby] poweroff command failed with error Unexpected error while running command. Command: None Exit code: - Stdout: '' Stderr: None, falling back to sysrq-trigger ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_poweroff_sysrq ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_poweroff_sysrq ... ok WARNING [ironic_python_agent.extensions.standby] reboot command has been ignored, falling back to sysrq-trigger ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_reboot_sysrq ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_reboot_sysrq ... ok ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve return _proxy.query(name, rdtype, raise_on_no_answer=raises, ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use_network=use_network) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) ^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver self.clear() ~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear self._resolver = dns.resolver.Resolver(filename=self._filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ self.read_resolv_conf(filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf raise NoResolverConfiguration("no nameservers") dns.resolver.NoResolverConfiguration: no nameservers During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo qname, addrs = _getaddrinfo_lookup(host, family, flags) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup raise err File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup answer = resolve(host, qfamily, False, use_network=use_network) File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve _raise_new_error(EAI_NODATA_ERROR) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error raise error_instance.__class__(*error_instance.args) socket.gaierror: [Errno -2] Name or service not known The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version response = self._request('GET', '/') File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 90, in _request resp = self.session.request(method, request_url, ...<4 lines>... timeout=CONF.http_request_timeout, **kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_then_lockdown ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_then_lockdown ... ok WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_preserve_failure2 ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_preserve_failure2 ... ok ironic_python_agent.tests.unit.test_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.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. ERROR [ironic_python_agent.extensions.image] Installing GRUB2 boot loader to device /dev/fake failed with Unexpected error while running command. Command: None Exit code: - Stdout: 'error' Stderr: None. ERROR [ironic_python_agent.extensions.image] Umounting efi system partition failed. Attempted 3 times. Error: Unexpected error while running command. Command: None Exit code: - Stdout: 'error' Stderr: None WARNING [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 return _proxy.query(name, rdtype, raise_on_no_answer=raises, ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use_network=use_network) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) ^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver self.clear() ~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear self._resolver = dns.resolver.Resolver(filename=self._filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ self.read_resolv_conf(filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf raise NoResolverConfiguration("no nameservers") dns.resolver.NoResolverConfiguration: no nameservers During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo qname, addrs = _getaddrinfo_lookup(host, family, flags) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup raise err File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup answer = resolve(host, qfamily, False, use_network=use_network) File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve _raise_new_error(EAI_NODATA_ERROR) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error raise error_instance.__class__(*error_instance.args) socket.gaierror: [Errno -2] Name or service not known The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version response = self._request('GET', '/') File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 90, in _request resp = self.session.request(method, request_url, ...<4 lines>... timeout=CONF.http_request_timeout, **kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS ironic_python_agent.tests.unit.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.extensions.test_image.TestImageExtension.test__install_grub2_uefi_umount_fails ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_umount_fails ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_empty ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_empty ... ok ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_https ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_https ... ok ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_inspection ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_inspection ... ok ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_manager_method_not_found ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_manager_method_not_found ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_not_bootable ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_not_bootable ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_uefi_mode ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_uefi_mode ... ok 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 ERROR [root] Unexpected error dispatching unexpected_fail to manager : A problem was encountered Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/hardware.py", line 3662, in dispatch_to_managers return getattr(manager, method)(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 32, in wrapper return fn(self, *args, **kwargs) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 101, in unexpected_fail raise RuntimeError('A problem was encountered') RuntimeError: A problem was encountered ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_method_fails ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_method_fails ... ok WARNING [ironic_python_agent.agent] Could not get baremetal endpoint from mDNS, will not heartbeat WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. WARNING [root] Can't find field vendor for device lo in device class net WARNING [ironic_python_agent.agent] Ironic does not support automated TLS ironic_python_agent.tests.unit.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_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: line 1. ironic-python-agent: line 2 message WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve return _proxy.query(name, rdtype, raise_on_no_answer=raises, ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use_network=use_network) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) ^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver self.clear() ~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear self._resolver = dns.resolver.Resolver(filename=self._filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ self.read_resolv_conf(filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf raise NoResolverConfiguration("no nameservers") dns.resolver.NoResolverConfiguration: no nameservers During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo qname, addrs = _getaddrinfo_lookup(host, family, flags) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup raise err File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup answer = resolve(host, qfamily, False, use_network=use_network) File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve _raise_new_error(EAI_NODATA_ERROR) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error raise error_instance.__class__(*error_instance.args) socket.gaierror: [Errno -2] Name or service not known The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version response = self._request('GET', '/') File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 90, in _request resp = self.session.request(method, request_url, ...<4 lines>... timeout=CONF.http_request_timeout, **kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. WARNING [ironic_python_agent.extensions.image] efibootmgr is not available in the ramdisk ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error ERROR [root] Command failed: install_bootloader, error: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/image.py", line 721, in install_bootloader _install_grub2(device, ~~~~~~~~~~~~~~^^^^^^^^ root_uuid=root_uuid, ^^^^^^^^^^^^^^^^^^^^ efi_system_part_uuid=efi_system_part_uuid, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ prep_boot_part_uuid=prep_boot_part_uuid, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ target_boot_mode=target_boot_mode) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/image.py", line 167, in _install_grub2 root_partition = partition_utils.get_partition(device, uuid=root_uuid) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/partition_utils.py", line 618, in get_partition utils.rescan_device(device) ~~~~~~~~~~~~~~~~~~~^^^^^^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/utils.py", line 1114, in rescan_device execute('partx', '-av', device, attempts=3, delay_on_retry=True) ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 3, in do_not_call File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect FileNotFoundError ERROR [ironic_python_agent.inspector] inspector url error 400: , proceeding with lookup 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 ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve return _proxy.query(name, rdtype, raise_on_no_answer=raises, ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use_network=use_network) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) ^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver self.clear() ~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear self._resolver = dns.resolver.Resolver(filename=self._filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ self.read_resolv_conf(filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf raise NoResolverConfiguration("no nameservers") dns.resolver.NoResolverConfiguration: no nameservers During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo qname, addrs = _getaddrinfo_lookup(host, family, flags) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup raise err File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup answer = resolve(host, qfamily, False, use_network=use_network) File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve _raise_new_error(EAI_NODATA_ERROR) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error raise error_instance.__class__(*error_instance.args) socket.gaierror: [Errno -2] Name or service not known The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'example.com' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='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: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version response = self._request('GET', '/') File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 90, in _request resp = self.session.request(method, request_url, ...<4 lines>... timeout=CONF.http_request_timeout, **kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='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_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_agent.TestAgentStandalone.test_run ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run ... ok ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_invalid_key ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_invalid_key ... ok ironic_python_agent.tests.unit.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_agent.TestBaseAgent.test_run_with_sleep ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_sleep ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_with_entry_removal_lenovo ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_with_entry_removal_lenovo ... ok ironic_python_agent.tests.unit.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_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.TestCallInspector.test_inspector_error ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_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_mdns.GetEndpointTestCase.test_localhost_only ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_localhost_only ... ok ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_url_from_mdns_by_default ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_url_from_mdns_by_default ... ok ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_not_found ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.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 return _proxy.query(name, rdtype, raise_on_no_answer=raises, ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use_network=use_network) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) ^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver self.clear() ~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear self._resolver = dns.resolver.Resolver(filename=self._filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ self.read_resolv_conf(filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf raise NoResolverConfiguration("no nameservers") dns.resolver.NoResolverConfiguration: no nameservers During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo qname, addrs = _getaddrinfo_lookup(host, family, flags) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup raise err File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup answer = resolve(host, qfamily, False, use_network=use_network) File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve _raise_new_error(EAI_NODATA_ERROR) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error raise error_instance.__class__(*error_instance.args) socket.gaierror: [Errno -2] Name or service not known The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'example.com' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='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: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version response = self._request('GET', '/') File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 90, in _request resp = self.session.request(method, request_url, ...<4 lines>... timeout=CONF.http_request_timeout, **kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='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_explicitly ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_url_from_mdns_explicitly ... ok ironic_python_agent.tests.unit.test_hardware.TestExecuteBootCInstall.test_execute_bootc_install ironic_python_agent.tests.unit.test_hardware.TestExecuteBootCInstall.test_execute_bootc_install ... ok ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs ... ok ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs_with_label ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs_with_label ... ok ERROR [ironic_python_agent.utils] Failed to create a file system in /my/block/dev. Error: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: 'fake' Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/utils.py", line 156, in mkfs execute(*args, use_standard_locale=True) ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 3, in do_not_call File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: 'fake' ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs_with_unexpected_error ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs_with_unexpected_error ... ok ERROR [ironic_python_agent.utils] Failed to make file system. File system foo is not supported. Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/utils.py", line 156, in mkfs execute(*args, use_standard_locale=True) ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 3, in do_not_call File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: 'No such file or directory' ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs_with_unsupported_fs ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs_with_unsupported_fs ... ok ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_simple ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_simple ... 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_mdns.GetEndpointTestCase.test_skip_invalid ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_skip_invalid ... ok ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_v6 ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_v6 ... ok ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_custom_port_and_path ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_custom_port_and_path ... ok ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_custom_port_path_and_protocol ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_custom_port_path_and_protocol ... ok ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_params ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_params ... ok 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_mdns.GetEndpointTestCase.test_with_server ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_server ... ok ironic_python_agent.tests.unit.test_partition_utils.IsHttpUrlTestCase.test__is_http_url ironic_python_agent.tests.unit.test_partition_utils.IsHttpUrlTestCase.test__is_http_url ... ok ironic_python_agent.tests.unit.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.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 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 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_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_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_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_burnin.TestBurnin.test_fio_network_dynamic_find_pair_2nd ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_2nd ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_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 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_concurrency_pool_size ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_concurrency_pool_size ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_express ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_express ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_express_stops_on_safety_failure ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_express_stops_on_safety_failure ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata_error ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata_error ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata_safety_check ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata_safety_check ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default_protected_device ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default_protected_device ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_without_disk ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_without_disk ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_pstore ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_pstore ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_ok ... ok WARNING [root] Executable 'biosdevname' not found ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_oserror ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_oserror ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err3 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err3 ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err4 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err4 ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_invalid ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_invalid ... ok WARNING [root] Invalid IP address meow: 'meow' does not appear to be an IPv4 or IPv6 address ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_iterate_channels ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_iterate_channels ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_no_ipmi_device ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_no_ipmi_device ... ok WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_not_available ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_not_available ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_random_error ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_random_error ... ok WARNING [root] Cannot get BMC address: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_virt ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_virt ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_zeroed ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_zeroed ... ok ERROR [ironic_python_agent.extensions.standby] Timeout reached waiting for a chunk of data from a remote server. ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_socket_read_timeout ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_socket_read_timeout ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_for_ipv6 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_for_ipv6 ... 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.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_invalid ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_invalid ... ok ironic_python_agent.tests.unit.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 WARNING [root] Invalid ipmitool output meow ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_iterate_channels ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_iterate_channels ... ok ironic_python_agent.tests.unit.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 WARNING [root] Invalid ipmitool output meow ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_iterate_channels_ipv6 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_iterate_channels_ipv6 ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_urls ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_urls ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_no_ipmi_device ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_no_ipmi_device ... ok ironic_python_agent.tests.unit.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.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_no_valid_ip_or_ipv6 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_no_valid_ip_or_ipv6 ... ok ironic_python_agent.tests.unit.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 WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_not_available ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_not_available ... ok ironic_python_agent.tests.unit.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.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_random_error ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_random_error ... ok ironic_python_agent.tests.unit.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 WARNING [root] Cannot get BMC MAC address: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_virt ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_virt ... ok ironic_python_agent.tests.unit.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.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_with_invalid_ipv6 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_with_invalid_ipv6 ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_sha256 ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_sha256 ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_with_valid_ipv6_and_invalid_mac ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_with_valid_ipv6_and_invalid_mac ... ok ironic_python_agent.tests.unit.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.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_zeroed ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_zeroed ... ok ironic_python_agent.tests.unit.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.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_channel_7 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_channel_7 ... ok ironic_python_agent.tests.unit.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_bmc_v6address_dynamic_address ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_dynamic_address ... 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.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_enables ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_enables ... ok ironic_python_agent.tests.unit.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.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_get_address ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_get_address ... ok ironic_python_agent.tests.unit.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_bmc_v6address_ipmitool_invalid_stdout_format ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_ipmitool_invalid_stdout_format ... 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 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_no_ipmi_device ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_no_ipmi_device ... ok 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 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_not_enabled ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_not_enabled ... ok ERROR [ironic_python_agent.extensions.standby] Unable to verify image fake_id with available checksums. Please make sure the specified 'os_hash_algo' (currently unsupported-algorithm) is supported by this ramdisk, or provide a md5 checksum via the 'checksum' field ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_without_fallback ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_without_fallback ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_static_address_both ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_static_address_both ... ok WARNING [root] Cannot get BMC v6 address: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ironic_python_agent.tests.unit.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.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_virt ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_virt ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_bios ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_bios ... ok ironic_python_agent.tests.unit.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.test_hardware.TestGenericHardwareManager.test_get_boot_info_pxe_interface ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_pxe_interface ... ok ironic_python_agent.tests.unit.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.test_hardware.TestGenericHardwareManager.test_get_boot_info_uefi ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_uefi ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_clean_steps ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_clean_steps ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_without_md5 ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_without_md5 ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_component_devices ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_component_devices ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_fails ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_fails ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_illegal_flags ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_illegal_flags ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_gpt_fails ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_gpt_fails ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_max_mhz_and_flag_fallback ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_max_mhz_and_flag_fallback ... ok ERROR [ironic_python_agent.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: expected string or bytes-like object, got 'MagicMock' ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_max_mhz_flag_fallback ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_max_mhz_flag_fallback ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_multi ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_multi ... 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 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_no_flags ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_no_flags ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks ... ok ERROR [ironic_python_agent.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: expected string or bytes-like object, got 'MagicMock' ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_broken_raid0 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_broken_raid0 ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_poisoned_output ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_poisoned_output ... ok ERROR [ironic_python_agent.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: expected string or bytes-like object, got 'MagicMock' ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid_uefi ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid_uefi ... ok ERROR [ironic_python_agent.disk_utils] Security: Detected image format was qcow3, but only raw, gpt, qcow2 are allowed ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_unexpected_devices ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_unexpected_devices ... ok ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_mismatch ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_mismatch ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_nvme ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_nvme ... ok ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_mismatch_but_disabled ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_mismatch_but_disabled ... ok ERROR [ironic_python_agent.disk_utils] Security: Detected image format was qcow3, but only raw, gpt, qcow2 are allowed ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_whole_device ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_whole_device ... ok ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_type_disallowed ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_type_disallowed ... ok ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_unknown_happy ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_unknown_happy ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_arm64_lshw ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_arm64_lshw ... ok ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_happy_qcow2 ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_happy_qcow2 ... ok WARNING [root] Could not get real physical RAM from lshw: ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_exception ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_exception ... ok ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_happy_raw ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_happy_raw ... ok ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_safety_check_fail_but_disabled ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_safety_check_fail_but_disabled ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_list ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_list ... ok ironic_python_agent.tests.unit.test_hardware.TestListHardwareInfo.test_caching ironic_python_agent.tests.unit.test_hardware.TestListHardwareInfo.test_caching ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_bank_size ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_bank_size ... ok ERROR [root] Cannot fetch total memory size using psutil version 7 Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/hardware.py", line 1675, in get_memory total = int(psutil.virtual_memory().total) ~~~~~~~~~~~~~~~~~~~~~^^ File "", line 3, in virtual_memory File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect AttributeError ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v1 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v1 ... ok ERROR [root] Cannot fetch total memory size using psutil version 7 Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/hardware.py", line 1675, in get_memory total = int(psutil.virtual_memory().total) ~~~~~~~~~~~~~~~~~~~~~^^ File "", line 3, in virtual_memory File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect AttributeError ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v2 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v2 ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_v1 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_v1 ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_v2 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_v2 ... ok WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' WARNING [root] 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] Can't find field vendor for device sdb in device class block WARNING [root] Device /dev/sdc is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdc' WARNING [root] Can't find field vendor for device sdc in device class block WARNING [root] Device /dev/sdd is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdd' WARNING [root] Can't find field vendor for device sdd in device class block WARNING [root] Device /dev/dm-0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-0' WARNING [root] Can't find field vendor for device dm-0 in device class block ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device ... ok WARNING [root] Using hint {'vendor': 'basic vendor'} skipping devices: /dev/sda,/dev/sdb ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_complete_skip_list ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_complete_skip_list ... ok WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' WARNING [root] 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] Can't find field vendor for device sdb in device class block ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_fails ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_fails ... ok WARNING [root] We have identified a multipath device sda, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] We have identified a multipath device sda2, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] We have identified a multipath device sda3, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] We have identified a multipath device sda1, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] Device /dev/dm-0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-0' WARNING [root] Can't find field vendor for device dm-0 in device class block WARNING [root] We have identified a multipath device sdb, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] We have identified a multipath device sdb2, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] We have identified a multipath device sdb3, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] We have identified a multipath device sdb1, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] Device /dev/sdc is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdc' WARNING [root] Can't find field vendor for device sdc in device class block WARNING [root] Device /dev/dm-1 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-1' WARNING [root] Can't find field vendor for device dm-1 in device class block ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_multipath ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_multipath ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_no_root_device ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_no_root_device ... ok WARNING [root] We have identified a multipath device sda, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] We have identified a multipath device sda2, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] We have identified a multipath device sda3, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] We have identified a multipath device sda1, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] Device /dev/dm-0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-0' WARNING [root] Can't find field vendor for device dm-0 in device class block WARNING [root] We have identified a multipath device sdb, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] We have identified a multipath device sdb2, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] We have identified a multipath device sdb3, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] We have identified a multipath device sdb1, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] Device /dev/sdc is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdc' WARNING [root] Can't find field vendor for device sdc in device class block WARNING [root] Device /dev/dm-1 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-1' WARNING [root] Can't find field vendor for device dm-1 in device class block ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_not_multipath ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_not_multipath ... ok WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' WARNING [root] 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] 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] Can't find field vendor for device md0 in device class block ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_raid ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_raid ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_by_path ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_by_path ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_iinfo ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_iinfo ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_model ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_model ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_name ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_name ... ok WARNING [ironic_python_agent.device_hints] No device found that matches the root device hints {'model': 'fastable sd131 7', 'wwn': 'fake-wwn', 'serial': 'fake-serial', 'vendor': 'fake-vendor', 'size': 10} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_no_device_found ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_no_device_found ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_rotational ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_rotational ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_serial ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_serial ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_not_int ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_not_int ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_str ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_str ... ok WARNING [root] Using hint {'vendor': 'fake-vendor'} skipping devices: /dev/sdb WARNING [ironic_python_agent.device_hints] No device found that matches the root device hints {'wwn': 'fake-wwn'} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_skip_list ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_skip_list ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_vendor ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_vendor ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_wwn ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_wwn ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_skip_list_non_exist ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_skip_list_non_exist ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_just_raids ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_just_raids ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_no_skip_list ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_no_skip_list ... ok WARNING [root] Using hint {'name': '/dev/sdj'} skipping devices: /dev/sdj ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_with_skip_list ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_with_skip_list ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info ... ok WARNING [root] Could not retrieve vendor info from lshw: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info_failure ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info_failure ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info_lshw_list ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info_lshw_list ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_usb_devices ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_usb_devices ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_ipmi_device_exists ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_ipmi_device_exists ... ok WARNING [root] Device /dev/sda is inaccessible, skipping... Error: WARNING [root] Device /dev/sdb is not supported by pyudev, skipping... Error: No block device with number 1234 WARNING [root] Device /dev/sdc is inaccessible, skipping... Error: WARNING [root] We have identified a multipath device sdd, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] Device /dev/dm-0 is inaccessible, skipping... Error: ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device ... ok WARNING [root] We have identified a multipath device sdd, this is being ignored in favor of dm-0 and its related child devices. ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_all_serial ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_all_serial ... ok WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sdb. Skipping ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_hctl_fail ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_hctl_fail ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_only_udev ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_only_udev ... ok WARNING [root] We have identified a multipath device sdd, this is being ignored in favor of dm-0 and its related child devices. ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_udev ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_udev ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_no_skip_list ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_no_skip_list ... ok WARNING [root] Using hint {'name': '/dev/sdj'} skipping devices: /dev/sdj WARNING [root] Using hint {'name': '/dev/hdaa'} skipping devices: /dev/hdaa ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_complete_skip_list ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_complete_skip_list ... ok WARNING [root] Using hint {'name': '/dev/sdj'} skipping devices: /dev/sdj ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_skip_list ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_skip_list ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_skip_list_non_exist ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_skip_list_non_exist ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_including_partitions ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_including_partitions ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_hardware_info ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_hardware_info ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_normal_vs_enhanced_security_erase ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_normal_vs_enhanced_security_erase ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_service_steps_exist ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_service_steps_exist ... ok WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' WARNING [root] 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_validate_configuration_invalid_MAX_MAX ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_MAX_MAX ... ok WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' WARNING [root] 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_validate_configuration_invalid_duplicate_volume_name ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_duplicate_volume_name ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_no_of_raids ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_no_of_raids ... ok WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' WARNING [root] 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_validate_configuration_invalid_raid_level ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_raid_level ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_no_configuration ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_no_configuration ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_valid_raid1 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_valid_raid1 ... ok WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' WARNING [root] 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_validate_configuration_valid_raid1_raidN ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_valid_raid1_raidN ... ok ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries ... ok ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found ... ok ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found_with_dev ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found_with_dev ... ok ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_not_found ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_not_found ... ok ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test__get_actual_component_devices ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test__get_actual_component_devices ... ok ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test__get_actual_component_devices_broken_raid0 ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test__get_actual_component_devices_broken_raid0 ... ok ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device ... ok ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_create_device ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_create_device ... ok WARNING [ironic_python_agent.raid_utils] Found /dev/sdb1 to be missing from /dev/md0 ... re-adding! ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_read_device ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_read_device ... ok WARNING [ironic_python_agent.raid_utils] Found /dev/sdb1 to be missing from /dev/md0 ... re-adding! ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_missing_device ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_missing_device ... ok ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_with_volume_name ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_with_volume_name ... ok ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_get_volume_name_of_raid_device ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_get_volume_name_of_raid_device ... ok ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_get_volume_name_of_raid_device_invalid ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_get_volume_name_of_raid_device_invalid ... ok ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_bios_gpt ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_bios_gpt ... ok ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_bios_msdos ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_bios_msdos ... ok ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt ... ok ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt_efi_provided ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt_efi_provided ... ok ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt_esp_not_found ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt_esp_not_found ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_timeout ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_timeout ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_defaults ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_defaults ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_no_defaults ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_no_defaults ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_raise_missing_config ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_raise_missing_config ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_raise_wrong_config ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_raise_wrong_config ... ok ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_fio ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_fio ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_partner ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_partner ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_role ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_role ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader ... ok ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. Command: None Exit code: 16 Stdout: 'Connection timeout' Stderr: None ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. Command: None Exit code: 16 Stdout: 'Connection timeout' Stderr: None ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. Command: None Exit code: 16 Stdout: 'Connection refused' Stderr: None ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader_loop ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader_loop ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader_w_logfile ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader_w_logfile ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_unknown_role ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_unknown_role ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer_w_logfile ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer_w_logfile ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_default ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_default ... ok ERROR [ironic_python_agent.burnin] stress-ng (cpu) failed with error Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_no_stress_ng ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_no_stress_ng ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_non_default ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_non_default ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_default ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_default ... ok ERROR [ironic_python_agent.burnin] stress-ng (vm) failed with error Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_no_stress_ng ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_no_stress_ng ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_non_default ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_non_default ... ok ironic_python_agent.tests.unit.test_disk_utils.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_utils.GetRouteSourceTestCase.test_get_route_source_indexerror ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_indexerror ... ok ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv4 ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv4 ... ok ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6 ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6 ... ok ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal ... ok ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal_allowed ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal_allowed ... ok ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries_on_50X_error ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries_on_50X_error ... ok ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retry_on_50X_and_succeed ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retry_on_50X_and_succeed ... ok WARNING [ironic_python_agent.inspector] Connection error when accessing url1, trying the next URL. Error: ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_several_urls ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_several_urls ... ok ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_ok ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_ok ... ok ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_send_failure ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_send_failure ... ok 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_qemu_img.ImageInfoTestCase.test_image_info_path_doesnt_exist_disabled ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_doesnt_exist_disabled ... ok ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_disabled ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_disabled ... ok ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_safe ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_safe ... ok ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_unsafe ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_unsafe ... ok ---------------------------------------------------------------------- Ran 1113 tests in 17.616s OK (skipped=2) + stestr slowest Test id Runtime (s) --------------------------------------------------------------------------------------------------------------------------------- ----------- ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries 4.038 ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_socket_read_timeout 3.184 ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_1st 3.017 ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_timeout 2.011 ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retry_on_50X_and_succeed 2.008 ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries_on_50X_error 2.007 ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run 1.154 ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_several_urls 1.112 ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_retries 1.101 ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run_no_tls 1.024 + rm -rf .stestr mkdir -p /build/reproducible-path/ironic-python-agent-10.2.0/debian/ironic-python-agent/etc/ironic-python-agent PYTHONPATH=/build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages oslo-config-generator \ --output-file /build/reproducible-path/ironic-python-agent-10.2.0/debian/ironic-python-agent/etc/ironic-python-agent/ironic-python-agent.conf \ --wrap-width 140 \ --namespace ironic-python-agent dh_install pkgos-fix-config-default DEFAULT collect_lldp true pkgos_inifile: Setting value in DEFAULT:[collect_lldp]/true Config file DEFAULT not readable: exiting make[1]: Leaving directory '/build/reproducible-path/ironic-python-agent-10.2.0' dh_installdocs -O--buildsystem=pybuild debian/rules override_dh_installchangelogs make[1]: Entering directory '/build/reproducible-path/ironic-python-agent-10.2.0' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions if [ -e /build/reproducible-path/ironic-python-agent-10.2.0/debian/CHANGELOG ] ; then \ dh_installchangelogs /build/reproducible-path/ironic-python-agent-10.2.0/debian/CHANGELOG ; \ else \ dh_installchangelogs ; \ fi make[1]: Leaving directory '/build/reproducible-path/ironic-python-agent-10.2.0' debian/rules override_dh_python3 make[1]: Entering directory '/build/reproducible-path/ironic-python-agent-10.2.0' 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:114: replacing shebang in debian/ironic-python-agent/usr/bin/ironic-python-agent I: dh_python3 tools:114: replacing shebang in debian/ironic-python-agent/usr/bin/ironic-collect-introspection-data make[1]: Leaving directory '/build/reproducible-path/ironic-python-agent-10.2.0' debian/rules override_dh_installinit make[1]: Entering directory '/build/reproducible-path/ironic-python-agent-10.2.0' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions # Create the init scripts and systemd unit files from the template set -e ; set -x ; for i in `ls -1 debian/*.init.in` ; do \ MYINIT=`echo $i | sed s/.init.in//` ; \ cp $i $MYINIT.init ; \ 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// + 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 # 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: 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 \ MYINIT=`echo $i | sed s/.init.in/.service.in/` ; \ if ! [ -e $MYINIT ] ; then \ 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/ + MYINIT=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 dh_installinit --error-handler=true make[1]: Leaving directory '/build/reproducible-path/ironic-python-agent-10.2.0' debian/rules override_dh_installsystemd make[1]: Entering directory '/build/reproducible-path/ironic-python-agent-10.2.0' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions # Create the init scripts and systemd unit files from the template set -e ; set -x ; for i in `ls -1 debian/*.init.in` ; do \ MYINIT=`echo $i | sed s/.init.in//` ; \ cp $i $MYINIT.init ; \ 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// + 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 # 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: 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 \ MYINIT=`echo $i | sed s/.init.in/.service.in/` ; \ if ! [ -e $MYINIT ] ; then \ 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/ + MYINIT=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 dh_installsystemd make[1]: Leaving directory '/build/reproducible-path/ironic-python-agent-10.2.0' dh_installlogrotate -O--buildsystem=pybuild dh_perl -O--buildsystem=pybuild dh_link -O--buildsystem=pybuild dh_strip_nondeterminism -O--buildsystem=pybuild dh_compress -O--buildsystem=pybuild dh_fixperms -O--buildsystem=pybuild dh_missing -O--buildsystem=pybuild dh_installdeb -O--buildsystem=pybuild debian/rules override_dh_gencontrol make[1]: Entering directory '/build/reproducible-path/ironic-python-agent-10.2.0' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions if dpkg-vendor --derives-from ubuntu ; then \ dh_gencontrol -- -T/build/reproducible-path/ironic-python-agent-10.2.0/debian/ubuntu_control_vars ; \ else \ dh_gencontrol -- -T/build/reproducible-path/ironic-python-agent-10.2.0/debian/debian_control_vars ; \ fi dpkg-gencontrol: warning: Depends field of package ironic-python-agent: substitution variable ${ostack-lsb-base} used, but is not defined make[1]: Leaving directory '/build/reproducible-path/ironic-python-agent-10.2.0' dh_md5sums -O--buildsystem=pybuild dh_builddeb -O--buildsystem=pybuild dpkg-deb: building package 'ironic-python-agent' in '../ironic-python-agent_10.2.0-3_all.deb'. dpkg-genbuildinfo --build=binary -O../ironic-python-agent_10.2.0-3_amd64.buildinfo dpkg-genchanges --build=binary -O../ironic-python-agent_10.2.0-3_amd64.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration 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/3729440 and its subdirectories I: Current time: Thu Aug 7 06:18:46 -12 2025 I: pbuilder-time-stamp: 1754590726 Thu Aug 7 18:18:47 UTC 2025 I: 1st build successful. Starting 2nd build on remote node ionos15-amd64.debian.net. Thu Aug 7 18:18:47 UTC 2025 I: Preparing to do remote build '2' on ionos15-amd64.debian.net. Thu Aug 7 18:18:47 UTC 2025 - checking /var/lib/jenkins/offline_nodes if ionos15-amd64.debian.net is marked as down. Thu Aug 7 18:18:47 UTC 2025 - checking via ssh if ionos15-amd64.debian.net is up. removed '/tmp/read-only-fs-test-GHLFwU' ==================================================================================== Thu Sep 10 00:41:49 UTC 2026 - running /srv/jenkins/bin/reproducible_build.sh (for job /srv/jenkins/bin/reproducible_build.sh) on ionos15-amd64, called using "2 ironic-python-agent trixie /srv/reproducible-results/rbuild-debian/r-b-build.EnM5AewD 10.2.0-3" as arguments. Thu Sep 10 00:41:49 UTC 2026 - actually running "reproducible_build.sh" (md5sum 44ec6a3142940d5e9a7ab76543d96029) as "/tmp/jenkins-script-UmHmonGv" $ git clone https://salsa.debian.org/qa/jenkins.debian.net.git ; more CONTRIBUTING Thu Sep 10 00:41:49 UTC 2026 I: Downloading source for trixie/ironic-python-agent=10.2.0-3 Reading package lists... NOTICE: 'ironic-python-agent' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/openstack-team/services/ironic-python-agent.git Please use: git clone https://salsa.debian.org/openstack-team/services/ironic-python-agent.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 311 kB of source archives. Get:1 http://deb.debian.org/debian trixie/main ironic-python-agent 10.2.0-3 (dsc) [2679 B] Get:2 http://deb.debian.org/debian trixie/main ironic-python-agent 10.2.0-3 (tar) [301 kB] Get:3 http://deb.debian.org/debian trixie/main ironic-python-agent 10.2.0-3 (diff) [6488 B] Fetched 311 kB in 0s (12.2 MB/s) Download complete and in download only mode Reading package lists... NOTICE: 'ironic-python-agent' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/openstack-team/services/ironic-python-agent.git Please use: git clone https://salsa.debian.org/openstack-team/services/ironic-python-agent.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 311 kB of source archives. Get:1 http://deb.debian.org/debian trixie/main ironic-python-agent 10.2.0-3 (dsc) [2679 B] Get:2 http://deb.debian.org/debian trixie/main ironic-python-agent 10.2.0-3 (tar) [301 kB] Get:3 http://deb.debian.org/debian trixie/main ironic-python-agent 10.2.0-3 (diff) [6488 B] Fetched 311 kB in 0s (12.2 MB/s) Download complete and in download only mode ============================================================================= Re-Building ironic-python-agent in trixie on amd64 on ionos15-amd64 now. Date: Thu Sep 10 00:41:49 UTC 2026 Date UTC: Thu Sep 10 00:41:49 UTC 2026 ============================================================================= ++ mktemp -t pbuilderrc_XXXX --tmpdir=/srv/reproducible-results/rbuild-debian/r-b-build.EnM5AewD + local TMPCFG=/srv/reproducible-results/rbuild-debian/r-b-build.EnM5AewD/pbuilderrc_XbGe + case ${ARCH} in + case $ARCH in + locale=et_EE + language=et + case "${SUITE}" in + reproducible_buildflags=+all + extra_deb_build_options= + case "${SRCPACKAGE}" in + cat + echo BUILDDIR=/build/reproducible-path + '[' ironic-python-agent = debian-installer -o ironic-python-agent = debian-installer-netboot-images ']' + pbuilder_options=() + local pbuilder_options + DEBBUILDOPTS=-b + BINARYTARGET= + '[' ironic-python-agent = u-boot ']' + case "${SRCPACKAGE}" in + PBUILDERTIMEOUT=24 + local PRESULT=0 + sudo 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.EnM5AewD/pbuilderrc_XbGe --distribution trixie --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.EnM5AewD/b2 --logfile b2/build.log ironic-python-agent_10.2.0-3.dsc W: /root/.pbuilderrc does not exist I: Logging to b2/build.log I: pbuilder: network access will be disabled during build I: Current time: Thu Sep 10 14:41:49 +14 2026 I: pbuilder-time-stamp: 1789000909 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: Copying source file I: copying [ironic-python-agent_10.2.0-3.dsc] I: copying [./ironic-python-agent_10.2.0.orig.tar.xz] I: copying [./ironic-python-agent_10.2.0-3.debian.tar.xz] I: Extracting source dpkg-source: warning: cannot verify inline signature for ./ironic-python-agent_10.2.0-3.dsc: no acceptable signature found dpkg-source: info: extracting ironic-python-agent in ironic-python-agent-10.2.0 dpkg-source: info: unpacking ironic-python-agent_10.2.0.orig.tar.xz dpkg-source: info: unpacking ironic-python-agent_10.2.0-3.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying remove-broken-test.patch dpkg-source: info: applying fix-syntax-warning.patch I: using fakeroot in build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/546885/tmp/hooks/D01_modify_environment starting debug: Running on ionos15-amd64. I: Changing host+domainname to test build reproducibility I: Adding a custom variable just for the fun of it... I: Changing /bin/sh to bash '/bin/sh' -> '/bin/bash' lrwxrwxrwx 1 root root 9 Sep 10 00:42 /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/546885/tmp/hooks/D01_modify_environment finished I: user script /srv/workspace/pbuilder/546885/tmp/hooks/D02_print_environment starting I: set BASH=/bin/sh BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath BASH_ALIASES=() BASH_ARGC=() BASH_ARGV=() BASH_CMDS=() BASH_LINENO=([0]="12" [1]="0") BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") BASH_VERSION='5.2.37(1)-release' BUILDDIR=/build/reproducible-path BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' BUILDUSERNAME=pbuilder2 BUILD_ARCH=amd64 DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=42 ' DIRSTACK=() DISTRIBUTION=trixie EUID=0 FUNCNAME=([0]="Echo" [1]="main") GROUPS=() HOME=/root HOSTNAME=i-capture-the-hostname HOSTTYPE=x86_64 HOST_ARCH=amd64 IFS=' ' INVOCATION_ID=4391c03c15c04d31aeda41082212fd7a LANG=C LANGUAGE=et_EE:et LC_ALL=C MACHTYPE=x86_64-pc-linux-gnu MAIL=/var/mail/root OPTERR=1 OPTIND=1 OSTYPE=linux-gnu PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path PBCURRENTCOMMANDLINEOPERATION=build PBUILDER_OPERATION=build PBUILDER_PKGDATADIR=/usr/share/pbuilder PBUILDER_PKGLIBDIR=/usr/lib/pbuilder PBUILDER_SYSCONFDIR=/etc PIPESTATUS=([0]="0") POSIXLY_CORRECT=y PPID=546885 PS4='+ ' 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.EnM5AewD/pbuilderrc_XbGe --distribution trixie --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.EnM5AewD/b2 --logfile b2/build.log ironic-python-agent_10.2.0-3.dsc' SUDO_GID=111 SUDO_UID=106 SUDO_USER=jenkins TERM=unknown TZ=/usr/share/zoneinfo/Etc/GMT-14 UID=0 USER=root _='I: set' http_proxy=http://213.165.73.152:3128 I: uname -a Linux i-capture-the-hostname 6.12.33+deb12-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.33-1~bpo12+1 (2025-07-09) x86_64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 May 12 2025 /bin -> usr/bin I: user script /srv/workspace/pbuilder/546885/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: amd64 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper-compat (= 11), dh-python, libffi-dev, openstack-pkg-tools, python3-all, python3-all-dev, python3-pbr (>= 6.0.0), python3-setuptools, python3-coverage, python3-cryptography, python3-eventlet, python3-hardware, python3-kazoo, python3-oslo.concurrency, python3-oslo.config, python3-oslo.log, python3-oslo.service, python3-oslo.utils (>= 8.0.0), python3-oslotest, python3-pint, python3-psutil, python3-pyudev, python3-requests, python3-stestr, python3-stevedore, python3-tenacity, python3-testtools, python3-tooz, python3-werkzeug, python3-zeroconf, qemu-utils dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19851 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper-compat (= 11); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on dh-python; however: Package dh-python is not installed. pbuilder-satisfydepends-dummy depends on libffi-dev; however: Package libffi-dev is not installed. pbuilder-satisfydepends-dummy depends on openstack-pkg-tools; however: Package openstack-pkg-tools is not installed. pbuilder-satisfydepends-dummy depends on python3-all; however: Package python3-all is not installed. pbuilder-satisfydepends-dummy depends on python3-all-dev; however: Package python3-all-dev is not installed. pbuilder-satisfydepends-dummy depends on python3-pbr (>= 6.0.0); however: Package python3-pbr is not installed. pbuilder-satisfydepends-dummy depends on python3-setuptools; however: Package python3-setuptools is not installed. pbuilder-satisfydepends-dummy depends on python3-coverage; however: Package python3-coverage is not installed. pbuilder-satisfydepends-dummy depends on python3-cryptography; however: Package python3-cryptography is not installed. pbuilder-satisfydepends-dummy depends on python3-eventlet; however: Package python3-eventlet is not installed. pbuilder-satisfydepends-dummy depends on python3-hardware; however: Package python3-hardware is not installed. pbuilder-satisfydepends-dummy depends on python3-kazoo; however: Package python3-kazoo is not installed. pbuilder-satisfydepends-dummy depends on python3-oslo.concurrency; however: Package python3-oslo.concurrency is not installed. pbuilder-satisfydepends-dummy depends on python3-oslo.config; however: Package python3-oslo.config is not installed. pbuilder-satisfydepends-dummy depends on python3-oslo.log; however: Package python3-oslo.log is not installed. pbuilder-satisfydepends-dummy depends on python3-oslo.service; however: Package python3-oslo.service is not installed. pbuilder-satisfydepends-dummy depends on python3-oslo.utils (>= 8.0.0); however: Package python3-oslo.utils is not installed. pbuilder-satisfydepends-dummy depends on python3-oslotest; however: Package python3-oslotest is not installed. pbuilder-satisfydepends-dummy depends on python3-pint; however: Package python3-pint is not installed. pbuilder-satisfydepends-dummy depends on python3-psutil; however: Package python3-psutil is not installed. pbuilder-satisfydepends-dummy depends on python3-pyudev; however: Package python3-pyudev is not installed. pbuilder-satisfydepends-dummy depends on python3-requests; however: Package python3-requests is not installed. pbuilder-satisfydepends-dummy depends on python3-stestr; however: Package python3-stestr is not installed. pbuilder-satisfydepends-dummy depends on python3-stevedore; however: Package python3-stevedore is not installed. pbuilder-satisfydepends-dummy depends on python3-tenacity; however: Package python3-tenacity is not installed. pbuilder-satisfydepends-dummy depends on python3-testtools; however: Package python3-testtools is not installed. pbuilder-satisfydepends-dummy depends on python3-tooz; however: Package python3-tooz is not installed. pbuilder-satisfydepends-dummy depends on python3-werkzeug; however: Package python3-werkzeug is not installed. pbuilder-satisfydepends-dummy depends on python3-zeroconf; however: Package python3-zeroconf is not installed. pbuilder-satisfydepends-dummy depends on qemu-utils; however: Package qemu-utils is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} ca-certificates{a} debhelper{a} dh-autoreconf{a} dh-python{a} dh-strip-nondeterminism{a} docutils-common{a} dwz{a} ethtool{a} file{a} freeipmi-common{a} gettext{a} gettext-base{a} groff-base{a} hdparm{a} ieee-data{a} intltool-debian{a} ipmitool{a} jq{a} libabsl20240722{a} libaio1t64{a} libarchive-zip-perl{a} libcares2{a} libcom-err2{a} libconfig11{a} libdebhelper-perl{a} libelf1t64{a} libev4t64{a} libexpat1{a} libexpat1-dev{a} libffi-dev{a} libffi8{a} libfile-stripnondeterminism-perl{a} libfreeipmi17{a} libgcrypt20{a} libglib2.0-0t64{a} libgnutls30t64{a} libgpg-error0{a} libgssapi-krb5-2{a} libice6{a} libidn2-0{a} libjq1{a} libjs-jquery{a} libjs-sphinxdoc{a} libjs-underscore{a} libk5crypto3{a} libkeyutils1{a} libkmod2{a} libkrb5-3{a} libkrb5support0{a} libmagic-mgc{a} libmagic1t64{a} libmnl0{a} libnl-3-200{a} libnuma1{a} libonig5{a} libp11-kit0{a} libpci3{a} libpipeline1{a} libproc2-0{a} libprotobuf32t64{a} libpsl5t64{a} libpython3-all-dev{a} libpython3-dev{a} libpython3-stdlib{a} libpython3.13{a} libpython3.13-dev{a} libpython3.13-minimal{a} libpython3.13-stdlib{a} libre2-11{a} libreadline8t64{a} libsm6{a} libsubunit-perl{a} libtasn1-6{a} libtool{a} libuchardet0{a} libunistring5{a} liburing2{a} libx11-6{a} libx11-data{a} libxau6{a} libxcb1{a} libxdmcp6{a} libxext6{a} libxml2{a} libxmu6{a} libxslt1.1{a} libxt6t64{a} libyaml-0-2{a} lldpad{a} lsb-release{a} lshw{a} m4{a} man-db{a} media-types{a} netbase{a} openssl{a} openstack-pkg-tools{a} pci.ids{a} pciutils{a} po-debconf{a} procps{a} python-babel-localedata{a} python3{a} python3-all{a} python3-all-dev{a} python3-autocommand{a} python3-autopage{a} python3-babel{a} python3-bcrypt{a} python3-blinker{a} python3-certifi{a} python3-cffi-backend{a} python3-chardet{a} python3-charset-normalizer{a} python3-cliff{a} python3-cmd2{a} python3-coverage{a} python3-cryptography{a} python3-dateutil{a} python3-debtcollector{a} python3-decorator{a} python3-deprecation{a} python3-dev{a} python3-dnspython{a} python3-docutils{a} python3-dogpile.cache{a} python3-etcd3{a} python3-etcd3gw{a} python3-eventlet{a} python3-extras{a} python3-fasteners{a} python3-fixtures{a} python3-flexcache{a} python3-flexparser{a} python3-futurist{a} python3-gevent{a} python3-greenlet{a} python3-grpcio{a} python3-hardware{a} python3-idna{a} python3-ifaddr{a} python3-inflect{a} python3-iso8601{a} python3-jaraco.context{a} python3-jaraco.functools{a} python3-jaraco.text{a} python3-jinja2{a} python3-jmespath{a} python3-json-pointer{a} python3-jsonpatch{a} python3-jwt{a} python3-kazoo{a} python3-kerberos{a} python3-keystoneauth1{a} python3-legacy-cgi{a} python3-lxml{a} python3-mako{a} python3-markupsafe{a} python3-minimal{a} python3-monotonic{a} python3-more-itertools{a} python3-msgpack{a} python3-netaddr{a} python3-oauthlib{a} python3-openstacksdk{a} python3-os-client-config{a} python3-os-service-types{a} python3-oslo.concurrency{a} python3-oslo.config{a} python3-oslo.context{a} python3-oslo.i18n{a} python3-oslo.log{a} python3-oslo.serialization{a} python3-oslo.service{a} python3-oslo.utils{a} python3-oslotest{a} python3-packaging{a} python3-paste{a} python3-pastedeploy{a} python3-pastedeploy-tpl{a} python3-pbr{a} python3-pexpect{a} python3-pint{a} python3-pip{a} python3-pkg-resources{a} python3-platformdirs{a} python3-prettytable{a} python3-protobuf{a} python3-psutil{a} python3-ptyprocess{a} python3-pure-sasl{a} python3-pyasyncore{a} python3-pymemcache{a} python3-pymysql{a} python3-pyparsing{a} python3-pyperclip{a} python3-pytz{a} python3-pyudev{a} python3-redis{a} python3-repoze.lru{a} python3-requests{a} python3-requestsexceptions{a} python3-rfc3986{a} python3-roman{a} python3-routes{a} python3-setuptools{a} python3-six{a} python3-stestr{a} python3-stevedore{a} python3-subunit{a} python3-tempita{a} python3-tenacity{a} python3-testtools{a} python3-tomlkit{a} python3-tooz{a} python3-typeguard{a} python3-typing-extensions{a} python3-tz{a} python3-urllib3{a} python3-voluptuous{a} python3-wcwidth{a} python3-webob{a} python3-werkzeug{a} python3-wheel{a} python3-wrapt{a} python3-yaml{a} python3-yappi{a} python3-zake{a} python3-zeroconf{a} python3-zipp{a} python3-zope.event{a} python3-zope.interface{a} python3.13{a} python3.13-dev{a} python3.13-minimal{a} qemu-utils{a} readline-common{a} sensible-utils{a} sgml-base{a} smartmontools{a} subunit{a} tzdata{a} wget{a} x11-common{a} xclip{a} xml-core{a} zlib1g-dev{a} The following packages are RECOMMENDED but will NOT be installed: autopkgtest gir1.2-glib-2.0 javascript-common krb5-locales libarchive-cpio-perl libglib2.0-data libgpg-error-l10n libltdl-dev libmail-sendmail-perl libpaper-utils linux-sysctl-defaults madison-lite openipmi powermgmt-base pristine-tar psmisc publicsuffix python3-bs4 python3-cssselect python3-gi python3-h2 python3-html5lib python3-httpcore python3-httpx python3-openssl python3-pastescript python3-pil python3-pygments python3-pyinotify qemu-block-extra shared-mime-info usb.ids xauth xdg-user-dirs 0 packages upgraded, 252 newly installed, 0 to remove and 0 not upgraded. Need to get 73.4 MB of archives. After unpacking 313 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian trixie/main amd64 freeipmi-common all 1.6.15-1 [357 kB] Get: 2 http://deb.debian.org/debian trixie/main amd64 libgpg-error0 amd64 1.51-4 [82.1 kB] Get: 3 http://deb.debian.org/debian trixie/main amd64 libgcrypt20 amd64 1.11.0-7 [843 kB] Get: 4 http://deb.debian.org/debian trixie/main amd64 libfreeipmi17 amd64 1.6.15-1 [1044 kB] Get: 5 http://deb.debian.org/debian trixie/main amd64 readline-common all 8.2-6 [69.4 kB] Get: 6 http://deb.debian.org/debian trixie/main amd64 libreadline8t64 amd64 8.2-6 [169 kB] Get: 7 http://deb.debian.org/debian trixie/main amd64 ipmitool amd64 1.8.19-9 [2042 kB] Get: 8 http://deb.debian.org/debian trixie/main amd64 libexpat1 amd64 2.7.1-2 [108 kB] Get: 9 http://deb.debian.org/debian trixie/main amd64 libconfig11 amd64 1.7.3-2 [33.7 kB] Get: 10 http://deb.debian.org/debian trixie/main amd64 libnl-3-200 amd64 3.7.0-2 [59.4 kB] Get: 11 http://deb.debian.org/debian trixie/main amd64 lldpad amd64 1.1.1-1+b1 [250 kB] Get: 12 http://deb.debian.org/debian trixie/main amd64 libpython3.13-minimal amd64 3.13.5-2 [862 kB] Get: 13 http://deb.debian.org/debian trixie/main amd64 python3.13-minimal amd64 3.13.5-2 [2224 kB] Get: 14 http://deb.debian.org/debian trixie/main amd64 python3-minimal amd64 3.13.5-1 [27.2 kB] Get: 15 http://deb.debian.org/debian trixie/main amd64 media-types all 13.0.0 [29.3 kB] Get: 16 http://deb.debian.org/debian trixie/main amd64 netbase all 6.5 [12.4 kB] Get: 17 http://deb.debian.org/debian trixie/main amd64 tzdata all 2025b-4 [260 kB] Get: 18 http://deb.debian.org/debian trixie/main amd64 libffi8 amd64 3.4.8-2 [24.1 kB] Get: 19 http://deb.debian.org/debian trixie/main amd64 libpython3.13-stdlib amd64 3.13.5-2 [1956 kB] Get: 20 http://deb.debian.org/debian trixie/main amd64 python3.13 amd64 3.13.5-2 [757 kB] Get: 21 http://deb.debian.org/debian trixie/main amd64 libpython3-stdlib amd64 3.13.5-1 [10.2 kB] Get: 22 http://deb.debian.org/debian trixie/main amd64 python3 amd64 3.13.5-1 [28.2 kB] Get: 23 http://deb.debian.org/debian trixie/main amd64 libproc2-0 amd64 2:4.0.4-9 [65.6 kB] Get: 24 http://deb.debian.org/debian trixie/main amd64 procps amd64 2:4.0.4-9 [882 kB] Get: 25 http://deb.debian.org/debian trixie/main amd64 sensible-utils all 0.0.25 [25.0 kB] Get: 26 http://deb.debian.org/debian trixie/main amd64 openssl amd64 3.5.1-1 [1494 kB] Get: 27 http://deb.debian.org/debian trixie/main amd64 ca-certificates all 20250419 [162 kB] Get: 28 http://deb.debian.org/debian trixie/main amd64 libmagic-mgc amd64 1:5.46-5 [338 kB] Get: 29 http://deb.debian.org/debian trixie/main amd64 libmagic1t64 amd64 1:5.46-5 [109 kB] Get: 30 http://deb.debian.org/debian trixie/main amd64 file amd64 1:5.46-5 [43.6 kB] Get: 31 http://deb.debian.org/debian trixie/main amd64 gettext-base amd64 0.23.1-2 [243 kB] Get: 32 http://deb.debian.org/debian trixie/main amd64 libuchardet0 amd64 0.0.8-1+b2 [68.9 kB] Get: 33 http://deb.debian.org/debian trixie/main amd64 groff-base amd64 1.23.0-9 [1187 kB] Get: 34 http://deb.debian.org/debian trixie/main amd64 bsdextrautils amd64 2.41-5 [94.6 kB] Get: 35 http://deb.debian.org/debian trixie/main amd64 libpipeline1 amd64 1.5.8-1 [42.0 kB] Get: 36 http://deb.debian.org/debian trixie/main amd64 man-db amd64 2.13.1-1 [1469 kB] Get: 37 http://deb.debian.org/debian trixie/main amd64 libkmod2 amd64 34.2-2 [63.2 kB] Get: 38 http://deb.debian.org/debian trixie/main amd64 pci.ids all 0.0~2025.06.09-1 [269 kB] Get: 39 http://deb.debian.org/debian trixie/main amd64 libpci3 amd64 1:3.13.0-2 [75.6 kB] Get: 40 http://deb.debian.org/debian trixie/main amd64 pciutils amd64 1:3.13.0-2 [129 kB] Get: 41 http://deb.debian.org/debian trixie/main amd64 libunistring5 amd64 1.3-2 [477 kB] Get: 42 http://deb.debian.org/debian trixie/main amd64 libidn2-0 amd64 2.3.8-2 [109 kB] Get: 43 http://deb.debian.org/debian trixie/main amd64 libp11-kit0 amd64 0.25.5-3 [425 kB] Get: 44 http://deb.debian.org/debian trixie/main amd64 libtasn1-6 amd64 4.20.0-2 [49.9 kB] Get: 45 http://deb.debian.org/debian trixie/main amd64 libgnutls30t64 amd64 3.8.9-3 [1465 kB] Get: 46 http://deb.debian.org/debian trixie/main amd64 libpsl5t64 amd64 0.21.2-1.1+b1 [57.2 kB] Get: 47 http://deb.debian.org/debian trixie/main amd64 wget amd64 1.25.0-2 [984 kB] Get: 48 http://deb.debian.org/debian trixie/main amd64 m4 amd64 1.4.19-8 [294 kB] Get: 49 http://deb.debian.org/debian trixie/main amd64 autoconf all 2.72-3.1 [494 kB] Get: 50 http://deb.debian.org/debian trixie/main amd64 autotools-dev all 20240727.1 [60.2 kB] Get: 51 http://deb.debian.org/debian trixie/main amd64 automake all 1:1.17-4 [862 kB] Get: 52 http://deb.debian.org/debian trixie/main amd64 autopoint all 0.23.1-2 [770 kB] Get: 53 http://deb.debian.org/debian trixie/main amd64 libdebhelper-perl all 13.24.2 [90.9 kB] Get: 54 http://deb.debian.org/debian trixie/main amd64 libtool all 2.5.4-4 [539 kB] Get: 55 http://deb.debian.org/debian trixie/main amd64 dh-autoreconf all 20 [17.1 kB] Get: 56 http://deb.debian.org/debian trixie/main amd64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 57 http://deb.debian.org/debian trixie/main amd64 libfile-stripnondeterminism-perl all 1.14.1-2 [19.7 kB] Get: 58 http://deb.debian.org/debian trixie/main amd64 dh-strip-nondeterminism all 1.14.1-2 [8620 B] Get: 59 http://deb.debian.org/debian trixie/main amd64 libelf1t64 amd64 0.192-4 [189 kB] Get: 60 http://deb.debian.org/debian trixie/main amd64 dwz amd64 0.15-1+b1 [110 kB] Get: 61 http://deb.debian.org/debian trixie/main amd64 libxml2 amd64 2.12.7+dfsg+really2.9.14-2.1 [698 kB] Get: 62 http://deb.debian.org/debian trixie/main amd64 gettext amd64 0.23.1-2 [1680 kB] Get: 63 http://deb.debian.org/debian trixie/main amd64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 64 http://deb.debian.org/debian trixie/main amd64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 65 http://deb.debian.org/debian trixie/main amd64 debhelper all 13.24.2 [919 kB] Get: 66 http://deb.debian.org/debian trixie/main amd64 dh-python all 6.20250414 [116 kB] Get: 67 http://deb.debian.org/debian trixie/main amd64 sgml-base all 1.31+nmu1 [10.9 kB] Get: 68 http://deb.debian.org/debian trixie/main amd64 xml-core all 0.19 [20.1 kB] Get: 69 http://deb.debian.org/debian trixie/main amd64 docutils-common all 0.21.2+dfsg-2 [128 kB] Get: 70 http://deb.debian.org/debian trixie/main amd64 libmnl0 amd64 1.0.5-3 [11.9 kB] Get: 71 http://deb.debian.org/debian trixie/main amd64 ethtool amd64 1:6.14.1-1 [227 kB] Get: 72 http://deb.debian.org/debian trixie/main amd64 hdparm amd64 9.65+ds-1.1 [107 kB] Get: 73 http://deb.debian.org/debian trixie/main amd64 ieee-data all 20240722 [2221 kB] Get: 74 http://deb.debian.org/debian trixie/main amd64 libonig5 amd64 6.9.9-1+b1 [189 kB] Get: 75 http://deb.debian.org/debian trixie/main amd64 libjq1 amd64 1.7.1-6+deb13u1 [164 kB] Get: 76 http://deb.debian.org/debian trixie/main amd64 jq amd64 1.7.1-6+deb13u1 [77.7 kB] Get: 77 http://deb.debian.org/debian trixie/main amd64 libabsl20240722 amd64 20240722.0-4 [492 kB] Get: 78 http://deb.debian.org/debian trixie/main amd64 libaio1t64 amd64 0.3.113-8+b1 [14.9 kB] Get: 79 http://deb.debian.org/debian trixie/main amd64 libcares2 amd64 1.34.5-1 [98.2 kB] Get: 80 http://deb.debian.org/debian trixie/main amd64 libcom-err2 amd64 1.47.2-3+b3 [25.0 kB] Get: 81 http://deb.debian.org/debian trixie/main amd64 libev4t64 amd64 1:4.33-2.1+b1 [42.4 kB] Get: 82 http://deb.debian.org/debian trixie/main amd64 libexpat1-dev amd64 2.7.1-2 [161 kB] Get: 83 http://deb.debian.org/debian trixie/main amd64 libffi-dev amd64 3.4.8-2 [61.1 kB] Get: 84 http://deb.debian.org/debian trixie/main amd64 libglib2.0-0t64 amd64 2.84.3-1 [1515 kB] Get: 85 http://deb.debian.org/debian trixie/main amd64 libkrb5support0 amd64 1.21.3-5 [33.0 kB] Get: 86 http://deb.debian.org/debian trixie/main amd64 libk5crypto3 amd64 1.21.3-5 [81.5 kB] Get: 87 http://deb.debian.org/debian trixie/main amd64 libkeyutils1 amd64 1.6.3-6 [9456 B] Get: 88 http://deb.debian.org/debian trixie/main amd64 libkrb5-3 amd64 1.21.3-5 [326 kB] Get: 89 http://deb.debian.org/debian trixie/main amd64 libgssapi-krb5-2 amd64 1.21.3-5 [138 kB] Get: 90 http://deb.debian.org/debian trixie/main amd64 x11-common all 1:7.7+24 [217 kB] Get: 91 http://deb.debian.org/debian trixie/main amd64 libice6 amd64 2:1.1.1-1 [65.4 kB] Get: 92 http://deb.debian.org/debian trixie/main amd64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [326 kB] Get: 93 http://deb.debian.org/debian trixie/main amd64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [116 kB] Get: 94 http://deb.debian.org/debian trixie/main amd64 libjs-sphinxdoc all 8.1.3-5 [30.5 kB] Get: 95 http://deb.debian.org/debian trixie/main amd64 libnuma1 amd64 2.0.19-1 [22.2 kB] Get: 96 http://deb.debian.org/debian trixie/main amd64 libprotobuf32t64 amd64 3.21.12-11 [983 kB] Get: 97 http://deb.debian.org/debian trixie/main amd64 libpython3.13 amd64 3.13.5-2 [2160 kB] Get: 98 http://deb.debian.org/debian trixie/main amd64 zlib1g-dev amd64 1:1.3.dfsg+really1.3.1-1+b1 [920 kB] Get: 99 http://deb.debian.org/debian trixie/main amd64 libpython3.13-dev amd64 3.13.5-2 [5291 kB] Get: 100 http://deb.debian.org/debian trixie/main amd64 libpython3-dev amd64 3.13.5-1 [10.4 kB] Get: 101 http://deb.debian.org/debian trixie/main amd64 libpython3-all-dev amd64 3.13.5-1 [1068 B] Get: 102 http://deb.debian.org/debian trixie/main amd64 libre2-11 amd64 20240702-3+b1 [169 kB] Get: 103 http://deb.debian.org/debian trixie/main amd64 libsm6 amd64 2:1.2.6-1 [37.3 kB] Get: 104 http://deb.debian.org/debian trixie/main amd64 libsubunit-perl all 1.4.2-3 [5724 B] Get: 105 http://deb.debian.org/debian trixie/main amd64 liburing2 amd64 2.9-1 [26.4 kB] Get: 106 http://deb.debian.org/debian trixie/main amd64 libxau6 amd64 1:1.0.11-1 [20.4 kB] Get: 107 http://deb.debian.org/debian trixie/main amd64 libxdmcp6 amd64 1:1.1.5-1 [27.8 kB] Get: 108 http://deb.debian.org/debian trixie/main amd64 libxcb1 amd64 1.17.0-2+b1 [144 kB] Get: 109 http://deb.debian.org/debian trixie/main amd64 libx11-data all 2:1.8.12-1 [343 kB] Get: 110 http://deb.debian.org/debian trixie/main amd64 libx11-6 amd64 2:1.8.12-1 [815 kB] Get: 111 http://deb.debian.org/debian trixie/main amd64 libxext6 amd64 2:1.3.4-1+b3 [50.4 kB] Get: 112 http://deb.debian.org/debian trixie/main amd64 libxt6t64 amd64 1:1.2.1-1.2+b2 [188 kB] Get: 113 http://deb.debian.org/debian trixie/main amd64 libxmu6 amd64 2:1.1.3-3+b4 [59.0 kB] Get: 114 http://deb.debian.org/debian trixie/main amd64 libxslt1.1 amd64 1.1.35-1.2 [233 kB] Get: 115 http://deb.debian.org/debian trixie/main amd64 libyaml-0-2 amd64 0.2.5-2 [52.5 kB] Get: 116 http://deb.debian.org/debian trixie/main amd64 lsb-release all 12.1-1 [5912 B] Get: 117 http://deb.debian.org/debian trixie/main amd64 lshw amd64 02.19.git.2021.06.19.996aaad9c7-2.1 [312 kB] Get: 118 http://deb.debian.org/debian trixie/main amd64 python3-packaging all 25.0-1 [56.6 kB] Get: 119 http://deb.debian.org/debian trixie/main amd64 python3-wheel all 0.46.1-2 [21.7 kB] Get: 120 http://deb.debian.org/debian trixie/main amd64 python3-pip all 25.1.1+dfsg-1 [1457 kB] Get: 121 http://deb.debian.org/debian trixie/main amd64 openstack-pkg-tools all 135 [98.7 kB] Get: 122 http://deb.debian.org/debian trixie/main amd64 python-babel-localedata all 2.17.0-1 [6050 kB] Get: 123 http://deb.debian.org/debian trixie/main amd64 python3-all amd64 3.13.5-1 [1048 B] Get: 124 http://deb.debian.org/debian trixie/main amd64 python3.13-dev amd64 3.13.5-2 [504 kB] Get: 125 http://deb.debian.org/debian trixie/main amd64 python3-dev amd64 3.13.5-1 [26.1 kB] Get: 126 http://deb.debian.org/debian trixie/main amd64 python3-all-dev amd64 3.13.5-1 [1068 B] Get: 127 http://deb.debian.org/debian trixie/main amd64 python3-autocommand all 2.2.2-3 [13.6 kB] Get: 128 http://deb.debian.org/debian trixie/main amd64 python3-autopage all 0.4.0-4 [12.9 kB] Get: 129 http://deb.debian.org/debian trixie/main amd64 python3-babel all 2.17.0-1 [117 kB] Get: 130 http://deb.debian.org/debian trixie/main amd64 python3-bcrypt amd64 4.2.0-2.1+b1 [211 kB] Get: 131 http://deb.debian.org/debian trixie/main amd64 python3-blinker all 1.9.0-1 [12.6 kB] Get: 132 http://deb.debian.org/debian trixie/main amd64 python3-certifi all 2025.1.31+ds-1 [9652 B] Get: 133 http://deb.debian.org/debian trixie/main amd64 python3-cffi-backend amd64 1.17.1-3 [93.4 kB] Get: 134 http://deb.debian.org/debian trixie/main amd64 python3-chardet all 5.2.0+dfsg-2 [108 kB] Get: 135 http://deb.debian.org/debian trixie/main amd64 python3-charset-normalizer amd64 3.4.2-1 [128 kB] Get: 136 http://deb.debian.org/debian trixie/main amd64 python3-wcwidth all 0.2.13+dfsg1-1 [24.9 kB] Get: 137 http://deb.debian.org/debian trixie/main amd64 xclip amd64 0.13-4 [21.3 kB] Get: 138 http://deb.debian.org/debian trixie/main amd64 python3-pyperclip all 1.8.2-2 [13.2 kB] Get: 139 http://deb.debian.org/debian trixie/main amd64 python3-cmd2 all 2.5.11+ds-1 [150 kB] Get: 140 http://deb.debian.org/debian trixie/main amd64 python3-roman all 5.0-1 [10.6 kB] Get: 141 http://deb.debian.org/debian trixie/main amd64 python3-docutils all 0.21.2+dfsg-2 [403 kB] Get: 142 http://deb.debian.org/debian trixie/main amd64 python3-more-itertools all 10.7.0-1 [67.4 kB] Get: 143 http://deb.debian.org/debian trixie/main amd64 python3-typing-extensions all 4.13.2-1 [90.5 kB] Get: 144 http://deb.debian.org/debian trixie/main amd64 python3-typeguard all 4.4.2-1 [37.3 kB] Get: 145 http://deb.debian.org/debian trixie/main amd64 python3-inflect all 7.3.1-2 [32.4 kB] Get: 146 http://deb.debian.org/debian trixie/main amd64 python3-jaraco.context all 6.0.1-1 [8276 B] Get: 147 http://deb.debian.org/debian trixie/main amd64 python3-jaraco.functools all 4.1.0-1 [12.0 kB] Get: 148 http://deb.debian.org/debian trixie/main amd64 python3-pkg-resources all 78.1.1-0.1 [224 kB] Get: 149 http://deb.debian.org/debian trixie/main amd64 python3-jaraco.text all 4.0.0-1 [11.4 kB] Get: 150 http://deb.debian.org/debian trixie/main amd64 python3-zipp all 3.21.0-1 [10.6 kB] Get: 151 http://deb.debian.org/debian trixie/main amd64 python3-setuptools all 78.1.1-0.1 [738 kB] Get: 152 http://deb.debian.org/debian trixie/main amd64 python3-pbr all 6.1.1-2 [57.1 kB] Get: 153 http://deb.debian.org/debian trixie/main amd64 python3-prettytable all 3.15.1-1 [41.8 kB] Get: 154 http://deb.debian.org/debian trixie/main amd64 python3-stevedore all 5.4.1-2 [20.9 kB] Get: 155 http://deb.debian.org/debian trixie/main amd64 python3-yaml amd64 6.0.2-1+b2 [136 kB] Get: 156 http://deb.debian.org/debian trixie/main amd64 python3-cliff all 4.9.1-2 [44.2 kB] Get: 157 http://deb.debian.org/debian trixie/main amd64 python3-coverage amd64 7.6.0+dfsg1-2+b2 [175 kB] Get: 158 http://deb.debian.org/debian trixie/main amd64 python3-cryptography amd64 43.0.0-3 [941 kB] Get: 159 http://deb.debian.org/debian trixie/main amd64 python3-dateutil all 2.9.0-4 [79.4 kB] Get: 160 http://deb.debian.org/debian trixie/main amd64 python3-wrapt amd64 1.15.0-4+b1 [43.6 kB] Get: 161 http://deb.debian.org/debian trixie/main amd64 python3-debtcollector all 3.0.0-5 [13.2 kB] Get: 162 http://deb.debian.org/debian trixie/main amd64 python3-decorator all 5.2.1-2 [33.0 kB] Get: 163 http://deb.debian.org/debian trixie/main amd64 python3-deprecation all 2.1.0-4 [14.7 kB] Get: 164 http://deb.debian.org/debian trixie/main amd64 python3-dnspython all 2.7.0-1 [164 kB] Get: 165 http://deb.debian.org/debian trixie/main amd64 python3-markupsafe amd64 2.1.5-1+b3 [14.0 kB] Get: 166 http://deb.debian.org/debian trixie/main amd64 python3-mako all 1.3.9-1 [83.6 kB] Get: 167 http://deb.debian.org/debian trixie/main amd64 python3-dogpile.cache all 1.3.3-1 [46.0 kB] Get: 168 http://deb.debian.org/debian trixie/main amd64 python3-protobuf amd64 3.21.12-11 [251 kB] Get: 169 http://deb.debian.org/debian trixie/main amd64 python3-grpcio amd64 1.51.1-6 [2344 kB] Get: 170 http://deb.debian.org/debian trixie/main amd64 python3-six all 1.17.0-1 [16.5 kB] Get: 171 http://deb.debian.org/debian trixie/main amd64 python3-tenacity all 8.4.2+really8.4.1-2 [46.0 kB] Get: 172 http://deb.debian.org/debian trixie/main amd64 python3-etcd3 all 0.12.0-3 [31.0 kB] Get: 173 http://deb.debian.org/debian trixie/main amd64 python3-greenlet amd64 3.1.0-1+b2 [165 kB] Get: 174 http://deb.debian.org/debian trixie/main amd64 python3-futurist all 3.1.0-2 [24.1 kB] Get: 175 http://deb.debian.org/debian trixie/main amd64 python3-idna all 3.10-1 [42.0 kB] Get: 176 http://deb.debian.org/debian trixie/main amd64 python3-urllib3 all 2.3.0-3 [115 kB] Get: 177 http://deb.debian.org/debian trixie/main amd64 python3-requests all 2.32.3+dfsg-5 [72.2 kB] Get: 178 http://deb.debian.org/debian trixie/main amd64 python3-etcd3gw all 2.4.2-3 [13.9 kB] Get: 179 http://deb.debian.org/debian trixie/main amd64 python3-eventlet all 0.39.1-2 [310 kB] Get: 180 http://deb.debian.org/debian trixie/main amd64 python3-extras all 1.0.0-6 [7528 B] Get: 181 http://deb.debian.org/debian trixie/main amd64 python3-monotonic all 1.6-3 [5340 B] Get: 182 http://deb.debian.org/debian trixie/main amd64 python3-fasteners all 0.18-2 [14.0 kB] Get: 183 http://deb.debian.org/debian trixie/main amd64 python3-testtools all 2.7.2-5 [123 kB] Get: 184 http://deb.debian.org/debian trixie/main amd64 python3-fixtures all 4.1.0-3 [34.2 kB] Get: 185 http://deb.debian.org/debian trixie/main amd64 python3-flexcache all 0.3-2 [13.5 kB] Get: 186 http://deb.debian.org/debian trixie/main amd64 python3-flexparser all 0.4-1 [42.9 kB] Get: 187 http://deb.debian.org/debian trixie/main amd64 python3-zope.event all 5.0-0.1 [8164 B] Get: 188 http://deb.debian.org/debian trixie/main amd64 python3-zope.interface amd64 7.2-1+b1 [152 kB] Get: 189 http://deb.debian.org/debian trixie/main amd64 python3-gevent amd64 24.11.1-1+b1 [829 kB] Get: 190 http://deb.debian.org/debian trixie/main amd64 python3-ptyprocess all 0.7.0-6 [14.5 kB] Get: 191 http://deb.debian.org/debian trixie/main amd64 python3-pexpect all 4.9-3 [55.6 kB] Get: 192 http://deb.debian.org/debian trixie/main amd64 smartmontools amd64 7.4-3 [648 kB] Get: 193 http://deb.debian.org/debian trixie/main amd64 python3-hardware all 0.30.0-4 [57.0 kB] Get: 194 http://deb.debian.org/debian trixie/main amd64 python3-ifaddr all 0.2.0-2 [9916 B] Get: 195 http://deb.debian.org/debian trixie/main amd64 python3-iso8601 all 2.1.0-2 [12.1 kB] Get: 196 http://deb.debian.org/debian trixie/main amd64 python3-jinja2 all 3.1.6-1 [107 kB] Get: 197 http://deb.debian.org/debian trixie/main amd64 python3-jmespath all 1.0.1-1 [21.1 kB] Get: 198 http://deb.debian.org/debian trixie/main amd64 python3-json-pointer all 2.4-3 [14.6 kB] Get: 199 http://deb.debian.org/debian trixie/main amd64 python3-jsonpatch all 1.32-5 [12.1 kB] Get: 200 http://deb.debian.org/debian trixie/main amd64 python3-jwt all 2.10.1-2 [31.3 kB] Get: 201 http://deb.debian.org/debian trixie/main amd64 python3-kerberos amd64 1.1.14-3.1+b11 [20.4 kB] Get: 202 http://deb.debian.org/debian trixie/main amd64 python3-pure-sasl all 0.5.1+dfsg1-5 [11.9 kB] Get: 203 http://deb.debian.org/debian trixie/main amd64 python3-kazoo all 2.9.0-2 [115 kB] Get: 204 http://deb.debian.org/debian trixie/main amd64 python3-lxml amd64 5.4.0-1 [1297 kB] Get: 205 http://deb.debian.org/debian trixie/main amd64 python3-oauthlib all 3.2.2-3 [95.6 kB] Get: 206 http://deb.debian.org/debian trixie/main amd64 python3-os-service-types all 1.7.0-5 [12.6 kB] Get: 207 http://deb.debian.org/debian trixie/main amd64 python3-keystoneauth1 all 5.10.0-2 [164 kB] Get: 208 http://deb.debian.org/debian trixie/main amd64 python3-legacy-cgi all 2.6.3-1 [16.5 kB] Get: 209 http://deb.debian.org/debian trixie/main amd64 python3-msgpack amd64 1.0.3-3+b4 [84.5 kB] Get: 210 http://deb.debian.org/debian trixie/main amd64 python3-netaddr all 1.3.0-1 [356 kB] Get: 211 http://deb.debian.org/debian trixie/main amd64 python3-platformdirs all 4.3.7-1 [16.6 kB] Get: 212 http://deb.debian.org/debian trixie/main amd64 python3-psutil amd64 7.0.0-2 [220 kB] Get: 213 http://deb.debian.org/debian trixie/main amd64 python3-requestsexceptions all 1.4.0-5 [3860 B] Get: 214 http://deb.debian.org/debian trixie/main amd64 python3-openstacksdk all 4.4.0-5 [681 kB] Get: 215 http://deb.debian.org/debian trixie/main amd64 python3-os-client-config all 2.1.0-3 [17.5 kB] Get: 216 http://deb.debian.org/debian trixie/main amd64 python3-oslo.i18n all 6.5.1-3 [19.2 kB] Get: 217 http://deb.debian.org/debian trixie/main amd64 python3-oslo.context all 5.7.1-3 [13.4 kB] Get: 218 http://deb.debian.org/debian trixie/main amd64 python3-pyparsing all 3.1.2-1 [146 kB] Get: 219 http://deb.debian.org/debian trixie/main amd64 python3-pytz all 2025.2-3 [152 kB] Get: 220 http://deb.debian.org/debian trixie/main amd64 python3-tz all 2025.2-3 [4280 B] Get: 221 http://deb.debian.org/debian trixie/main amd64 python3-oslo.utils all 8.2.0-4 [83.9 kB] Get: 222 http://deb.debian.org/debian trixie/main amd64 python3-oslo.serialization all 5.7.0-3 [14.7 kB] Get: 223 http://deb.debian.org/debian trixie/main amd64 python3-pyasyncore all 1.0.2-3 [10.1 kB] Get: 224 http://deb.debian.org/debian trixie/main amd64 python3-oslo.log all 7.1.0-4 [43.0 kB] Get: 225 http://deb.debian.org/debian trixie/main amd64 python3-rfc3986 all 2.0.0-3 [21.6 kB] Get: 226 http://deb.debian.org/debian trixie/main amd64 python3-oslo.config all 1:9.7.1-3 [108 kB] Get: 227 http://deb.debian.org/debian trixie/main amd64 python3-oslo.concurrency all 7.1.0-3 [27.2 kB] Get: 228 http://deb.debian.org/debian trixie/main amd64 python3-tempita all 0.6.0-1 [14.6 kB] Get: 229 http://deb.debian.org/debian trixie/main amd64 python3-paste all 3.10.1-1 [222 kB] Get: 230 http://deb.debian.org/debian trixie/main amd64 python3-pastedeploy-tpl all 3.1-1 [8268 B] Get: 231 http://deb.debian.org/debian trixie/main amd64 python3-pastedeploy all 3.1-1 [18.3 kB] Get: 232 http://deb.debian.org/debian trixie/main amd64 python3-repoze.lru all 0.7-3 [12.2 kB] Get: 233 http://deb.debian.org/debian trixie/main amd64 python3-routes all 2.5.1-7 [98.2 kB] Get: 234 http://deb.debian.org/debian trixie/main amd64 python3-yappi amd64 1.6.10-2+b1 [32.5 kB] Get: 235 http://deb.debian.org/debian trixie/main amd64 python3-webob all 1:1.8.9-1 [89.1 kB] Get: 236 http://deb.debian.org/debian trixie/main amd64 python3-oslo.service all 4.1.1-2 [46.9 kB] Get: 237 http://deb.debian.org/debian trixie/main amd64 python3-tomlkit all 0.13.2-1 [42.7 kB] Get: 238 http://deb.debian.org/debian trixie/main amd64 python3-voluptuous all 0.14.2-1 [45.8 kB] Get: 239 http://deb.debian.org/debian trixie/main amd64 python3-subunit all 1.4.2-3 [66.4 kB] Get: 240 http://deb.debian.org/debian trixie/main amd64 subunit all 1.4.2-3 [5248 B] Get: 241 http://deb.debian.org/debian trixie/main amd64 python3-stestr all 4.1.0-3 [56.9 kB] Get: 242 http://deb.debian.org/debian trixie/main amd64 python3-oslotest all 1:5.0.0-4 [17.2 kB] Get: 243 http://deb.debian.org/debian trixie/main amd64 python3-pint all 0.24.4-2 [225 kB] Get: 244 http://deb.debian.org/debian trixie/main amd64 python3-pymemcache all 4.0.0-8 [45.0 kB] Get: 245 http://deb.debian.org/debian trixie/main amd64 python3-pymysql all 1.1.1-2 [43.0 kB] Get: 246 http://deb.debian.org/debian trixie/main amd64 python3-pyudev all 0.24.3-1 [32.6 kB] Get: 247 http://deb.debian.org/debian trixie/main amd64 python3-redis all 6.1.0-2 [249 kB] Get: 248 http://deb.debian.org/debian trixie/main amd64 python3-zake all 0.2.2-8 [15.6 kB] Get: 249 http://deb.debian.org/debian trixie/main amd64 python3-tooz all 6.3.0-4 [52.6 kB] Get: 250 http://deb.debian.org/debian trixie/main amd64 python3-werkzeug all 3.1.3-2 [207 kB] Get: 251 http://deb.debian.org/debian trixie/main amd64 python3-zeroconf all 0.147.0-1 [82.2 kB] Get: 252 http://deb.debian.org/debian trixie/main amd64 qemu-utils amd64 1:10.0.2+ds-2+b1 [1992 kB] Fetched 73.4 MB in 2s (33.6 MB/s) Preconfiguring packages ... Selecting previously unselected package freeipmi-common. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19851 files and directories currently installed.) Preparing to unpack .../00-freeipmi-common_1.6.15-1_all.deb ... Unpacking freeipmi-common (1.6.15-1) ... Selecting previously unselected package libgpg-error0:amd64. Preparing to unpack .../01-libgpg-error0_1.51-4_amd64.deb ... Unpacking libgpg-error0:amd64 (1.51-4) ... Selecting previously unselected package libgcrypt20:amd64. Preparing to unpack .../02-libgcrypt20_1.11.0-7_amd64.deb ... Unpacking libgcrypt20:amd64 (1.11.0-7) ... Selecting previously unselected package libfreeipmi17. Preparing to unpack .../03-libfreeipmi17_1.6.15-1_amd64.deb ... Unpacking libfreeipmi17 (1.6.15-1) ... Selecting previously unselected package readline-common. Preparing to unpack .../04-readline-common_8.2-6_all.deb ... Unpacking readline-common (8.2-6) ... Selecting previously unselected package libreadline8t64:amd64. Preparing to unpack .../05-libreadline8t64_8.2-6_amd64.deb ... Adding 'diversion of /lib/x86_64-linux-gnu/libhistory.so.8 to /lib/x86_64-linux-gnu/libhistory.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/x86_64-linux-gnu/libhistory.so.8.2 to /lib/x86_64-linux-gnu/libhistory.so.8.2.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/x86_64-linux-gnu/libreadline.so.8 to /lib/x86_64-linux-gnu/libreadline.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/x86_64-linux-gnu/libreadline.so.8.2 to /lib/x86_64-linux-gnu/libreadline.so.8.2.usr-is-merged by libreadline8t64' Unpacking libreadline8t64:amd64 (8.2-6) ... Selecting previously unselected package ipmitool. Preparing to unpack .../06-ipmitool_1.8.19-9_amd64.deb ... Unpacking ipmitool (1.8.19-9) ... Selecting previously unselected package libexpat1:amd64. Preparing to unpack .../07-libexpat1_2.7.1-2_amd64.deb ... Unpacking libexpat1:amd64 (2.7.1-2) ... Selecting previously unselected package libconfig11:amd64. Preparing to unpack .../08-libconfig11_1.7.3-2_amd64.deb ... Unpacking libconfig11:amd64 (1.7.3-2) ... Selecting previously unselected package libnl-3-200:amd64. Preparing to unpack .../09-libnl-3-200_3.7.0-2_amd64.deb ... Unpacking libnl-3-200:amd64 (3.7.0-2) ... Selecting previously unselected package lldpad. Preparing to unpack .../10-lldpad_1.1.1-1+b1_amd64.deb ... Unpacking lldpad (1.1.1-1+b1) ... Selecting previously unselected package libpython3.13-minimal:amd64. Preparing to unpack .../11-libpython3.13-minimal_3.13.5-2_amd64.deb ... Unpacking libpython3.13-minimal:amd64 (3.13.5-2) ... Selecting previously unselected package python3.13-minimal. Preparing to unpack .../12-python3.13-minimal_3.13.5-2_amd64.deb ... Unpacking python3.13-minimal (3.13.5-2) ... Setting up libpython3.13-minimal:amd64 (3.13.5-2) ... Setting up libexpat1:amd64 (2.7.1-2) ... Setting up python3.13-minimal (3.13.5-2) ... Selecting previously unselected package python3-minimal. (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 ... 20362 files and directories currently installed.) Preparing to unpack .../0-python3-minimal_3.13.5-1_amd64.deb ... Unpacking python3-minimal (3.13.5-1) ... Selecting previously unselected package media-types. Preparing to unpack .../1-media-types_13.0.0_all.deb ... Unpacking media-types (13.0.0) ... Selecting previously unselected package netbase. Preparing to unpack .../2-netbase_6.5_all.deb ... Unpacking netbase (6.5) ... Selecting previously unselected package tzdata. Preparing to unpack .../3-tzdata_2025b-4_all.deb ... Unpacking tzdata (2025b-4) ... Selecting previously unselected package libffi8:amd64. Preparing to unpack .../4-libffi8_3.4.8-2_amd64.deb ... Unpacking libffi8:amd64 (3.4.8-2) ... Selecting previously unselected package libpython3.13-stdlib:amd64. Preparing to unpack .../5-libpython3.13-stdlib_3.13.5-2_amd64.deb ... Unpacking libpython3.13-stdlib:amd64 (3.13.5-2) ... Selecting previously unselected package python3.13. Preparing to unpack .../6-python3.13_3.13.5-2_amd64.deb ... Unpacking python3.13 (3.13.5-2) ... Selecting previously unselected package libpython3-stdlib:amd64. Preparing to unpack .../7-libpython3-stdlib_3.13.5-1_amd64.deb ... Unpacking libpython3-stdlib:amd64 (3.13.5-1) ... Setting up python3-minimal (3.13.5-1) ... Selecting previously unselected package python3. (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 ... 21345 files and directories currently installed.) Preparing to unpack .../000-python3_3.13.5-1_amd64.deb ... Unpacking python3 (3.13.5-1) ... Selecting previously unselected package libproc2-0:amd64. Preparing to unpack .../001-libproc2-0_2%3a4.0.4-9_amd64.deb ... Unpacking libproc2-0:amd64 (2:4.0.4-9) ... Selecting previously unselected package procps. Preparing to unpack .../002-procps_2%3a4.0.4-9_amd64.deb ... Unpacking procps (2:4.0.4-9) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../003-sensible-utils_0.0.25_all.deb ... Unpacking sensible-utils (0.0.25) ... Selecting previously unselected package openssl. Preparing to unpack .../004-openssl_3.5.1-1_amd64.deb ... Unpacking openssl (3.5.1-1) ... Selecting previously unselected package ca-certificates. Preparing to unpack .../005-ca-certificates_20250419_all.deb ... Unpacking ca-certificates (20250419) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../006-libmagic-mgc_1%3a5.46-5_amd64.deb ... Unpacking libmagic-mgc (1:5.46-5) ... Selecting previously unselected package libmagic1t64:amd64. Preparing to unpack .../007-libmagic1t64_1%3a5.46-5_amd64.deb ... Unpacking libmagic1t64:amd64 (1:5.46-5) ... Selecting previously unselected package file. Preparing to unpack .../008-file_1%3a5.46-5_amd64.deb ... Unpacking file (1:5.46-5) ... Selecting previously unselected package gettext-base. Preparing to unpack .../009-gettext-base_0.23.1-2_amd64.deb ... Unpacking gettext-base (0.23.1-2) ... Selecting previously unselected package libuchardet0:amd64. Preparing to unpack .../010-libuchardet0_0.0.8-1+b2_amd64.deb ... Unpacking libuchardet0:amd64 (0.0.8-1+b2) ... Selecting previously unselected package groff-base. Preparing to unpack .../011-groff-base_1.23.0-9_amd64.deb ... Unpacking groff-base (1.23.0-9) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../012-bsdextrautils_2.41-5_amd64.deb ... Unpacking bsdextrautils (2.41-5) ... Selecting previously unselected package libpipeline1:amd64. Preparing to unpack .../013-libpipeline1_1.5.8-1_amd64.deb ... Unpacking libpipeline1:amd64 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../014-man-db_2.13.1-1_amd64.deb ... Unpacking man-db (2.13.1-1) ... Selecting previously unselected package libkmod2:amd64. Preparing to unpack .../015-libkmod2_34.2-2_amd64.deb ... Unpacking libkmod2:amd64 (34.2-2) ... Selecting previously unselected package pci.ids. Preparing to unpack .../016-pci.ids_0.0~2025.06.09-1_all.deb ... Unpacking pci.ids (0.0~2025.06.09-1) ... Selecting previously unselected package libpci3:amd64. Preparing to unpack .../017-libpci3_1%3a3.13.0-2_amd64.deb ... Unpacking libpci3:amd64 (1:3.13.0-2) ... Selecting previously unselected package pciutils. Preparing to unpack .../018-pciutils_1%3a3.13.0-2_amd64.deb ... Unpacking pciutils (1:3.13.0-2) ... Selecting previously unselected package libunistring5:amd64. Preparing to unpack .../019-libunistring5_1.3-2_amd64.deb ... Unpacking libunistring5:amd64 (1.3-2) ... Selecting previously unselected package libidn2-0:amd64. Preparing to unpack .../020-libidn2-0_2.3.8-2_amd64.deb ... Unpacking libidn2-0:amd64 (2.3.8-2) ... Selecting previously unselected package libp11-kit0:amd64. Preparing to unpack .../021-libp11-kit0_0.25.5-3_amd64.deb ... Unpacking libp11-kit0:amd64 (0.25.5-3) ... Selecting previously unselected package libtasn1-6:amd64. Preparing to unpack .../022-libtasn1-6_4.20.0-2_amd64.deb ... Unpacking libtasn1-6:amd64 (4.20.0-2) ... Selecting previously unselected package libgnutls30t64:amd64. Preparing to unpack .../023-libgnutls30t64_3.8.9-3_amd64.deb ... Unpacking libgnutls30t64:amd64 (3.8.9-3) ... Selecting previously unselected package libpsl5t64:amd64. Preparing to unpack .../024-libpsl5t64_0.21.2-1.1+b1_amd64.deb ... Unpacking libpsl5t64:amd64 (0.21.2-1.1+b1) ... Selecting previously unselected package wget. Preparing to unpack .../025-wget_1.25.0-2_amd64.deb ... Unpacking wget (1.25.0-2) ... Selecting previously unselected package m4. Preparing to unpack .../026-m4_1.4.19-8_amd64.deb ... Unpacking m4 (1.4.19-8) ... Selecting previously unselected package autoconf. Preparing to unpack .../027-autoconf_2.72-3.1_all.deb ... Unpacking autoconf (2.72-3.1) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../028-autotools-dev_20240727.1_all.deb ... Unpacking autotools-dev (20240727.1) ... Selecting previously unselected package automake. Preparing to unpack .../029-automake_1%3a1.17-4_all.deb ... Unpacking automake (1:1.17-4) ... Selecting previously unselected package autopoint. Preparing to unpack .../030-autopoint_0.23.1-2_all.deb ... Unpacking autopoint (0.23.1-2) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../031-libdebhelper-perl_13.24.2_all.deb ... Unpacking libdebhelper-perl (13.24.2) ... Selecting previously unselected package libtool. Preparing to unpack .../032-libtool_2.5.4-4_all.deb ... Unpacking libtool (2.5.4-4) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../033-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../034-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../035-libfile-stripnondeterminism-perl_1.14.1-2_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.1-2) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../036-dh-strip-nondeterminism_1.14.1-2_all.deb ... Unpacking dh-strip-nondeterminism (1.14.1-2) ... Selecting previously unselected package libelf1t64:amd64. Preparing to unpack .../037-libelf1t64_0.192-4_amd64.deb ... Unpacking libelf1t64:amd64 (0.192-4) ... Selecting previously unselected package dwz. Preparing to unpack .../038-dwz_0.15-1+b1_amd64.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libxml2:amd64. Preparing to unpack .../039-libxml2_2.12.7+dfsg+really2.9.14-2.1_amd64.deb ... Unpacking libxml2:amd64 (2.12.7+dfsg+really2.9.14-2.1) ... Selecting previously unselected package gettext. Preparing to unpack .../040-gettext_0.23.1-2_amd64.deb ... Unpacking gettext (0.23.1-2) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../041-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../042-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../043-debhelper_13.24.2_all.deb ... Unpacking debhelper (13.24.2) ... Selecting previously unselected package dh-python. Preparing to unpack .../044-dh-python_6.20250414_all.deb ... Unpacking dh-python (6.20250414) ... Selecting previously unselected package sgml-base. Preparing to unpack .../045-sgml-base_1.31+nmu1_all.deb ... Unpacking sgml-base (1.31+nmu1) ... Selecting previously unselected package xml-core. Preparing to unpack .../046-xml-core_0.19_all.deb ... Unpacking xml-core (0.19) ... Selecting previously unselected package docutils-common. Preparing to unpack .../047-docutils-common_0.21.2+dfsg-2_all.deb ... Unpacking docutils-common (0.21.2+dfsg-2) ... Selecting previously unselected package libmnl0:amd64. Preparing to unpack .../048-libmnl0_1.0.5-3_amd64.deb ... Unpacking libmnl0:amd64 (1.0.5-3) ... Selecting previously unselected package ethtool. Preparing to unpack .../049-ethtool_1%3a6.14.1-1_amd64.deb ... Unpacking ethtool (1:6.14.1-1) ... Selecting previously unselected package hdparm. Preparing to unpack .../050-hdparm_9.65+ds-1.1_amd64.deb ... Unpacking hdparm (9.65+ds-1.1) ... Selecting previously unselected package ieee-data. Preparing to unpack .../051-ieee-data_20240722_all.deb ... Unpacking ieee-data (20240722) ... Selecting previously unselected package libonig5:amd64. Preparing to unpack .../052-libonig5_6.9.9-1+b1_amd64.deb ... Unpacking libonig5:amd64 (6.9.9-1+b1) ... Selecting previously unselected package libjq1:amd64. Preparing to unpack .../053-libjq1_1.7.1-6+deb13u1_amd64.deb ... Unpacking libjq1:amd64 (1.7.1-6+deb13u1) ... Selecting previously unselected package jq. Preparing to unpack .../054-jq_1.7.1-6+deb13u1_amd64.deb ... Unpacking jq (1.7.1-6+deb13u1) ... Selecting previously unselected package libabsl20240722:amd64. Preparing to unpack .../055-libabsl20240722_20240722.0-4_amd64.deb ... Unpacking libabsl20240722:amd64 (20240722.0-4) ... Selecting previously unselected package libaio1t64:amd64. Preparing to unpack .../056-libaio1t64_0.3.113-8+b1_amd64.deb ... Unpacking libaio1t64:amd64 (0.3.113-8+b1) ... Selecting previously unselected package libcares2:amd64. Preparing to unpack .../057-libcares2_1.34.5-1_amd64.deb ... Unpacking libcares2:amd64 (1.34.5-1) ... Selecting previously unselected package libcom-err2:amd64. Preparing to unpack .../058-libcom-err2_1.47.2-3+b3_amd64.deb ... Unpacking libcom-err2:amd64 (1.47.2-3+b3) ... Selecting previously unselected package libev4t64:amd64. Preparing to unpack .../059-libev4t64_1%3a4.33-2.1+b1_amd64.deb ... Unpacking libev4t64:amd64 (1:4.33-2.1+b1) ... Selecting previously unselected package libexpat1-dev:amd64. Preparing to unpack .../060-libexpat1-dev_2.7.1-2_amd64.deb ... Unpacking libexpat1-dev:amd64 (2.7.1-2) ... Selecting previously unselected package libffi-dev:amd64. Preparing to unpack .../061-libffi-dev_3.4.8-2_amd64.deb ... Unpacking libffi-dev:amd64 (3.4.8-2) ... Selecting previously unselected package libglib2.0-0t64:amd64. Preparing to unpack .../062-libglib2.0-0t64_2.84.3-1_amd64.deb ... Unpacking libglib2.0-0t64:amd64 (2.84.3-1) ... Selecting previously unselected package libkrb5support0:amd64. Preparing to unpack .../063-libkrb5support0_1.21.3-5_amd64.deb ... Unpacking libkrb5support0:amd64 (1.21.3-5) ... Selecting previously unselected package libk5crypto3:amd64. Preparing to unpack .../064-libk5crypto3_1.21.3-5_amd64.deb ... Unpacking libk5crypto3:amd64 (1.21.3-5) ... Selecting previously unselected package libkeyutils1:amd64. Preparing to unpack .../065-libkeyutils1_1.6.3-6_amd64.deb ... Unpacking libkeyutils1:amd64 (1.6.3-6) ... Selecting previously unselected package libkrb5-3:amd64. Preparing to unpack .../066-libkrb5-3_1.21.3-5_amd64.deb ... Unpacking libkrb5-3:amd64 (1.21.3-5) ... Selecting previously unselected package libgssapi-krb5-2:amd64. Preparing to unpack .../067-libgssapi-krb5-2_1.21.3-5_amd64.deb ... Unpacking libgssapi-krb5-2:amd64 (1.21.3-5) ... Selecting previously unselected package x11-common. Preparing to unpack .../068-x11-common_1%3a7.7+24_all.deb ... Unpacking x11-common (1:7.7+24) ... Selecting previously unselected package libice6:amd64. Preparing to unpack .../069-libice6_2%3a1.1.1-1_amd64.deb ... Unpacking libice6:amd64 (2:1.1.1-1) ... Selecting previously unselected package libjs-jquery. Preparing to unpack .../070-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... Selecting previously unselected package libjs-underscore. Preparing to unpack .../071-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... Selecting previously unselected package libjs-sphinxdoc. Preparing to unpack .../072-libjs-sphinxdoc_8.1.3-5_all.deb ... Unpacking libjs-sphinxdoc (8.1.3-5) ... Selecting previously unselected package libnuma1:amd64. Preparing to unpack .../073-libnuma1_2.0.19-1_amd64.deb ... Unpacking libnuma1:amd64 (2.0.19-1) ... Selecting previously unselected package libprotobuf32t64:amd64. Preparing to unpack .../074-libprotobuf32t64_3.21.12-11_amd64.deb ... Unpacking libprotobuf32t64:amd64 (3.21.12-11) ... Selecting previously unselected package libpython3.13:amd64. Preparing to unpack .../075-libpython3.13_3.13.5-2_amd64.deb ... Unpacking libpython3.13:amd64 (3.13.5-2) ... Selecting previously unselected package zlib1g-dev:amd64. Preparing to unpack .../076-zlib1g-dev_1%3a1.3.dfsg+really1.3.1-1+b1_amd64.deb ... Unpacking zlib1g-dev:amd64 (1:1.3.dfsg+really1.3.1-1+b1) ... Selecting previously unselected package libpython3.13-dev:amd64. Preparing to unpack .../077-libpython3.13-dev_3.13.5-2_amd64.deb ... Unpacking libpython3.13-dev:amd64 (3.13.5-2) ... Selecting previously unselected package libpython3-dev:amd64. Preparing to unpack .../078-libpython3-dev_3.13.5-1_amd64.deb ... Unpacking libpython3-dev:amd64 (3.13.5-1) ... Selecting previously unselected package libpython3-all-dev:amd64. Preparing to unpack .../079-libpython3-all-dev_3.13.5-1_amd64.deb ... Unpacking libpython3-all-dev:amd64 (3.13.5-1) ... Selecting previously unselected package libre2-11:amd64. Preparing to unpack .../080-libre2-11_20240702-3+b1_amd64.deb ... Unpacking libre2-11:amd64 (20240702-3+b1) ... Selecting previously unselected package libsm6:amd64. Preparing to unpack .../081-libsm6_2%3a1.2.6-1_amd64.deb ... Unpacking libsm6:amd64 (2:1.2.6-1) ... Selecting previously unselected package libsubunit-perl. Preparing to unpack .../082-libsubunit-perl_1.4.2-3_all.deb ... Unpacking libsubunit-perl (1.4.2-3) ... Selecting previously unselected package liburing2:amd64. Preparing to unpack .../083-liburing2_2.9-1_amd64.deb ... Unpacking liburing2:amd64 (2.9-1) ... Selecting previously unselected package libxau6:amd64. Preparing to unpack .../084-libxau6_1%3a1.0.11-1_amd64.deb ... Unpacking libxau6:amd64 (1:1.0.11-1) ... Selecting previously unselected package libxdmcp6:amd64. Preparing to unpack .../085-libxdmcp6_1%3a1.1.5-1_amd64.deb ... Unpacking libxdmcp6:amd64 (1:1.1.5-1) ... Selecting previously unselected package libxcb1:amd64. Preparing to unpack .../086-libxcb1_1.17.0-2+b1_amd64.deb ... Unpacking libxcb1:amd64 (1.17.0-2+b1) ... Selecting previously unselected package libx11-data. Preparing to unpack .../087-libx11-data_2%3a1.8.12-1_all.deb ... Unpacking libx11-data (2:1.8.12-1) ... Selecting previously unselected package libx11-6:amd64. Preparing to unpack .../088-libx11-6_2%3a1.8.12-1_amd64.deb ... Unpacking libx11-6:amd64 (2:1.8.12-1) ... Selecting previously unselected package libxext6:amd64. Preparing to unpack .../089-libxext6_2%3a1.3.4-1+b3_amd64.deb ... Unpacking libxext6:amd64 (2:1.3.4-1+b3) ... Selecting previously unselected package libxt6t64:amd64. Preparing to unpack .../090-libxt6t64_1%3a1.2.1-1.2+b2_amd64.deb ... Unpacking libxt6t64:amd64 (1:1.2.1-1.2+b2) ... Selecting previously unselected package libxmu6:amd64. Preparing to unpack .../091-libxmu6_2%3a1.1.3-3+b4_amd64.deb ... Unpacking libxmu6:amd64 (2:1.1.3-3+b4) ... Selecting previously unselected package libxslt1.1:amd64. Preparing to unpack .../092-libxslt1.1_1.1.35-1.2_amd64.deb ... Unpacking libxslt1.1:amd64 (1.1.35-1.2) ... Selecting previously unselected package libyaml-0-2:amd64. Preparing to unpack .../093-libyaml-0-2_0.2.5-2_amd64.deb ... Unpacking libyaml-0-2:amd64 (0.2.5-2) ... Selecting previously unselected package lsb-release. Preparing to unpack .../094-lsb-release_12.1-1_all.deb ... Unpacking lsb-release (12.1-1) ... Selecting previously unselected package lshw. Preparing to unpack .../095-lshw_02.19.git.2021.06.19.996aaad9c7-2.1_amd64.deb ... Unpacking lshw (02.19.git.2021.06.19.996aaad9c7-2.1) ... Selecting previously unselected package python3-packaging. Preparing to unpack .../096-python3-packaging_25.0-1_all.deb ... Unpacking python3-packaging (25.0-1) ... Selecting previously unselected package python3-wheel. Preparing to unpack .../097-python3-wheel_0.46.1-2_all.deb ... Unpacking python3-wheel (0.46.1-2) ... Selecting previously unselected package python3-pip. Preparing to unpack .../098-python3-pip_25.1.1+dfsg-1_all.deb ... Unpacking python3-pip (25.1.1+dfsg-1) ... Selecting previously unselected package openstack-pkg-tools. Preparing to unpack .../099-openstack-pkg-tools_135_all.deb ... Unpacking openstack-pkg-tools (135) ... Selecting previously unselected package python-babel-localedata. Preparing to unpack .../100-python-babel-localedata_2.17.0-1_all.deb ... Unpacking python-babel-localedata (2.17.0-1) ... Selecting previously unselected package python3-all. Preparing to unpack .../101-python3-all_3.13.5-1_amd64.deb ... Unpacking python3-all (3.13.5-1) ... Selecting previously unselected package python3.13-dev. Preparing to unpack .../102-python3.13-dev_3.13.5-2_amd64.deb ... Unpacking python3.13-dev (3.13.5-2) ... Selecting previously unselected package python3-dev. Preparing to unpack .../103-python3-dev_3.13.5-1_amd64.deb ... Unpacking python3-dev (3.13.5-1) ... Selecting previously unselected package python3-all-dev. Preparing to unpack .../104-python3-all-dev_3.13.5-1_amd64.deb ... Unpacking python3-all-dev (3.13.5-1) ... Selecting previously unselected package python3-autocommand. Preparing to unpack .../105-python3-autocommand_2.2.2-3_all.deb ... Unpacking python3-autocommand (2.2.2-3) ... Selecting previously unselected package python3-autopage. Preparing to unpack .../106-python3-autopage_0.4.0-4_all.deb ... Unpacking python3-autopage (0.4.0-4) ... Selecting previously unselected package python3-babel. Preparing to unpack .../107-python3-babel_2.17.0-1_all.deb ... Unpacking python3-babel (2.17.0-1) ... Selecting previously unselected package python3-bcrypt. Preparing to unpack .../108-python3-bcrypt_4.2.0-2.1+b1_amd64.deb ... Unpacking python3-bcrypt (4.2.0-2.1+b1) ... Selecting previously unselected package python3-blinker. Preparing to unpack .../109-python3-blinker_1.9.0-1_all.deb ... Unpacking python3-blinker (1.9.0-1) ... Selecting previously unselected package python3-certifi. Preparing to unpack .../110-python3-certifi_2025.1.31+ds-1_all.deb ... Unpacking python3-certifi (2025.1.31+ds-1) ... Selecting previously unselected package python3-cffi-backend:amd64. Preparing to unpack .../111-python3-cffi-backend_1.17.1-3_amd64.deb ... Unpacking python3-cffi-backend:amd64 (1.17.1-3) ... Selecting previously unselected package python3-chardet. Preparing to unpack .../112-python3-chardet_5.2.0+dfsg-2_all.deb ... Unpacking python3-chardet (5.2.0+dfsg-2) ... Selecting previously unselected package python3-charset-normalizer. Preparing to unpack .../113-python3-charset-normalizer_3.4.2-1_amd64.deb ... Unpacking python3-charset-normalizer (3.4.2-1) ... Selecting previously unselected package python3-wcwidth. Preparing to unpack .../114-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... Selecting previously unselected package xclip. Preparing to unpack .../115-xclip_0.13-4_amd64.deb ... Unpacking xclip (0.13-4) ... Selecting previously unselected package python3-pyperclip. Preparing to unpack .../116-python3-pyperclip_1.8.2-2_all.deb ... Unpacking python3-pyperclip (1.8.2-2) ... Selecting previously unselected package python3-cmd2. Preparing to unpack .../117-python3-cmd2_2.5.11+ds-1_all.deb ... Unpacking python3-cmd2 (2.5.11+ds-1) ... Selecting previously unselected package python3-roman. Preparing to unpack .../118-python3-roman_5.0-1_all.deb ... Unpacking python3-roman (5.0-1) ... Selecting previously unselected package python3-docutils. Preparing to unpack .../119-python3-docutils_0.21.2+dfsg-2_all.deb ... Unpacking python3-docutils (0.21.2+dfsg-2) ... Selecting previously unselected package python3-more-itertools. Preparing to unpack .../120-python3-more-itertools_10.7.0-1_all.deb ... Unpacking python3-more-itertools (10.7.0-1) ... Selecting previously unselected package python3-typing-extensions. Preparing to unpack .../121-python3-typing-extensions_4.13.2-1_all.deb ... Unpacking python3-typing-extensions (4.13.2-1) ... Selecting previously unselected package python3-typeguard. Preparing to unpack .../122-python3-typeguard_4.4.2-1_all.deb ... Unpacking python3-typeguard (4.4.2-1) ... Selecting previously unselected package python3-inflect. Preparing to unpack .../123-python3-inflect_7.3.1-2_all.deb ... Unpacking python3-inflect (7.3.1-2) ... Selecting previously unselected package python3-jaraco.context. Preparing to unpack .../124-python3-jaraco.context_6.0.1-1_all.deb ... Unpacking python3-jaraco.context (6.0.1-1) ... Selecting previously unselected package python3-jaraco.functools. Preparing to unpack .../125-python3-jaraco.functools_4.1.0-1_all.deb ... Unpacking python3-jaraco.functools (4.1.0-1) ... Selecting previously unselected package python3-pkg-resources. Preparing to unpack .../126-python3-pkg-resources_78.1.1-0.1_all.deb ... Unpacking python3-pkg-resources (78.1.1-0.1) ... Selecting previously unselected package python3-jaraco.text. Preparing to unpack .../127-python3-jaraco.text_4.0.0-1_all.deb ... Unpacking python3-jaraco.text (4.0.0-1) ... Selecting previously unselected package python3-zipp. Preparing to unpack .../128-python3-zipp_3.21.0-1_all.deb ... Unpacking python3-zipp (3.21.0-1) ... Selecting previously unselected package python3-setuptools. Preparing to unpack .../129-python3-setuptools_78.1.1-0.1_all.deb ... Unpacking python3-setuptools (78.1.1-0.1) ... Selecting previously unselected package python3-pbr. Preparing to unpack .../130-python3-pbr_6.1.1-2_all.deb ... Unpacking python3-pbr (6.1.1-2) ... Selecting previously unselected package python3-prettytable. Preparing to unpack .../131-python3-prettytable_3.15.1-1_all.deb ... Unpacking python3-prettytable (3.15.1-1) ... Selecting previously unselected package python3-stevedore. Preparing to unpack .../132-python3-stevedore_5.4.1-2_all.deb ... Unpacking python3-stevedore (5.4.1-2) ... Selecting previously unselected package python3-yaml. Preparing to unpack .../133-python3-yaml_6.0.2-1+b2_amd64.deb ... Unpacking python3-yaml (6.0.2-1+b2) ... Selecting previously unselected package python3-cliff. Preparing to unpack .../134-python3-cliff_4.9.1-2_all.deb ... Unpacking python3-cliff (4.9.1-2) ... Selecting previously unselected package python3-coverage. Preparing to unpack .../135-python3-coverage_7.6.0+dfsg1-2+b2_amd64.deb ... Unpacking python3-coverage (7.6.0+dfsg1-2+b2) ... Selecting previously unselected package python3-cryptography. Preparing to unpack .../136-python3-cryptography_43.0.0-3_amd64.deb ... Unpacking python3-cryptography (43.0.0-3) ... Selecting previously unselected package python3-dateutil. Preparing to unpack .../137-python3-dateutil_2.9.0-4_all.deb ... Unpacking python3-dateutil (2.9.0-4) ... Selecting previously unselected package python3-wrapt. Preparing to unpack .../138-python3-wrapt_1.15.0-4+b1_amd64.deb ... Unpacking python3-wrapt (1.15.0-4+b1) ... Selecting previously unselected package python3-debtcollector. Preparing to unpack .../139-python3-debtcollector_3.0.0-5_all.deb ... Unpacking python3-debtcollector (3.0.0-5) ... Selecting previously unselected package python3-decorator. Preparing to unpack .../140-python3-decorator_5.2.1-2_all.deb ... Unpacking python3-decorator (5.2.1-2) ... Selecting previously unselected package python3-deprecation. Preparing to unpack .../141-python3-deprecation_2.1.0-4_all.deb ... Unpacking python3-deprecation (2.1.0-4) ... Selecting previously unselected package python3-dnspython. Preparing to unpack .../142-python3-dnspython_2.7.0-1_all.deb ... Unpacking python3-dnspython (2.7.0-1) ... Selecting previously unselected package python3-markupsafe. Preparing to unpack .../143-python3-markupsafe_2.1.5-1+b3_amd64.deb ... Unpacking python3-markupsafe (2.1.5-1+b3) ... Selecting previously unselected package python3-mako. Preparing to unpack .../144-python3-mako_1.3.9-1_all.deb ... Unpacking python3-mako (1.3.9-1) ... Selecting previously unselected package python3-dogpile.cache. Preparing to unpack .../145-python3-dogpile.cache_1.3.3-1_all.deb ... Unpacking python3-dogpile.cache (1.3.3-1) ... Selecting previously unselected package python3-protobuf. Preparing to unpack .../146-python3-protobuf_3.21.12-11_amd64.deb ... Unpacking python3-protobuf (3.21.12-11) ... Selecting previously unselected package python3-grpcio. Preparing to unpack .../147-python3-grpcio_1.51.1-6_amd64.deb ... Unpacking python3-grpcio (1.51.1-6) ... Selecting previously unselected package python3-six. Preparing to unpack .../148-python3-six_1.17.0-1_all.deb ... Unpacking python3-six (1.17.0-1) ... Selecting previously unselected package python3-tenacity. Preparing to unpack .../149-python3-tenacity_8.4.2+really8.4.1-2_all.deb ... Unpacking python3-tenacity (8.4.2+really8.4.1-2) ... Selecting previously unselected package python3-etcd3. Preparing to unpack .../150-python3-etcd3_0.12.0-3_all.deb ... Unpacking python3-etcd3 (0.12.0-3) ... Selecting previously unselected package python3-greenlet. Preparing to unpack .../151-python3-greenlet_3.1.0-1+b2_amd64.deb ... Unpacking python3-greenlet (3.1.0-1+b2) ... Selecting previously unselected package python3-futurist. Preparing to unpack .../152-python3-futurist_3.1.0-2_all.deb ... Unpacking python3-futurist (3.1.0-2) ... Selecting previously unselected package python3-idna. Preparing to unpack .../153-python3-idna_3.10-1_all.deb ... Unpacking python3-idna (3.10-1) ... Selecting previously unselected package python3-urllib3. Preparing to unpack .../154-python3-urllib3_2.3.0-3_all.deb ... Unpacking python3-urllib3 (2.3.0-3) ... Selecting previously unselected package python3-requests. Preparing to unpack .../155-python3-requests_2.32.3+dfsg-5_all.deb ... Unpacking python3-requests (2.32.3+dfsg-5) ... Selecting previously unselected package python3-etcd3gw. Preparing to unpack .../156-python3-etcd3gw_2.4.2-3_all.deb ... Unpacking python3-etcd3gw (2.4.2-3) ... Selecting previously unselected package python3-eventlet. Preparing to unpack .../157-python3-eventlet_0.39.1-2_all.deb ... Unpacking python3-eventlet (0.39.1-2) ... Selecting previously unselected package python3-extras. Preparing to unpack .../158-python3-extras_1.0.0-6_all.deb ... Unpacking python3-extras (1.0.0-6) ... Selecting previously unselected package python3-monotonic. Preparing to unpack .../159-python3-monotonic_1.6-3_all.deb ... Unpacking python3-monotonic (1.6-3) ... Selecting previously unselected package python3-fasteners. Preparing to unpack .../160-python3-fasteners_0.18-2_all.deb ... Unpacking python3-fasteners (0.18-2) ... Selecting previously unselected package python3-testtools. Preparing to unpack .../161-python3-testtools_2.7.2-5_all.deb ... Unpacking python3-testtools (2.7.2-5) ... Selecting previously unselected package python3-fixtures. Preparing to unpack .../162-python3-fixtures_4.1.0-3_all.deb ... Unpacking python3-fixtures (4.1.0-3) ... Selecting previously unselected package python3-flexcache. Preparing to unpack .../163-python3-flexcache_0.3-2_all.deb ... Unpacking python3-flexcache (0.3-2) ... Selecting previously unselected package python3-flexparser. Preparing to unpack .../164-python3-flexparser_0.4-1_all.deb ... Unpacking python3-flexparser (0.4-1) ... Selecting previously unselected package python3-zope.event. Preparing to unpack .../165-python3-zope.event_5.0-0.1_all.deb ... Unpacking python3-zope.event (5.0-0.1) ... Selecting previously unselected package python3-zope.interface. Preparing to unpack .../166-python3-zope.interface_7.2-1+b1_amd64.deb ... Unpacking python3-zope.interface (7.2-1+b1) ... Selecting previously unselected package python3-gevent. Preparing to unpack .../167-python3-gevent_24.11.1-1+b1_amd64.deb ... Unpacking python3-gevent (24.11.1-1+b1) ... Selecting previously unselected package python3-ptyprocess. Preparing to unpack .../168-python3-ptyprocess_0.7.0-6_all.deb ... Unpacking python3-ptyprocess (0.7.0-6) ... Selecting previously unselected package python3-pexpect. Preparing to unpack .../169-python3-pexpect_4.9-3_all.deb ... Unpacking python3-pexpect (4.9-3) ... Selecting previously unselected package smartmontools. Preparing to unpack .../170-smartmontools_7.4-3_amd64.deb ... Unpacking smartmontools (7.4-3) ... Selecting previously unselected package python3-hardware. Preparing to unpack .../171-python3-hardware_0.30.0-4_all.deb ... Unpacking python3-hardware (0.30.0-4) ... Selecting previously unselected package python3-ifaddr. Preparing to unpack .../172-python3-ifaddr_0.2.0-2_all.deb ... Unpacking python3-ifaddr (0.2.0-2) ... Selecting previously unselected package python3-iso8601. Preparing to unpack .../173-python3-iso8601_2.1.0-2_all.deb ... Unpacking python3-iso8601 (2.1.0-2) ... Selecting previously unselected package python3-jinja2. Preparing to unpack .../174-python3-jinja2_3.1.6-1_all.deb ... Unpacking python3-jinja2 (3.1.6-1) ... Selecting previously unselected package python3-jmespath. Preparing to unpack .../175-python3-jmespath_1.0.1-1_all.deb ... Unpacking python3-jmespath (1.0.1-1) ... Selecting previously unselected package python3-json-pointer. Preparing to unpack .../176-python3-json-pointer_2.4-3_all.deb ... Unpacking python3-json-pointer (2.4-3) ... Selecting previously unselected package python3-jsonpatch. Preparing to unpack .../177-python3-jsonpatch_1.32-5_all.deb ... Unpacking python3-jsonpatch (1.32-5) ... Selecting previously unselected package python3-jwt. Preparing to unpack .../178-python3-jwt_2.10.1-2_all.deb ... Unpacking python3-jwt (2.10.1-2) ... Selecting previously unselected package python3-kerberos. Preparing to unpack .../179-python3-kerberos_1.1.14-3.1+b11_amd64.deb ... Unpacking python3-kerberos (1.1.14-3.1+b11) ... Selecting previously unselected package python3-pure-sasl. Preparing to unpack .../180-python3-pure-sasl_0.5.1+dfsg1-5_all.deb ... Unpacking python3-pure-sasl (0.5.1+dfsg1-5) ... Selecting previously unselected package python3-kazoo. Preparing to unpack .../181-python3-kazoo_2.9.0-2_all.deb ... Unpacking python3-kazoo (2.9.0-2) ... Selecting previously unselected package python3-lxml:amd64. Preparing to unpack .../182-python3-lxml_5.4.0-1_amd64.deb ... Unpacking python3-lxml:amd64 (5.4.0-1) ... Selecting previously unselected package python3-oauthlib. Preparing to unpack .../183-python3-oauthlib_3.2.2-3_all.deb ... Unpacking python3-oauthlib (3.2.2-3) ... Selecting previously unselected package python3-os-service-types. Preparing to unpack .../184-python3-os-service-types_1.7.0-5_all.deb ... Unpacking python3-os-service-types (1.7.0-5) ... Selecting previously unselected package python3-keystoneauth1. Preparing to unpack .../185-python3-keystoneauth1_5.10.0-2_all.deb ... Unpacking python3-keystoneauth1 (5.10.0-2) ... Selecting previously unselected package python3-legacy-cgi. Preparing to unpack .../186-python3-legacy-cgi_2.6.3-1_all.deb ... Unpacking python3-legacy-cgi (2.6.3-1) ... Selecting previously unselected package python3-msgpack. Preparing to unpack .../187-python3-msgpack_1.0.3-3+b4_amd64.deb ... Unpacking python3-msgpack (1.0.3-3+b4) ... Selecting previously unselected package python3-netaddr. Preparing to unpack .../188-python3-netaddr_1.3.0-1_all.deb ... Unpacking python3-netaddr (1.3.0-1) ... Selecting previously unselected package python3-platformdirs. Preparing to unpack .../189-python3-platformdirs_4.3.7-1_all.deb ... Unpacking python3-platformdirs (4.3.7-1) ... Selecting previously unselected package python3-psutil. Preparing to unpack .../190-python3-psutil_7.0.0-2_amd64.deb ... Unpacking python3-psutil (7.0.0-2) ... Selecting previously unselected package python3-requestsexceptions. Preparing to unpack .../191-python3-requestsexceptions_1.4.0-5_all.deb ... Unpacking python3-requestsexceptions (1.4.0-5) ... Selecting previously unselected package python3-openstacksdk. Preparing to unpack .../192-python3-openstacksdk_4.4.0-5_all.deb ... Unpacking python3-openstacksdk (4.4.0-5) ... Selecting previously unselected package python3-os-client-config. Preparing to unpack .../193-python3-os-client-config_2.1.0-3_all.deb ... Unpacking python3-os-client-config (2.1.0-3) ... Selecting previously unselected package python3-oslo.i18n. Preparing to unpack .../194-python3-oslo.i18n_6.5.1-3_all.deb ... Unpacking python3-oslo.i18n (6.5.1-3) ... Selecting previously unselected package python3-oslo.context. Preparing to unpack .../195-python3-oslo.context_5.7.1-3_all.deb ... Unpacking python3-oslo.context (5.7.1-3) ... Selecting previously unselected package python3-pyparsing. Preparing to unpack .../196-python3-pyparsing_3.1.2-1_all.deb ... Unpacking python3-pyparsing (3.1.2-1) ... Selecting previously unselected package python3-pytz. Preparing to unpack .../197-python3-pytz_2025.2-3_all.deb ... Unpacking python3-pytz (2025.2-3) ... Selecting previously unselected package python3-tz. Preparing to unpack .../198-python3-tz_2025.2-3_all.deb ... Unpacking python3-tz (2025.2-3) ... Selecting previously unselected package python3-oslo.utils. Preparing to unpack .../199-python3-oslo.utils_8.2.0-4_all.deb ... Unpacking python3-oslo.utils (8.2.0-4) ... Selecting previously unselected package python3-oslo.serialization. Preparing to unpack .../200-python3-oslo.serialization_5.7.0-3_all.deb ... Unpacking python3-oslo.serialization (5.7.0-3) ... Selecting previously unselected package python3-pyasyncore. Preparing to unpack .../201-python3-pyasyncore_1.0.2-3_all.deb ... Unpacking python3-pyasyncore (1.0.2-3) ... Selecting previously unselected package python3-oslo.log. Preparing to unpack .../202-python3-oslo.log_7.1.0-4_all.deb ... Unpacking python3-oslo.log (7.1.0-4) ... Selecting previously unselected package python3-rfc3986. Preparing to unpack .../203-python3-rfc3986_2.0.0-3_all.deb ... Unpacking python3-rfc3986 (2.0.0-3) ... Selecting previously unselected package python3-oslo.config. Preparing to unpack .../204-python3-oslo.config_1%3a9.7.1-3_all.deb ... Unpacking python3-oslo.config (1:9.7.1-3) ... Selecting previously unselected package python3-oslo.concurrency. Preparing to unpack .../205-python3-oslo.concurrency_7.1.0-3_all.deb ... Unpacking python3-oslo.concurrency (7.1.0-3) ... Selecting previously unselected package python3-tempita. Preparing to unpack .../206-python3-tempita_0.6.0-1_all.deb ... Unpacking python3-tempita (0.6.0-1) ... Selecting previously unselected package python3-paste. Preparing to unpack .../207-python3-paste_3.10.1-1_all.deb ... Unpacking python3-paste (3.10.1-1) ... Selecting previously unselected package python3-pastedeploy-tpl. Preparing to unpack .../208-python3-pastedeploy-tpl_3.1-1_all.deb ... Unpacking python3-pastedeploy-tpl (3.1-1) ... Selecting previously unselected package python3-pastedeploy. Preparing to unpack .../209-python3-pastedeploy_3.1-1_all.deb ... Unpacking python3-pastedeploy (3.1-1) ... Selecting previously unselected package python3-repoze.lru. Preparing to unpack .../210-python3-repoze.lru_0.7-3_all.deb ... Unpacking python3-repoze.lru (0.7-3) ... Selecting previously unselected package python3-routes. Preparing to unpack .../211-python3-routes_2.5.1-7_all.deb ... Unpacking python3-routes (2.5.1-7) ... Selecting previously unselected package python3-yappi. Preparing to unpack .../212-python3-yappi_1.6.10-2+b1_amd64.deb ... Unpacking python3-yappi (1.6.10-2+b1) ... Selecting previously unselected package python3-webob. Preparing to unpack .../213-python3-webob_1%3a1.8.9-1_all.deb ... Unpacking python3-webob (1:1.8.9-1) ... Selecting previously unselected package python3-oslo.service. Preparing to unpack .../214-python3-oslo.service_4.1.1-2_all.deb ... Unpacking python3-oslo.service (4.1.1-2) ... Selecting previously unselected package python3-tomlkit. Preparing to unpack .../215-python3-tomlkit_0.13.2-1_all.deb ... Unpacking python3-tomlkit (0.13.2-1) ... Selecting previously unselected package python3-voluptuous. Preparing to unpack .../216-python3-voluptuous_0.14.2-1_all.deb ... Unpacking python3-voluptuous (0.14.2-1) ... Selecting previously unselected package python3-subunit. Preparing to unpack .../217-python3-subunit_1.4.2-3_all.deb ... Unpacking python3-subunit (1.4.2-3) ... Selecting previously unselected package subunit. Preparing to unpack .../218-subunit_1.4.2-3_all.deb ... Unpacking subunit (1.4.2-3) ... Selecting previously unselected package python3-stestr. Preparing to unpack .../219-python3-stestr_4.1.0-3_all.deb ... Unpacking python3-stestr (4.1.0-3) ... Selecting previously unselected package python3-oslotest. Preparing to unpack .../220-python3-oslotest_1%3a5.0.0-4_all.deb ... Unpacking python3-oslotest (1:5.0.0-4) ... Selecting previously unselected package python3-pint. Preparing to unpack .../221-python3-pint_0.24.4-2_all.deb ... Unpacking python3-pint (0.24.4-2) ... Selecting previously unselected package python3-pymemcache. Preparing to unpack .../222-python3-pymemcache_4.0.0-8_all.deb ... Unpacking python3-pymemcache (4.0.0-8) ... Selecting previously unselected package python3-pymysql. Preparing to unpack .../223-python3-pymysql_1.1.1-2_all.deb ... Unpacking python3-pymysql (1.1.1-2) ... Selecting previously unselected package python3-pyudev. Preparing to unpack .../224-python3-pyudev_0.24.3-1_all.deb ... Unpacking python3-pyudev (0.24.3-1) ... Selecting previously unselected package python3-redis. Preparing to unpack .../225-python3-redis_6.1.0-2_all.deb ... Unpacking python3-redis (6.1.0-2) ... Selecting previously unselected package python3-zake. Preparing to unpack .../226-python3-zake_0.2.2-8_all.deb ... Unpacking python3-zake (0.2.2-8) ... Selecting previously unselected package python3-tooz. Preparing to unpack .../227-python3-tooz_6.3.0-4_all.deb ... Unpacking python3-tooz (6.3.0-4) ... Selecting previously unselected package python3-werkzeug. Preparing to unpack .../228-python3-werkzeug_3.1.3-2_all.deb ... Unpacking python3-werkzeug (3.1.3-2) ... Selecting previously unselected package python3-zeroconf. Preparing to unpack .../229-python3-zeroconf_0.147.0-1_all.deb ... Unpacking python3-zeroconf (0.147.0-1) ... Selecting previously unselected package qemu-utils. Preparing to unpack .../230-qemu-utils_1%3a10.0.2+ds-2+b1_amd64.deb ... Unpacking qemu-utils (1:10.0.2+ds-2+b1) ... Setting up smartmontools (7.4-3) ... /var/lib/smartmontools/drivedb/drivedb.h 7.3/5528 newly installed (NOT VERIFIED) Setting up media-types (13.0.0) ... Setting up libpipeline1:amd64 (1.5.8-1) ... Setting up libev4t64:amd64 (1:4.33-2.1+b1) ... Setting up libprotobuf32t64:amd64 (3.21.12-11) ... Setting up libxau6:amd64 (1:1.0.11-1) ... Setting up libxdmcp6:amd64 (1:1.1.5-1) ... Setting up libsubunit-perl (1.4.2-3) ... Setting up libkeyutils1:amd64 (1.6.3-6) ... Setting up pci.ids (0.0~2025.06.09-1) ... Setting up libxcb1:amd64 (1.17.0-2+b1) ... Setting up bsdextrautils (2.41-5) ... Setting up libgpg-error0:amd64 (1.51-4) ... Setting up libmagic-mgc (1:5.46-5) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libyaml-0-2:amd64 (0.2.5-2) ... Setting up freeipmi-common (1.6.15-1) ... Setting up libdebhelper-perl (13.24.2) ... Setting up libmagic1t64:amd64 (1:5.46-5) ... Setting up x11-common (1:7.7+24) ... invoke-rc.d: could not determine current runlevel Setting up X socket directories... /tmp/.X11-unix /tmp/.ICE-unix. Setting up gettext-base (0.23.1-2) ... Setting up m4 (1.4.19-8) ... Setting up libgcrypt20:amd64 (1.11.0-7) ... Setting up hdparm (9.65+ds-1.1) ... Setting up libcom-err2:amd64 (1.47.2-3+b3) ... Setting up file (1:5.46-5) ... Setting up libabsl20240722:amd64 (20240722.0-4) ... Setting up lshw (02.19.git.2021.06.19.996aaad9c7-2.1) ... Setting up libelf1t64:amd64 (0.192-4) ... Setting up python-babel-localedata (2.17.0-1) ... Setting up libkrb5support0:amd64 (1.21.3-5) ... Setting up tzdata (2025b-4) ... Current default time zone: 'Etc/UTC' Local time is now: Thu Sep 10 00:43:02 UTC 2026. Universal Time is now: Thu Sep 10 00:43:02 UTC 2026. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up libconfig11:amd64 (1.7.3-2) ... Setting up autotools-dev (20240727.1) ... Setting up libexpat1-dev:amd64 (2.7.1-2) ... Setting up libx11-data (2:1.8.12-1) ... Setting up python3-pastedeploy-tpl (3.1-1) ... Setting up libproc2-0:amd64 (2:4.0.4-9) ... Setting up libunistring5:amd64 (1.3-2) ... Setting up libcares2:amd64 (1.34.5-1) ... Setting up libmnl0:amd64 (1.0.5-3) ... Setting up autopoint (0.23.1-2) ... Setting up libk5crypto3:amd64 (1.21.3-5) ... Setting up autoconf (2.72-3.1) ... Setting up libfreeipmi17 (1.6.15-1) ... Setting up zlib1g-dev:amd64 (1:1.3.dfsg+really1.3.1-1+b1) ... Setting up libpci3:amd64 (1:3.13.0-2) ... Setting up libffi8:amd64 (3.4.8-2) ... Setting up libnuma1:amd64 (2.0.19-1) ... Setting up dwz (0.15-1+b1) ... Setting up libaio1t64:amd64 (0.3.113-8+b1) ... Setting up sensible-utils (0.0.25) ... Setting up libuchardet0:amd64 (0.0.8-1+b2) ... Setting up procps (2:4.0.4-9) ... Setting up libnl-3-200:amd64 (3.7.0-2) ... Setting up libtasn1-6:amd64 (4.20.0-2) ... Setting up libx11-6:amd64 (2:1.8.12-1) ... Setting up netbase (6.5) ... Setting up sgml-base (1.31+nmu1) ... Setting up libkrb5-3:amd64 (1.21.3-5) ... Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... Setting up liburing2:amd64 (2.9-1) ... Setting up lsb-release (12.1-1) ... Setting up openssl (3.5.1-1) ... Setting up readline-common (8.2-6) ... Setting up libxml2:amd64 (2.12.7+dfsg+really2.9.14-2.1) ... Setting up libonig5:amd64 (6.9.9-1+b1) ... Setting up libkmod2:amd64 (34.2-2) ... Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... Setting up ethtool (1:6.14.1-1) ... Setting up automake (1:1.17-4) ... update-alternatives: using /usr/bin/automake-1.17 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.14.1-2) ... Setting up libice6:amd64 (2:1.1.1-1) ... Setting up libre2-11:amd64 (20240702-3+b1) ... Setting up gettext (0.23.1-2) ... Setting up libtool (2.5.4-4) ... Setting up libjq1:amd64 (1.7.1-6+deb13u1) ... Setting up libxext6:amd64 (2:1.3.4-1+b3) ... Setting up libidn2-0:amd64 (2.3.8-2) ... Setting up libffi-dev:amd64 (3.4.8-2) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up ca-certificates (20250419) ... Updating certificates in /etc/ssl/certs... 150 added, 0 removed; done. Setting up lldpad (1.1.1-1+b1) ... invoke-rc.d: could not determine current runlevel invoke-rc.d: policy-rc.d denied execution of start. Setting up libglib2.0-0t64:amd64 (2.84.3-1) ... No schema files found: doing nothing. Setting up libp11-kit0:amd64 (0.25.5-3) ... Setting up libgssapi-krb5-2:amd64 (1.21.3-5) ... Setting up pciutils (1:3.13.0-2) ... Setting up libjs-sphinxdoc (8.1.3-5) ... Setting up libreadline8t64:amd64 (8.2-6) ... Setting up dh-strip-nondeterminism (1.14.1-2) ... Setting up groff-base (1.23.0-9) ... Setting up xml-core (0.19) ... Setting up jq (1.7.1-6+deb13u1) ... Setting up libxslt1.1:amd64 (1.1.35-1.2) ... Setting up libsm6:amd64 (2:1.2.6-1) ... Setting up libpython3.13-stdlib:amd64 (3.13.5-2) ... Setting up ipmitool (1.8.19-9) ... invoke-rc.d: could not determine current runlevel invoke-rc.d: policy-rc.d denied execution of start. Setting up libpython3-stdlib:amd64 (3.13.5-1) ... Setting up libpython3.13:amd64 (3.13.5-2) ... Setting up libgnutls30t64:amd64 (3.8.9-3) ... Setting up python3.13 (3.13.5-2) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up libpsl5t64:amd64 (0.21.2-1.1+b1) ... Setting up python3 (3.13.5-1) ... Setting up python3-zipp (3.21.0-1) ... Setting up python3-autocommand (2.2.2-3) ... Setting up man-db (2.13.1-1) ... Not building database; man-db/auto-update is not 'true'. Setting up python3-markupsafe (2.1.5-1+b3) ... Setting up python3-platformdirs (4.3.7-1) ... Setting up python3-psutil (7.0.0-2) ... Setting up python3-ifaddr (0.2.0-2) ... Setting up python3-monotonic (1.6-3) ... Setting up python3-six (1.17.0-1) ... Setting up python3-roman (5.0-1) ... Setting up python3-decorator (5.2.1-2) ... Setting up python3-jinja2 (3.1.6-1) ... Setting up python3-tempita (0.6.0-1) ... Setting up python3-packaging (25.0-1) ... Setting up python3-iso8601 (2.1.0-2) ... Setting up python3-chardet (5.2.0+dfsg-2) ... Setting up python3-wcwidth (0.2.13+dfsg1-1) ... Setting up python3-pyparsing (3.1.2-1) ... Setting up python3-certifi (2025.1.31+ds-1) ... Setting up python3-werkzeug (3.1.3-2) ... Setting up python3-jmespath (1.0.1-1) ... Setting up libpython3.13-dev:amd64 (3.13.5-2) ... Setting up python3-greenlet (3.1.0-1+b2) ... Setting up libxt6t64:amd64 (1:1.2.1-1.2+b2) ... Setting up python3-idna (3.10-1) ... Setting up python3-wrapt (1.15.0-4+b1) ... Setting up python3-deprecation (2.1.0-4) ... Setting up python3-typing-extensions (4.13.2-1) ... Setting up python3-pymysql (1.1.1-2) ... Setting up python3-redis (6.1.0-2) ... Setting up python3-fasteners (0.18-2) ... Setting up python3-urllib3 (2.3.0-3) ... Setting up python3-legacy-cgi (2.6.3-1) ... Setting up python3-json-pointer (2.4-3) ... Setting up python3-lxml:amd64 (5.4.0-1) ... Setting up python3-dnspython (2.7.0-1) ... Setting up python3-dateutil (2.9.0-4) ... Setting up python3-flexcache (0.3-2) ... Setting up python3-msgpack (1.0.3-3+b4) ... Setting up python3-voluptuous (0.14.2-1) ... Setting up qemu-utils (1:10.0.2+ds-2+b1) ... Setting up python3-pyasyncore (1.0.2-3) ... Setting up python3-pyudev (0.24.3-1) ... Setting up python3-protobuf (3.21.12-11) ... Setting up python3-prettytable (3.15.1-1) ... Setting up python3-tomlkit (0.13.2-1) ... Setting up python3-cffi-backend:amd64 (1.17.1-3) ... Setting up python3-mako (1.3.9-1) ... Setting up python3-webob (1:1.8.9-1) ... Setting up python3-ptyprocess (0.7.0-6) ... Setting up python3-blinker (1.9.0-1) ... Setting up dh-python (6.20250414) ... Setting up python3-more-itertools (10.7.0-1) ... Setting up python3-pymemcache (4.0.0-8) ... Setting up libxmu6:amd64 (2:1.1.3-3+b4) ... Setting up libpython3-dev:amd64 (3.13.5-1) ... Setting up python3-jaraco.functools (4.1.0-1) ... Setting up wget (1.25.0-2) ... Setting up python3-repoze.lru (0.7-3) ... Setting up python3-jaraco.context (6.0.1-1) ... Setting up python3-jwt (2.10.1-2) ... Setting up python3-zeroconf (0.147.0-1) ... Setting up python3-babel (2.17.0-1) ... update-alternatives: using /usr/bin/pybabel-python3 to provide /usr/bin/pybabel (pybabel) in auto mode Setting up python3-charset-normalizer (3.4.2-1) ... Setting up python3.13-dev (3.13.5-2) ... Setting up python3-jsonpatch (1.32-5) ... update-alternatives: using /usr/bin/json-patch-jsondiff to provide /usr/bin/jsondiff (jsondiff) in auto mode Setting up python3-tenacity (8.4.2+really8.4.1-2) ... Setting up python3-bcrypt (4.2.0-2.1+b1) ... Setting up python3-autopage (0.4.0-4) ... Setting up python3-typeguard (4.4.2-1) ... Setting up python3-extras (1.0.0-6) ... Setting up python3-kerberos (1.1.14-3.1+b11) ... Setting up python3-all (3.13.5-1) ... Setting up python3-coverage (7.6.0+dfsg1-2+b2) ... Setting up python3-yaml (6.0.2-1+b2) ... Setting up debhelper (13.24.2) ... Setting up python3-pytz (2025.2-3) ... Setting up python3-wheel (0.46.1-2) ... Setting up python3-tz (2025.2-3) ... Setting up python3-routes (2.5.1-7) ... Setting up python3-inflect (7.3.1-2) ... Setting up python3-eventlet (0.39.1-2) ... Setting up python3-flexparser (0.4-1) ... Setting up python3-rfc3986 (2.0.0-3) ... Setting up libpython3-all-dev:amd64 (3.13.5-1) ... Setting up python3-jaraco.text (4.0.0-1) ... Setting up python3-pexpect (4.9-3) ... Setting up python3-cryptography (43.0.0-3) ... Setting up python3-dev (3.13.5-1) ... Setting up python3-requests (2.32.3+dfsg-5) ... Setting up python3-grpcio (1.51.1-6) ... Setting up xclip (0.13-4) ... Setting up python3-pip (25.1.1+dfsg-1) ... Setting up python3-etcd3 (0.12.0-3) ... Setting up ieee-data (20240722) ... Setting up python3-pkg-resources (78.1.1-0.1) ... Setting up python3-all-dev (3.13.5-1) ... Setting up python3-setuptools (78.1.1-0.1) ... Setting up python3-pure-sasl (0.5.1+dfsg1-5) ... Setting up python3-zope.event (5.0-0.1) ... Setting up python3-zope.interface (7.2-1+b1) ... Setting up python3-pbr (6.1.1-2) ... Setting up python3-requestsexceptions (1.4.0-5) ... Setting up python3-pyperclip (1.8.2-2) ... Setting up python3-debtcollector (3.0.0-5) ... Setting up python3-gevent (24.11.1-1+b1) ... Setting up openstack-pkg-tools (135) ... Setting up python3-pint (0.24.4-2) ... Setting up python3-oauthlib (3.2.2-3) ... Setting up python3-paste (3.10.1-1) ... Setting up python3-kazoo (2.9.0-2) ... Setting up python3-cmd2 (2.5.11+ds-1) ... Setting up python3-zake (0.2.2-8) ... Setting up python3-oslo.context (5.7.1-3) ... Setting up python3-netaddr (1.3.0-1) ... Setting up python3-os-service-types (1.7.0-5) ... Setting up python3-stevedore (5.4.1-2) ... Setting up python3-oslo.i18n (6.5.1-3) ... Setting up python3-keystoneauth1 (5.10.0-2) ... Setting up python3-hardware (0.30.0-4) ... Setting up python3-testtools (2.7.2-5) ... Setting up python3-pastedeploy (3.1-1) ... Setting up python3-futurist (3.1.0-2) ... Setting up python3-yappi (1.6.10-2+b1) ... Setting up python3-oslo.utils (8.2.0-4) ... Setting up python3-dogpile.cache (1.3.3-1) ... Setting up python3-subunit (1.4.2-3) ... Setting up python3-fixtures (4.1.0-3) ... Setting up python3-openstacksdk (4.4.0-5) ... Setting up python3-os-client-config (2.1.0-3) ... Setting up subunit (1.4.2-3) ... Setting up python3-etcd3gw (2.4.2-3) ... Setting up python3-oslo.serialization (5.7.0-3) ... Setting up python3-tooz (6.3.0-4) ... Processing triggers for libc-bin (2.41-12) ... Processing triggers for sgml-base (1.31+nmu1) ... Setting up docutils-common (0.21.2+dfsg-2) ... Processing triggers for sgml-base (1.31+nmu1) ... Setting up python3-docutils (0.21.2+dfsg-2) ... Setting up python3-cliff (4.9.1-2) ... Setting up python3-oslo.config (1:9.7.1-3) ... Setting up python3-oslo.concurrency (7.1.0-3) ... Setting up python3-oslo.log (7.1.0-4) ... Setting up python3-stestr (4.1.0-3) ... Setting up python3-oslo.service (4.1.1-2) ... Setting up python3-oslotest (1:5.0.0-4) ... Processing triggers for ca-certificates (20250419) ... Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done. Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps Reading package lists... Building dependency tree... Reading state information... fakeroot is already the newest version (1.37.1.1-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package I: user script /srv/workspace/pbuilder/546885/tmp/hooks/A99_set_merged_usr starting Not re-configuring usrmerge for trixie I: user script /srv/workspace/pbuilder/546885/tmp/hooks/A99_set_merged_usr finished hostname: Name or service not known I: Running cd /build/reproducible-path/ironic-python-agent-10.2.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../ironic-python-agent_10.2.0-3_source.changes dpkg-buildpackage: info: source package ironic-python-agent dpkg-buildpackage: info: source version 10.2.0-3 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Thomas Goirand dpkg-source --before-build . dpkg-buildpackage: info: host architecture amd64 debian/rules clean make: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions dh clean --buildsystem=pybuild --with python3 debian/rules override_dh_auto_clean make[1]: Entering directory '/build/reproducible-path/ironic-python-agent-10.2.0' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions rm -rf *.egg-info build rm -f debian/*.init debian/*.service find . -type d -name __pycache__ -exec rm -r {} \+ make[1]: Leaving directory '/build/reproducible-path/ironic-python-agent-10.2.0' dh_autoreconf_clean -O--buildsystem=pybuild dh_clean -O--buildsystem=pybuild debian/rules binary make: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions dh binary --buildsystem=pybuild --with python3 dh_update_autotools_config -O--buildsystem=pybuild dh_autoreconf -O--buildsystem=pybuild dh_auto_configure -O--buildsystem=pybuild I: pybuild base:311: python3.13 setup.py config /usr/lib/python3/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: Apache Software License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() /usr/lib/python3/dist-packages/setuptools/__init__.py:94: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !! ******************************************************************************** Requirements should be satisfied by a PEP 517 installer. If you are using pip, you can try `pip install --use-pep517`. ******************************************************************************** !! dist.fetch_build_eggs(dist.setup_requires) /usr/lib/python3/dist-packages/setuptools/command/develop.py:41: EasyInstallDeprecationWarning: easy_install command is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` and ``easy_install``. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://github.com/pypa/setuptools/issues/917 for details. ******************************************************************************** !! easy_install.initialize_options(self) /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:90: SetuptoolsDeprecationWarning: setup.py install is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` directly. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. ******************************************************************************** !! self.initialize_options() /usr/lib/python3/dist-packages/pbr/core.py:140: UserWarning: Unknown distribution option: 'tests_require' warnings.warn(msg) /usr/lib/python3/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: Apache Software License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() running config debian/rules override_dh_auto_build make[1]: Entering directory '/build/reproducible-path/ironic-python-agent-10.2.0' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions echo "Do nothing..." Do nothing... make[1]: Leaving directory '/build/reproducible-path/ironic-python-agent-10.2.0' debian/rules override_dh_auto_test make[1]: Entering directory '/build/reproducible-path/ironic-python-agent-10.2.0' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions echo "Do nothing..." Do nothing... make[1]: Leaving directory '/build/reproducible-path/ironic-python-agent-10.2.0' create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=pybuild dh_prep -O--buildsystem=pybuild dh_installdirs -O--buildsystem=pybuild debian/rules override_dh_auto_install make[1]: Entering directory '/build/reproducible-path/ironic-python-agent-10.2.0' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions echo "Do nothing..." Do nothing... make[1]: Leaving directory '/build/reproducible-path/ironic-python-agent-10.2.0' debian/rules override_dh_install make[1]: Entering directory '/build/reproducible-path/ironic-python-agent-10.2.0' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions touch ironic_python_agent/metrics_lib/__init__.py pkgos-dh_auto_install --no-py2 --in-tmp + PKGOS_IN_TMP=no + 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 + SRC_PKG_NAME=ironic-python-agent ++ echo ironic-python-agent ++ sed s/python-// + PY_MODULE_NAME=ironic-agent ++ py3versions -vr + PYTHON3S=3.13 + '[' yes = yes ']' + TARGET_DIR=tmp + for pyvers in ${PYTHON3S} ++ pwd + python3.13 setup.py install --install-layout=deb --root /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp /usr/lib/python3/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: Apache Software License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() /usr/lib/python3/dist-packages/setuptools/__init__.py:94: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !! ******************************************************************************** Requirements should be satisfied by a PEP 517 installer. If you are using pip, you can try `pip install --use-pep517`. ******************************************************************************** !! dist.fetch_build_eggs(dist.setup_requires) /usr/lib/python3/dist-packages/setuptools/command/develop.py:41: EasyInstallDeprecationWarning: easy_install command is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` and ``easy_install``. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://github.com/pypa/setuptools/issues/917 for details. ******************************************************************************** !! easy_install.initialize_options(self) /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:90: SetuptoolsDeprecationWarning: setup.py install is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` directly. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. ******************************************************************************** !! self.initialize_options() /usr/lib/python3/dist-packages/pbr/core.py:140: UserWarning: Unknown distribution option: 'tests_require' warnings.warn(msg) /usr/lib/python3/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: Apache Software License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() running install [pbr] Generating AUTHORS [pbr] AUTHORS complete (0.0s) running build running build_py creating build/lib/ironic_python_agent/metrics_lib copying ironic_python_agent/metrics_lib/metrics_collector.py -> build/lib/ironic_python_agent/metrics_lib copying ironic_python_agent/metrics_lib/metrics_utils.py -> build/lib/ironic_python_agent/metrics_lib copying ironic_python_agent/metrics_lib/__init__.py -> build/lib/ironic_python_agent/metrics_lib copying ironic_python_agent/metrics_lib/metrics.py -> build/lib/ironic_python_agent/metrics_lib copying ironic_python_agent/metrics_lib/metrics_statsd.py -> build/lib/ironic_python_agent/metrics_lib creating build/lib/ironic_python_agent/extensions copying ironic_python_agent/extensions/base.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/system.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/clean.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/flow.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/poll.py -> build/lib/ironic_python_agent/extensions copying ironic_python_agent/extensions/log.py -> build/lib/ironic_python_agent/extensions creating build/lib/ironic_python_agent/tests copying ironic_python_agent/tests/__init__.py -> build/lib/ironic_python_agent/tests creating build/lib/ironic_python_agent/tests/unit/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_standby.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_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_service.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_flow.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_image.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 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/inspect.py -> build/lib/ironic_python_agent/cmd copying ironic_python_agent/cmd/__init__.py -> build/lib/ironic_python_agent/cmd copying ironic_python_agent/tests/unit/base.py -> build/lib/ironic_python_agent/tests/unit copying ironic_python_agent/tests/unit/test_mdns.py -> build/lib/ironic_python_agent/tests/unit copying ironic_python_agent/tests/unit/test_disk_partitioner.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_ironic_api_client.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/dmi_inspector_data.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_multi_hardware_clean_steps.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_encoding.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/__init__.py -> build/lib/ironic_python_agent/tests/unit copying ironic_python_agent/tests/unit/test_device_hints.py -> build/lib/ironic_python_agent/tests/unit copying ironic_python_agent/tests/unit/test_raid_utils.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_partition_utils.py -> build/lib/ironic_python_agent/tests/unit copying ironic_python_agent/tests/unit/test_disk_utils.py -> build/lib/ironic_python_agent/tests/unit copying ironic_python_agent/tests/unit/test_qemu_img.py -> build/lib/ironic_python_agent/tests/unit copying ironic_python_agent/tests/unit/test_utils.py -> build/lib/ironic_python_agent/tests/unit copying ironic_python_agent/tests/unit/test_numa_inspector.py -> build/lib/ironic_python_agent/tests/unit copying ironic_python_agent/tests/unit/test_inject_files.py -> build/lib/ironic_python_agent/tests/unit copying ironic_python_agent/tests/unit/test_api.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_hardware.py -> build/lib/ironic_python_agent/tests/unit copying ironic_python_agent/tests/unit/test_agent.py -> build/lib/ironic_python_agent/tests/unit copying ironic_python_agent/tests/unit/test_tls_utils.py -> build/lib/ironic_python_agent/tests/unit copying ironic_python_agent/tests/unit/test_burnin.py -> build/lib/ironic_python_agent/tests/unit copying ironic_python_agent/qemu_img.py -> build/lib/ironic_python_agent copying ironic_python_agent/dmi_inspector.py -> build/lib/ironic_python_agent copying ironic_python_agent/tls_utils.py -> build/lib/ironic_python_agent copying ironic_python_agent/config.py -> build/lib/ironic_python_agent copying ironic_python_agent/raid_utils.py -> build/lib/ironic_python_agent copying ironic_python_agent/version.py -> build/lib/ironic_python_agent copying ironic_python_agent/numa_inspector.py -> build/lib/ironic_python_agent copying ironic_python_agent/burnin.py -> build/lib/ironic_python_agent copying ironic_python_agent/ironic_api_client.py -> build/lib/ironic_python_agent copying ironic_python_agent/agent.py -> build/lib/ironic_python_agent copying ironic_python_agent/inspect.py -> build/lib/ironic_python_agent copying ironic_python_agent/utils.py -> build/lib/ironic_python_agent copying ironic_python_agent/device_hints.py -> build/lib/ironic_python_agent copying ironic_python_agent/partition_utils.py -> build/lib/ironic_python_agent copying ironic_python_agent/disk_partitioner.py -> build/lib/ironic_python_agent copying ironic_python_agent/disk_utils.py -> build/lib/ironic_python_agent copying ironic_python_agent/inspector.py -> build/lib/ironic_python_agent copying ironic_python_agent/errors.py -> build/lib/ironic_python_agent copying ironic_python_agent/hardware.py -> build/lib/ironic_python_agent copying ironic_python_agent/mdns.py -> build/lib/ironic_python_agent copying ironic_python_agent/__init__.py -> build/lib/ironic_python_agent copying ironic_python_agent/encoding.py -> build/lib/ironic_python_agent copying ironic_python_agent/efi_utils.py -> build/lib/ironic_python_agent copying ironic_python_agent/netutils.py -> build/lib/ironic_python_agent copying ironic_python_agent/inject_files.py -> build/lib/ironic_python_agent creating build/lib/ironic_python_agent/tests/unit/hardware_managers copying ironic_python_agent/tests/unit/hardware_managers/test_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/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/base.py -> build/lib/ironic_python_agent/tests/functional copying ironic_python_agent/tests/functional/test_commands.py -> build/lib/ironic_python_agent/tests/functional copying ironic_python_agent/tests/functional/__init__.py -> build/lib/ironic_python_agent/tests/functional creating build/lib/ironic_python_agent/hardware_managers copying ironic_python_agent/hardware_managers/__init__.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/mlnx.py -> build/lib/ironic_python_agent/hardware_managers creating build/lib/ironic_python_agent/api copying ironic_python_agent/api/app.py -> build/lib/ironic_python_agent/api copying ironic_python_agent/api/__init__.py -> build/lib/ironic_python_agent/api running egg_info creating ironic_python_agent.egg-info writing ironic_python_agent.egg-info/PKG-INFO writing dependency_links to ironic_python_agent.egg-info/dependency_links.txt writing entry points to ironic_python_agent.egg-info/entry_points.txt writing requirements to ironic_python_agent.egg-info/requires.txt writing top-level names to ironic_python_agent.egg-info/top_level.txt [pbr] Processing SOURCES.txt writing manifest file 'ironic_python_agent.egg-info/SOURCES.txt' warning: no files found matching 'AUTHORS' warning: no files found matching 'ChangeLog' warning: no previously-included files found matching '.gitignore' warning: no previously-included files found matching '.gitreview' warning: no previously-included files matching '*.pyc' found anywhere in distribution adding license file 'LICENSE' writing manifest file 'ironic_python_agent.egg-info/SOURCES.txt' running install_lib creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/qemu_img.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/dmi_inspector.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/tls_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/config.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/raid_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/version.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/numa_inspector.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/burnin.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/ironic_api_client.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/agent.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/base.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_mdns.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_disk_partitioner.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_errors.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_ironic_api_client.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_base.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/dmi_inspector_data.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_dmi_inspector.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_rescue.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_standby.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_base.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_log.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_poll.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_service.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_flow.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_clean.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_image.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_deploy.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers copying build/lib/ironic_python_agent/tests/unit/hardware_managers/test_cna.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers copying build/lib/ironic_python_agent/tests/unit/hardware_managers/test_mlnx.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/nvidia copying build/lib/ironic_python_agent/tests/unit/hardware_managers/nvidia/test_nvidia_fw_update.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/nvidia copying build/lib/ironic_python_agent/tests/unit/hardware_managers/nvidia/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/nvidia copying build/lib/ironic_python_agent/tests/unit/hardware_managers/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers copying build/lib/ironic_python_agent/tests/unit/test_multi_hardware_clean_steps.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_inspector.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_encoding.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_netutils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_device_hints.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_raid_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_efi_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_partition_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_disk_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_qemu_img.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_numa_inspector.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_inject_files.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_api.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_multi_hardware.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_hardware.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_agent.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_tls_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_burnin.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional copying build/lib/ironic_python_agent/tests/functional/base.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional copying build/lib/ironic_python_agent/tests/functional/test_commands.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional copying build/lib/ironic_python_agent/tests/functional/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional copying build/lib/ironic_python_agent/tests/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests copying build/lib/ironic_python_agent/inspect.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/base.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/deploy.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/system.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/image.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/clean.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/rescue.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/flow.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/standby.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/service.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/poll.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/log.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/device_hints.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/partition_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/disk_partitioner.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/disk_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers copying build/lib/ironic_python_agent/hardware_managers/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers copying build/lib/ironic_python_agent/hardware_managers/cna.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers copying build/lib/ironic_python_agent/hardware_managers/mlnx.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers copying build/lib/ironic_python_agent/inspector.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/errors.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/hardware.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api copying build/lib/ironic_python_agent/api/app.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api copying build/lib/ironic_python_agent/api/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd copying build/lib/ironic_python_agent/cmd/agent.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd copying build/lib/ironic_python_agent/cmd/inspect.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd copying build/lib/ironic_python_agent/cmd/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd copying build/lib/ironic_python_agent/mdns.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/encoding.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/efi_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib copying build/lib/ironic_python_agent/metrics_lib/metrics_collector.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib copying build/lib/ironic_python_agent/metrics_lib/metrics_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib copying build/lib/ironic_python_agent/metrics_lib/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib copying build/lib/ironic_python_agent/metrics_lib/metrics.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib copying build/lib/ironic_python_agent/metrics_lib/metrics_statsd.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib copying build/lib/ironic_python_agent/netutils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/inject_files.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/qemu_img.py to qemu_img.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/dmi_inspector.py to dmi_inspector.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tls_utils.py to tls_utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/config.py to config.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/raid_utils.py to raid_utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/version.py to version.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/numa_inspector.py to numa_inspector.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/burnin.py to burnin.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/ironic_api_client.py to ironic_api_client.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/agent.py to agent.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/base.py to base.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_mdns.py to test_mdns.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_disk_partitioner.py to test_disk_partitioner.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_errors.py to test_errors.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_ironic_api_client.py to test_ironic_api_client.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_base.py to test_base.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/dmi_inspector_data.py to dmi_inspector_data.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_dmi_inspector.py to test_dmi_inspector.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_rescue.py to test_rescue.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_standby.py to test_standby.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_base.py to test_base.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_log.py to test_log.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_poll.py to test_poll.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_service.py to test_service.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_flow.py to test_flow.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_clean.py to test_clean.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_image.py to test_image.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_deploy.py to test_deploy.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/test_cna.py to test_cna.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/test_mlnx.py to test_mlnx.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/nvidia/test_nvidia_fw_update.py to test_nvidia_fw_update.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/nvidia/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_multi_hardware_clean_steps.py to test_multi_hardware_clean_steps.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_inspector.py to test_inspector.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_encoding.py to test_encoding.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_netutils.py to test_netutils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_device_hints.py to test_device_hints.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_raid_utils.py to test_raid_utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_efi_utils.py to test_efi_utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_partition_utils.py to test_partition_utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_disk_utils.py to test_disk_utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_qemu_img.py to test_qemu_img.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_utils.py to test_utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_numa_inspector.py to test_numa_inspector.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_inject_files.py to test_inject_files.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_api.py to test_api.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_multi_hardware.py to test_multi_hardware.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_hardware.py to test_hardware.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_agent.py to test_agent.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_tls_utils.py to test_tls_utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_burnin.py to test_burnin.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional/base.py to base.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional/test_commands.py to test_commands.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/inspect.py to inspect.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/base.py to base.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/deploy.py to deploy.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/system.py to system.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/image.py to image.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/clean.py to clean.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/rescue.py to rescue.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/flow.py to flow.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/standby.py to standby.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/service.py to service.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/poll.py to poll.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/log.py to log.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/utils.py to utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/device_hints.py to device_hints.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/partition_utils.py to partition_utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/disk_partitioner.py to disk_partitioner.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/disk_utils.py to disk_utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers/cna.py to cna.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers/mlnx.py to mlnx.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/inspector.py to inspector.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/errors.py to errors.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware.py to hardware.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api/app.py to app.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd/agent.py to agent.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd/inspect.py to inspect.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/mdns.py to mdns.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/encoding.py to encoding.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/efi_utils.py to efi_utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib/metrics_collector.py to metrics_collector.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib/metrics_utils.py to metrics_utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib/metrics.py to metrics.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib/metrics_statsd.py to metrics_statsd.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/netutils.py to netutils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/inject_files.py to inject_files.cpython-313.pyc running install_egg_info Copying ironic_python_agent.egg-info to /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent-10.2.0.egg-info Skipping SOURCES.txt running install_scripts Installing ironic-collect-introspection-data script to /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/bin Installing ironic-python-agent script to /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/bin ++ pwd + rm -rf '/build/reproducible-path/ironic-python-agent-10.2.0/debian/python*/usr/lib/python*/dist-packages/*.pth' ++ pwd + rm -rf '/build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python*/dist-packages/*.pth' # Failing under riscv: # extensions.test_standby.TestStandbyExtension.test_execute_bootc_install pkgos-dh_auto_test --no-py2 'ironic_python_agent\.tests\.unit\.(?!test_inspector\.TestWaitForDhcp\.test_timeout|extensions\.test_standby\.TestStandbyExtension\.test_execute_bootc_install)' + PKGOS_TEST_PARALLEL=yes + PKGOS_TEST_SERIAL=no + PYTHONS=disabled + PYTHON3S=disabled + TEST_PARALLEL_OPT=--parallel + TEST_SERIAL_OPT= + 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 ++ py3versions -vr + PYTHON3S=3.13 + '[' yes = no ']' + '[' no = yes ']' + for pyvers in ${PYTHON3S} + '[' 3.13 = disabled ']' ++ echo 3.13 ++ cut -d. -f1 + PYMAJOR=3 + echo '===> Testing with python (python3)' ===> Testing with python (python3) ++ pwd + '[' -d /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages ']' + '[' -z '' ']' ++ pwd + echo 'Implicitly adding PYTHONPATH=/build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages' Implicitly adding PYTHONPATH=/build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages ++ pwd + export PYTHONPATH=/build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages + PYTHONPATH=/build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages + '[' -e .stestr.conf ']' + '[' -x /usr/bin/python3-stestr ']' + STESTR=stestr + rm -rf .stestr + PYTHON=python3.13 + subunit2pyunit + stestr run --parallel --subunit 'ironic_python_agent\.tests\.unit\.(?!test_inspector\.TestWaitForDhcp\.test_timeout|extensions\.test_standby\.TestStandbyExtension\.test_execute_bootc_install)' 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_pci_address ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_pci_address ... ok ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_empty ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_empty ... ok WARNING [root] Cannot find detailed information about interface eth0 ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_vendor_info ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_vendor_info ... ok ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_invalid_type_in_param ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_invalid_type_in_param ... ok WARNING [root] Cannot find detailed information about interface eth0 WARNING [root] Cannot find detailed information about interface eth0.100 ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces ... ok ironic_python_agent.tests.unit.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 [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_inject_files.TestInjectFiles.test_ok ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_ok ... ok ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces_using_lldp ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces_using_lldp ... ok ironic_python_agent.tests.unit.test_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_partition_utils.IsHttpUrlTestCase.test__is_http_url ironic_python_agent.tests.unit.test_partition_utils.IsHttpUrlTestCase.test__is_http_url ... 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_qemu_img.ConvertImageTestCase.test_convert_image ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image ... ok ironic_python_agent.tests.unit.test_hardware.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_qemu_img.ConvertImageTestCase.test_convert_image_disabled ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_disabled ... 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_qemu_img.ConvertImageTestCase.test_convert_image_flags ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_flags ... ok WARNING [root] Mismatched hardware managers versions. Agent version: {'specific': '1'}, node version: {'not_specific': '1'} ironic_python_agent.tests.unit.test_hardware.TestVersions.test_check_versions ironic_python_agent.tests.unit.test_hardware.TestVersions.test_check_versions ... ok ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_flags_disabled ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_flags_disabled ... ok ironic_python_agent.tests.unit.test_hardware.TestVersions.test_get_current_versions ironic_python_agent.tests.unit.test_hardware.TestVersions.test_get_current_versions ... ok ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_just_fails ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_just_fails ... ok ironic_python_agent.tests.unit.test_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_qemu_img.ConvertImageTestCase.test_convert_image_just_fails_disabled ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_just_fails_disabled ... ok ironic_python_agent.tests.unit.test_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.hardware_managers.nvidia.test_nvidia_fw_update.TestCheckPrereq.test_check_prereq ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestCheckPrereq.test_check_prereq ... ok ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries ... ok ERROR [root] Failed Prerequisite check. 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_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.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_hardware.TestHardwareManagerLoading.test_get_managers ironic_python_agent.tests.unit.test_hardware.TestHardwareManagerLoading.test_get_managers ... ok ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error ... ok ironic_python_agent.tests.unit.test_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_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_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error_disabled ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error_disabled ... ok ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test__heartbeat_expected ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test__heartbeat_expected ... ok ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails ... ok ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails_disabled ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails_disabled ... ok ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_disabled ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_disabled ... ok ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_add_partition ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_add_partition ... 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_partitioner.DiskPartitionerTestCase.test_commit ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit ... 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.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders ... ok ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_binary_data ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_binary_data ... ok ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command ... ok ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders_no_csv ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders_no_csv ... ok ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_params_validation ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_params_validation ... ok ERROR [root] Invalid content error: Invalid request body: baz Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 268, in execute_command result = ext.execute(command_part, **kwargs) File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect ironic_python_agent.errors.InvalidContentError: Invalid request body: baz 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_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.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_disconnected ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_disconnected ... ok ERROR [root] Command failed: fake_async_command, error: An error occurred: failed Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/extensions/test_base.py", line 38, in fake_async_command raise ExecutionError() ironic_python_agent.tests.unit.extensions.test_base.ExecutionError: An error occurred: failed ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_execution_failure ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_execution_failure ... ok ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_name ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_name ... ok ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__no_efi_bootloaders ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__no_efi_bootloaders ERROR [root] Command execution error: Command execution failed: foo bar baz Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 268, in execute_command result = ext.execute(command_part, **kwargs) File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect ironic_python_agent.errors.CommandExecutionError: Command execution failed: foo bar baz WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. ... ok ironic_python_agent.tests.unit.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_image.TestImageExtension.test__add_multi_bootloaders ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__add_multi_bootloaders ... ok ironic_python_agent.tests.unit.test_disk_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_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.TestExecuteCommandMixin.test_execute_command_success ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_success ... ok ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_success_without_agent ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_success_without_agent ... 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 WARNING [ironic_python_agent.extensions.image] Falling back to fstab entry addition label of UUID. We could not identify which UUID or PARTUUID identifier label should be used, thus UUID will be used. ... ok ironic_python_agent.tests.unit.test_disk_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.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_base.TestExtensionDecorators.test_async_command_validation_failure ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_validation_failure ERROR [ironic_python_agent.agent] error sending heartbeat to Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/agent.py", line 146, in do_heartbeat self.api.heartbeat( ~~~~~~~~~~~~~~~~~~^ uuid=self.agent.get_node_uuid(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<2 lines>... generated_cert=self.agent.generated_cert, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect Exception: uh oh! ... ok ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_invalid_command ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_invalid_command ... ok ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_correct_mac ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_correct_mac ... 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.extensions.test_base.TestExtensionDecorators.test_command_map ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_command_map ... ok ironic_python_agent.tests.unit.extensions.test_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_inspector.TestNormalizeMac.test_pxelinux_mac ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_pxelinux_mac ... ok ERROR [root] Extension do not found Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 267, in execute_command ext = self.get_extension(extension_part) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 238, in get_extension ext = self.ext_mgr[extension_name].obj ~~~~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/stevedore/extension.py", line 340, in __getitem__ return self._extensions_by_name[name] ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ KeyError: 'do' ERROR [ironic_python_agent.utils] collector failed: boom 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.TestInspect.test_collector_failed ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collector_failed ... ok ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions ... ok ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_execution_failure ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_execution_failure ... ok ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_empty ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_empty ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_no_root ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_no_root ... ok ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve return _proxy.query(name, rdtype, raise_on_no_answer=raises, ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use_network=use_network) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) ^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver self.clear() ~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear self._resolver = dns.resolver.Resolver(filename=self._filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ self.read_resolv_conf(filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf raise NoResolverConfiguration("no nameservers") dns.resolver.NoResolverConfiguration: no nameservers During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo qname, addrs = _getaddrinfo_lookup(host, family, flags) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup raise err File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup answer = resolve(host, qfamily, False, use_network=use_network) File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve _raise_new_error(EAI_NODATA_ERROR) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error raise error_instance.__class__(*error_instance.args) socket.gaierror: [Errno -2] Name or service not known The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version response = self._request('GET', '/') File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 90, in _request resp = self.session.request(method, request_url, ...<4 lines>... timeout=CONF.http_request_timeout, **kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_with_false_wait ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_with_false_wait ... ok ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_name ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_name ... ok WARNING [ironic_python_agent.agent] Ironic does not support automated TLS ironic_python_agent.tests.unit.test_agent.TestBaseAgentVMediaToken.test_run_agent_token_vmedia ironic_python_agent.tests.unit.test_agent.TestBaseAgentVMediaToken.test_run_agent_token_vmedia ... ok ironic_python_agent.tests.unit.test_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.GetDeviceInformationTestCase.test_fields ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_fields ... 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.extensions.test_standby.TestImageDownload.test_download_image ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_prep ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_prep ... ok ERROR [root] Encountered issue attempting to validate the supplied configuration drive. Error: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None WARNING [ironic_python_agent.utils] Failed to unlink /tmp/tmpyybv7nz4/tmpd1uka92f, error: [Errno 21] Is a directory: '/tmp/tmpyybv7nz4/tmpd1uka92f' ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_failed ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_failed ... ok WARNING [ironic_python_agent.utils] Failed to unlink /tmp/tmptpyuzv4g/tmp15mm_cwa, error: [Errno 21] Is a directory: '/tmp/tmptpyuzv4g/tmp15mm_cwa' 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_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_work ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_work ... ok ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_success ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_success ... ok WARNING [ironic_python_agent.utils] Failed to unlink /tmp/tmpbq9puw0p/tmpuhy0a729, error: [Errno 21] Is a directory: '/tmp/tmpbq9puw0p/tmpuhy0a729' WARNING [ironic_python_agent.mdns] None of addresses ['::2', '::3'] seem routable, using ::2 WARNING [ironic_python_agent.utils] Failed to unlink /tmp/tmpbq9puw0p/tmprj3i6mea, error: [Errno 21] Is a directory: '/tmp/tmpbq9puw0p/tmprj3i6mea' 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_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_mdns.GetEndpointTestCase.test_fallback ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_fallback ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi ... ok ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_normal ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_normal ... 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_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_sha512 ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_sha512 ... ok ironic_python_agent.tests.unit.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.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_api.TestIronicAPI.test_execute_agent_command_success_with_true_wait ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_with_true_wait ... ok ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collectors_option ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collectors_option ... ok ERROR [root] We were unable to make a new filesystem for the configuration drive. Error: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_incorrect ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_incorrect ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum ... ok WARNING [ironic_python_agent.utils] Failed to unlink /tmp/tmpa6cj54ep/tmpklqlolet, error: [Errno 21] Is a directory: '/tmp/tmpa6cj54ep/tmpklqlolet' WARNING [ironic_python_agent.utils] Failed to unlink /tmp/tmpa6cj54ep/tmpxfkx7v0f, error: [Errno 21] Is a directory: '/tmp/tmpa6cj54ep/tmpxfkx7v0f' ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive_fails_once_invalid ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive_fails_once_invalid ... ok ERROR [root] Command failed: fake_async_command, error: An error occurred: failed Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/extensions/test_base.py", line 38, in fake_async_command raise ExecutionError() ironic_python_agent.tests.unit.extensions.test_base.ExecutionError: An error occurred: failed ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow ERROR [root] Command failed: install_bootloader, error: meow Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/image.py", line 721, in install_bootloader _install_grub2(device, ~~~~~~~~~~~~~~^^^^^^^^ root_uuid=root_uuid, ^^^^^^^^^^^^^^^^^^^^ efi_system_part_uuid=efi_system_part_uuid, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ prep_boot_part_uuid=prep_boot_part_uuid, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ target_boot_mode=target_boot_mode) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 3, in _install_grub2 File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect OSError: meow ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_driver ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_driver ... ok ironic_python_agent.tests.unit.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_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_image.TestImageExtension.test__install_bootloader_uefi_grub_failure_api_override ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_grub_failure_api_override ... ok WARNING [root] We were unable to examine the configuration drive, bypassing. Error: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_wait_async_command_success ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_wait_async_command_success ... ok ironic_python_agent.tests.unit.test_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.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_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive_graceful_fail ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive_graceful_fail ... ok ironic_python_agent.tests.unit.test_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_netutils.TestNetutils.test_get_interface_driver_notfound ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_driver_notfound ... 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_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_failed ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_failed ... ok ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_doesnt_exist_disabled ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_doesnt_exist_disabled ... ok ironic_python_agent.tests.unit.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 ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_pci_address ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_pci_address ... 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_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.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure ... ok ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_both_succeed ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_both_succeed ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_failed_md5 ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_failed_md5 ... ok ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_disabled ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_disabled ... ok ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_pci_address_notfound ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_pci_address_notfound ... ok ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_safe ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_safe ... ok ironic_python_agent.tests.unit.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_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure_api_override ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure_api_override ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed ... ok ironic_python_agent.tests.unit.test_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_rescue.TestRescueExtension.test_finalize_rescue ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_finalize_rescue ... ok WARNING [root] Failed to create rescue state file marker: Failed to write file WARNING [root] Device /dev/fake1 is inaccessible, skipping... Error: nope ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_with_token_invalid ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_with_token_invalid ... ok ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_unsafe ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_unsafe ... ok ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_finalize_rescue_write_failure ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_finalize_rescue_write_failure ... ok ironic_python_agent.tests.unit.test_hardware.TestCollectSystemLogs.test__collect_udev ironic_python_agent.tests.unit.test_hardware.TestCollectSystemLogs.test__collect_udev ... 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_inspector.TestInspect.test_disabled ironic_python_agent.tests.unit.test_inspector.TestInspect.test_disabled ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_md5 ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_md5 ... ok ironic_python_agent.tests.unit.extensions.test_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.TestCollectSystemLogs.test_collect_system_logs ironic_python_agent.tests.unit.test_hardware.TestCollectSystemLogs.test_collect_system_logs ... 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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_get_nic_psid ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_get_nic_psid ... ok ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info 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: ... ok ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_agent_status ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_agent_status ... ok ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_bad_pci_device_info ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_bad_pci_device_info ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_sha256 ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_sha256 ... ok ironic_python_agent.tests.unit.hardware_managers.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_inspector.TestCollectPciDevicesInfo.test_success ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success ... 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_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.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_error ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_error ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_is_image_changed_true ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_is_image_changed_true ... ok WARNING [ironic_python_agent.netutils] LLDP timed out, remaining interfaces: [('eth0', ), ('eth1', )] 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.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_api.TestIronicAPI.test_get_command_locks_out_with_token ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_locks_out_with_token ... ok 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_rescue.TestRescueExtension.test_hashed_passwords ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_hashed_passwords ... ok ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_wrong_path ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_wrong_path ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output ... ok ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_empty ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_empty ... ok ironic_python_agent.tests.unit.test_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.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_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_utils.BareMetalUtilsTestCase.test_unlink ironic_python_agent.tests.unit.test_utils.BareMetalUtilsTestCase.test_unlink ... 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 WARNING [ironic_python_agent.utils] Failed to unlink /fake/path, error: 2 ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output_no_data ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output_no_data ... ok ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support_no_mlnx ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support_no_mlnx ... ok ironic_python_agent.tests.unit.test_utils.BareMetalUtilsTestCase.test_unlink_ENOENT ironic_python_agent.tests.unit.test_utils.BareMetalUtilsTestCase.test_unlink_ENOENT ... ok ERROR [ironic_python_agent.extensions.poll] Node lookup data can only be set when the Ironic Python Agent is running in standalone mode. ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_set_node_info_not_standalone ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_set_node_info_not_standalone ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2 ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2 ... ok ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_generate_client_id ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_generate_client_id ... ok ironic_python_agent.tests.unit.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_disk_utils.OtherFunctionTestCase.test_block_uuid ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_block_uuid ... ok ironic_python_agent.tests.unit.test_hardware.TestFullSync.test_full_sync ironic_python_agent.tests.unit.test_hardware.TestFullSync.test_full_sync ... 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.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.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_clean_steps ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_clean_steps ... WARNING [ironic_python_agent.netutils] Trailing byte received in an LLDP package: b'5' 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_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_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_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_mdns.GetEndpointTestCase.test_https ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_https ... ok ERROR [root] Rescue Operation failed when writing the hashed rescue password to the password file. Error Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/rescue.py", line 48, in write_rescue_password with open(PASSWORD_FILE, 'w') as f: ~~~~^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect OSError ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info ... ok ironic_python_agent.tests.unit.extensions.test_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_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 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.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_warning_on_mismatch ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_warning_on_mismatch ... ok ironic_python_agent.tests.unit.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_efi_utils.TestGetPartitionPathByNumber.test_broken ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_broken ... 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 ERROR [ironic_python_agent.utils] boom ERROR [ironic_python_agent.extensions.image] Installing GRUB2 boot loader to device /dev/fake failed with Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None. WARNING [ironic_python_agent.extensions.image] Unable to umount vfat partitions. Error: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/dev. Error: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/proc. Error: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/run. Error: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/sys. Error: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None WARNING [root] Unable to tell the kernel to drop caches: WARNING [root] Cannot flush buffers of device /dev/sda: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None WARNING [root] Cannot flush buffers of device /dev/nvme0n1: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None 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_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.TestFullSync.test_optional_calls_fail ironic_python_agent.tests.unit.test_hardware.TestFullSync.test_optional_calls_fail ... ok ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mac_address ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mac_address ... ok ironic_python_agent.tests.unit.test_inspector.TestInspect.test_extensions_failed ironic_python_agent.tests.unit.test_inspector.TestInspect.test_extensions_failed ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_invalid_checksum ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_invalid_checksum ... ok ironic_python_agent.tests.unit.test_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_efi_utils.TestGetPartitionPathByNumber.test_ok ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_ok ... ok ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_with_token ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_with_token ... ok ERROR [root] Flushing file system buffers failed: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None WARNING [ironic_python_agent.netutils] LLDP timed out, remaining interfaces: [('eth1', )] WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0009198188781738281 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_mlnx.MlnxHardwareManager.test_get_interface_info_no_mlnx_interface ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mlnx_interface ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status ... ok ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_custom_attempts ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_custom_attempts ... 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 ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions ... 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_hardware.TestFullSync.test_sync_fails ironic_python_agent.tests.unit.test_hardware.TestFullSync.test_sync_fails ... 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_one_empty_interface ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_one_empty_interface ... ok ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_encoder ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_encoder ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_fail ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_fail ... ok ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_no_logical_partitions ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_no_logical_partitions ... ok ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs ... ok ERROR [ironic_python_agent.inspector] inspector url error 400: , proceeding with lookup ERROR [ironic_python_agent.burnin] SMART test on /dev/sdj failed with 'string' ERROR [ironic_python_agent.utils] Failed to create a file system in /my/block/dev. Error: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: 'fake' Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/utils.py", line 156, in mkfs execute(*args, use_standard_locale=True) ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 3, in do_not_call File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: 'fake' ERROR [ironic_python_agent.netutils] Socket for network interface eth0 said that it was ready to read we were unable to read from the socket while trying to get LLDP packet. Skipping this network interface. Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/netutils.py", line 197, in _get_lldp_info lldp_info[interface[0]] = _receive_lldp_packets(s) ~~~~~~~~~~~~~~~~~~~~~^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/netutils.py", line 160, in _receive_lldp_packets pkt = sock.recv(1600) File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect OSError: BOOM 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_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_errors.TestErrors.test_RESTError ironic_python_agent.tests.unit.test_errors.TestErrors.test_RESTError ... 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_utils.MkfsTestCase.test_mkfs_with_label ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs_with_label ... ok ironic_python_agent.tests.unit.test_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_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_api.TestIronicAPI.test_get_command_with_token_invalid ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_with_token_invalid ... ok ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_error ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_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 ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__get_device_conf_dict ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__get_device_conf_dict ... ok ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs_with_unexpected_error ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs_with_unexpected_error ... ok ERROR [ironic_python_agent.utils] Failed to make file system. File system foo is not supported. Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/utils.py", line 156, in mkfs execute(*args, use_standard_locale=True) ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 3, in do_not_call File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: 'No such file or directory' ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_no_space_error_fatal ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_no_space_error_fatal ... ok ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_trigger ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_trigger ... 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_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_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.extensions.test_image.TestImageExtension.test__install_grub2_prep ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_prep ... ok ERROR [root] Failed to query firmware of device : Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs_with_unsupported_fs ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs_with_unsupported_fs ... ok ironic_python_agent.tests.unit.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_inspector.TestInspect.test_inspector_error ironic_python_agent.tests.unit.test_inspector.TestInspect.test_inspector_error ... 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_burnin.TestBurnin.test_fio_disk_default ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_default ... 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.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.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 ... 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.0019366741180419922 seconds. Error: Received status code 500 from http://example.org, expected 200. Response body: Oops Response headers: ironic_python_agent.tests.unit.test_errors.TestErrors.test_error_string ironic_python_agent.tests.unit.test_errors.TestErrors.test_error_string ... ok ironic-python-agent: line 1. ironic-python-agent: line 2 message ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_command_results ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_command_results ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries ... ok ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_raises ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_raises ... ok ironic_python_agent.tests.unit.test_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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__get_device_conf_dict_exception ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__get_device_conf_dict_exception ... ok ironic_python_agent.tests.unit.test_disk_utils.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_utils.TestCheckEarlyLogging.test_early_logging_goes_to_logger ironic_python_agent.tests.unit.test_utils.TestCheckEarlyLogging.test_early_logging_goes_to_logger ... ok ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets ... ok ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_number_nvme ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_number_nvme ... ok ironic_python_agent.tests.unit.test_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_inspector.TestInspect.test_mdns ironic_python_agent.tests.unit.test_inspector.TestInspect.test_mdns ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data ... ok ironic_python_agent.tests.unit.test_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr_no_bootloaders ironic_python_agent.tests.unit.test_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr_no_bootloaders ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_default ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_default ... ok ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_works ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_works ... ok ironic_python_agent.tests.unit.test_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] Unable to connect to http://example.org, retrying. Error: ERROR [ironic_python_agent.netutils] Failed to open all RawPromiscuousSockets, attempting to close any opened sockets. 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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data_no_data ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data_no_data ... ok ironic_python_agent.tests.unit.test_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_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_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_disk_utils.GetPartitionTableTypeTestCase.test_gpt ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_gpt ... ok ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_commands_with_token ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_commands_with_token ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries_success ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries_success ... ok ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_gpt_disk_label ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_gpt_disk_label ... 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_inspector.TestInspect.test_ok ironic_python_agent.tests.unit.test_inspector.TestInspect.test_ok ... ok ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_msdos ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_msdos ... ok 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] Failed to move file: /firmware_images/fw1.bin, 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_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_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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file_not_found ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file_not_found ... ok WARNING [ironic_python_agent.disk_utils] Unable to get partition table type for device hello 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.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.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_partition_utils.WorkOnDiskTestCase.test_no_configdrive_partition ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_configdrive_partition ... ok ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_unknown ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_unknown ... ok ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_invalid_key ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_invalid_key ... ok ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets_exception ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets_exception ... ok ERROR [root] Failed to query tool configuration of device : Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ironic_python_agent.tests.unit.test_inspector.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.TestInspect.test_ok_with_ironic_url ironic_python_agent.tests.unit.test_inspector.TestInspect.test_ok_with_ironic_url ERROR [root] Unexpected error dispatching unexpected_fail to manager : A problem was encountered Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/hardware.py", line 3618, in dispatch_to_all_managers response = getattr(manager, method)(*args, **kwargs) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 32, in wrapper return fn(self, *args, **kwargs) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 101, in unexpected_fail raise RuntimeError('A problem was encountered') RuntimeError: A problem was encountered ... ok ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_commands_with_token_invalid ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_commands_with_token_invalid ... ok ironic_python_agent.tests.unit.test_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_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_netutils.TestNetutils.test_wrap_ipv6 ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_wrap_ipv6 ... ok ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_memory_info ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_memory_info ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool_exception ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool_exception ... ok ironic_python_agent.tests.unit.test_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_partition_utils.TestGetPartition.test ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test ... 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_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_agent.TestAdvertiseAddress.test_advertise_address_provided ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_advertise_address_provided ... 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_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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw ... ok ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_wrap_ipv6_with_ipv4 ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_wrap_ipv6_with_ipv4 ... ok ironic_python_agent.tests.unit.test_utils.TestUnmountOfConfig.test__unmount_any_config_drives ironic_python_agent.tests.unit.test_utils.TestUnmountOfConfig.test__unmount_any_config_drives ... 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 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_agent.TestAdvertiseAddress.test_route_failed ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_failed ... ok ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_command_not_found ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_command_not_found ... ok ironic_python_agent.tests.unit.test_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_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_nics_info ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_nics_info ... ok ERROR [root] Failed to open URL data: HTTP Error 500: Internal Error ERROR [root] Failed to query firmware of device : Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.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_api.TestIronicAPI.test_not_found ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_not_found ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw_exception ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw_exception ... ok ironic_python_agent.tests.unit.test_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_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_partition_utils.WorkOnDiskTestCase.test_no_root_partition ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_root_partition ... ok WARNING [ironic_python_agent.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_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_agent.TestAdvertiseAddress.test_route_retry ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_retry ... 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.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale ... ok ironic_python_agent.tests.unit.test_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_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_api.TestIronicAPI.test_root ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_root ... ok ERROR [root] Failed to open URL data: ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test__get_actual_component_devices_broken_raid0 ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test__get_actual_component_devices_broken_raid0 ... ok ironic_python_agent.tests.unit.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_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.TestGetPartition.test_label ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_label ... ok WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/md/esp using the install command which does not place Secure Boot signed binaries. ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_swap_partition ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_swap_partition ... ok WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None WARNING [ironic_python_agent.agent] No route to host fc00:1111::1, route record: Error: some error text WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables ... ok WARNING [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_agent.TestAdvertiseAddress.test_route_several_urls_and_retries ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_several_urls_and_retries ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_softraid_uefi_gpt ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_softraid_uefi_gpt ... ok ERROR [root] Failed to set configuration of device , ['SRIOV_EN=20']: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_set_config_exception ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_set_config_exception ... ok ironic_python_agent.tests.unit.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_log.TestLogExtension.test_collect_system_logs ironic_python_agent.tests.unit.extensions.test_log.TestLogExtension.test_collect_system_logs ... ok ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_wipefs_not_support_force ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_wipefs_not_support_force ... ok ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_host ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_host ... ok ERROR [root] No partition with UUID 11111111-2222-3333-4444-555555555555 found on device /dev/fake ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables ... ok ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device ... ok ironic_python_agent.tests.unit.test_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_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.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_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_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_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.extensions.test_service.TestServiceExtension.test_execute_service_step ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step ... ok ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_host_v6 ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_host_v6 ... ok ERROR [root] Unexpected exception performing service step erase_devices. RuntimeError: boom Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/service.py", line 76, in execute_service_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect RuntimeError: boom ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_create_device ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_create_device ... ok ironic_python_agent.tests.unit.test_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_partition_utils.TestGetPartition.test_partuuid ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_partuuid ... 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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.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_inspector.TestCollectExtraHardware.test_benchmarks ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_benchmarks ... ok ERROR [root] Command failed: execute_service_step, error: Service step failed: Unexpected exception performing service step erase_devices. RuntimeError: boom Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/service.py", line 76, in execute_service_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect RuntimeError: boom During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/service.py", line 87, in execute_service_step raise errors.ServicingError(msg) ironic_python_agent.errors.ServicingError: Service step failed: Unexpected exception performing service step erase_devices. RuntimeError: boom WARNING [ironic_python_agent.raid_utils] Found /dev/sdb1 to be missing from /dev/md0 ... re-adding! ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_with_log_stdout_default ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_with_log_stdout_default ... ok ironic_python_agent.tests.unit.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_agent.TestAdvertiseAddress.test_route_with_ip ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_ip ... ok ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_exception ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_exception ... ok ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_v1_root ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_v1_root ... ok ironic_python_agent.tests.unit.test_utils.ParseDeviceTagsTestCase.test_empty ironic_python_agent.tests.unit.test_utils.ParseDeviceTagsTestCase.test_empty ... ok ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_read_device ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_read_device ... ok ironic_python_agent.tests.unit.test_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_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_exc ironic_python_agent.tests.unit.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_exc ERROR [root] Configuraiton ESWITCH_HAIRPIN_TOT_BUFFER_SIZE[8] for device is not supported with current fw ... ok WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_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.TestAdvertiseAddress.test_route_with_ipv6 ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_ipv6 ... 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_multi_hardware.TestMultipleHardwareManagerLoading.test_manager_method_not_found ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_manager_method_not_found ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_fw ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_fw ... ok ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_preserve_ephemeral ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_preserve_ephemeral ... ok ERROR [ironic_python_agent.utils] failed to run hardware-detect utility: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_execute_failed ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_execute_failed ... ok ironic_python_agent.tests.unit.test_utils.ParseDeviceTagsTestCase.test_parse ironic_python_agent.tests.unit.test_utils.ParseDeviceTagsTestCase.test_parse ... ok ERROR [root] Error performing service step erase_devices Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/service.py", line 76, in execute_service_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_no_nics_dir ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_no_nics_dir ... ok ironic_python_agent.tests.unit.test_hardware.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.extensions.test_image.TestImageExtension.test__install_grub2_uefi ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi ... ok ironic_python_agent.tests.unit.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_fix_not_required ironic_python_agent.tests.unit.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_fix_not_required ... ok WARNING [root] Can't find field vendor for device lo in device class net ERROR [root] Command failed: execute_service_step, error: Block device caused unknown error: I'm a teapot Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/service.py", line 76, in execute_service_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot WARNING [ironic_python_agent.raid_utils] Found /dev/sdb1 to be missing from /dev/md0 ... re-adding! ERROR [root] Configuraiton: UNSUPPORTED_PARAM is not supported by mstconfig, please update to the latest mstflint package. ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_missing_device ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_missing_device ... ERROR [root] Mismatch provided checksum a94e683ea16d9ae44768f0a65942234d for image http://10.10.10.10/firmware_images/fw1.bin ok ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_with_log_stdout_false ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_with_log_stdout_false ... ok ironic_python_agent.tests.unit.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_agent.TestAdvertiseAddress.test_with_network_interface ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_with_network_interface ... ok ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_fail ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_fail ... ok ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_memory_unit ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_memory_unit ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.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_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.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_inspector.TestCollectExtraHardware.test_no_benchmarks ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_no_benchmarks 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 ... 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_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 ERROR [root] Unexpected error dispatching unexpected_fail to manager : A problem was encountered Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/hardware.py", line 3662, in dispatch_to_managers return getattr(manager, method)(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 32, in wrapper return fn(self, *args, **kwargs) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 101, in unexpected_fail raise RuntimeError('A problem was encountered') RuntimeError: A problem was encountered WARNING [root] Can't find field vendor for device lo in device class net ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_method_fails ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_method_fails ... ok ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_with_network_interface_failed ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_with_network_interface_failed ... ok ERROR [root] Malformed service_step, no "step" key: {} 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_mdns.GetEndpointTestCase.test_localhost_only ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_localhost_only ... ok ERROR [root] Command failed: execute_service_step, error: Malformed service_step, no "step" key: {} Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/service.py", line 73, in execute_service_step raise ValueError(msg) ValueError: Malformed service_step, no "step" key: {} ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi ... ok ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_no_step ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_no_step ... ok ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_threaddir_format_cores_info ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_threaddir_format_cores_info ... ok ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_raises ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_raises ... ok ERROR [root] The provided psid MT_0000000227 does not match the image psid MT_0000000228 WARNING [root] Attempted to invoke multipath utilities, but we encountered an error: 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_raid_utils.TestRaidUtils.test_create_raid_device_with_volume_name ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_with_volume_name ... ok ironic_python_agent.tests.unit.test_hardware.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.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.TestManageUefi.test_clean_boot_records ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_clean_boot_records ... ok ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi_no_iscsi ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi_no_iscsi ... ok ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_tuple_result ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_tuple_result ... 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_utils.ExecuteTestCase.test_execute_with_log_stdout_true ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_with_log_stdout_true ... ok ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_get_volume_name_of_raid_device ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_get_volume_name_of_raid_device ... ok ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_parsing_failed ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_parsing_failed ... ok ERROR [ironic_python_agent.disk_utils] Security: Image matched multiple potential formats Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/disk_utils.py", line 381, in _image_inspection inspector_cls = format_inspector.detect_file_format(filename) File "", line 3, in detect_file_format File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect oslo_utils.imageutils.format_inspector.ImageFormatError WARNING [ironic_python_agent.extensions.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.ImageInspectionTest.test_image_inspection_fail_format_error ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_fail_format_error ... ok WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' ironic_python_agent.tests.unit.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_hardware.TestMultipathEnabled.test_enable_multipath_mpathconf ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_mpathconf ... 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.efi_utils] Empty EFI partition detected. ERROR [root] The provided firmware version 20.34.1012 does not match image firmware version 20.35.1012 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] Clean version mismatch for command execute_service_step ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_find_devices_all ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_find_devices_all ... ok ERROR [root] duplicate settings for device ID 1017 ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_empty_partition_by_uuid ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_empty_partition_by_uuid ... ok ironic_python_agent.tests.unit.extensions.test_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.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 WARNING [ironic_python_agent.numa_inspector] Failed to get some NUMA information (Error in NUMA node data format: An unexpected error occurred. Please try back later.) ... ok ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_get_volume_name_of_raid_device_invalid ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_get_volume_name_of_raid_device_invalid ... ok ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_no_multipath ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_no_multipath ... ok ERROR [ironic_python_agent.disk_utils] Security: Image failed safety check Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/disk_utils.py", line 386, in _image_inspection inspector_cls.safety_check() ~~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_disk_utils.py", line 58, in safety_check raise format_inspector.SafetyCheckFailed( failures={'mockfail': format_inspector.SafetyViolation()} ) oslo_utils.imageutils.format_inspector.SafetyCheckFailed: Safety checks failed: mockfail WARNING [ironic_python_agent.device_hints] The attribute "model" of the device "/dev/sda" has an empty value. Skipping device. WARNING [ironic_python_agent.device_hints] No device found that matches the root device hints {'model': 'foo'} ERROR [root] There is no deviceID provided for this settings ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_version_mismatch ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_version_mismatch ... ok ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__load_ipmi_modules ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__load_ipmi_modules ... ok WARNING [root] Attempted to determine if multipath tools were present. Not detected. Error recorded: 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_inspector.TestWaitForDhcp.test_all ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_all ... 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_device_hints.MatchRootDeviceTestCase.test_find_devices_name ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_find_devices_name ERROR [ironic_python_agent.efi_utils] Could not configure UEFI boot on device /dev/fake: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/efi_utils.py", line 131, in manage_uefi utils.execute('mount', efi_partition, efi_partition_mount_point) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 3, in do_not_call File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None ... ok ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_find_devices_none ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_find_devices_none ... ok 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_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_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_empty_device_attribute ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_empty_device_attribute ... ok ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_fail_safety_check ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_fail_safety_check ... ok ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_with_args ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_with_args ... ok WARNING [ironic_python_agent.numa_inspector] Failed to get some NUMA information (Error in NUMA node data format: An unexpected error occurred. Please try back later.) WARNING [ironic_python_agent.device_hints] The attribute "rotational" (with value "None") of device "/dev/sda" is not a valid Boolean. Skipping device. ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_invalid_firmware_settings_config ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_invalid_firmware_settings_config ... ok ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_boot_only ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_boot_only ... 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_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints ... ok ironic_python_agent.tests.unit.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.ImageInspectionTest.test_image_inspection_pass ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_pass ... ok ironic_python_agent.tests.unit.test_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_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.FindEfiPartitionTestCase.test_find_efi_partition_not_found ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_not_found ... ok ironic_python_agent.tests.unit.test_hardware.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.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_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_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints2 ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints2 ... ok ironic_python_agent.tests.unit.extensions.test_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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_prepare_nvidia_nic_config ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_prepare_nvidia_nic_config ... ok ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints3 ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints3 ... ok ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_with_config ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_with_config ... ok WARNING [ironic_python_agent.device_hints] No device found that matches the root device hints {'size': '>=50', 'model': 's==foo'} ironic_python_agent.tests.unit.test_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 [root] The root device was not detected in 27 seconds ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt ... ok ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_no_device_found ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_no_device_found ... ok 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_inspector.TestWaitForDhcp.test_disabled ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_disabled ... 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_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_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_device_hints.ParseRootDeviceTestCase.test__append_operator_to_hints ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test__append_operator_to_hints ... ok ironic_python_agent.tests.unit.test_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_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_no_operators ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_no_operators ... ok ERROR [ironic_python_agent.efi_utils] Could not configure UEFI boot on device /dev/fake: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/efi_utils.py", line 185, in manage_uefi _run_efibootmgr(valid_efi_bootloaders, efi_dev, efi_part, ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ efi_partition_mount_point) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/efi_utils.py", line 351, in _run_efibootmgr boot_records = list(get_boot_records()) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/efi_utils.py", line 282, in get_boot_records efi_output = utils.execute('efibootmgr', '-v', binary=True) File "", line 3, in do_not_call File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1232, in _execute_mock_call raise result oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None ERROR [ironic_python_agent.efi_utils] Umounting efi system partition failed. Attempted 3 times. Error: Unexpected error while running command. Command: None Exit code: - Stdout: 'no umount' Stderr: None ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__load_ipmi_modules_fail ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__load_ipmi_modules_fail ... ok ironic_python_agent.tests.unit.test_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_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_empty_value ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_empty_value ... ok ironic_python_agent.tests.unit.test_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_inject_files.TestFindPartitionWithPath.test_found ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found ... ok ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_one_hint ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_one_hint ... ok ironic_python_agent.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute ironic_python_agent.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute ... ok ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_only_boot_flag_mbr ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_only_boot_flag_mbr ... ok WARNING [ironic_python_agent.device_hints] The attribute "rotational" (with value "None") of device "/dev/sda" is not a valid Boolean. Skipping device. ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_rotational ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_rotational ... ok WARNING [root] The root device was not detected in 45 seconds ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_integer ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_integer ... ok ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_configured ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_configured ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__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.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_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_rotational_convert_devices_bool ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_rotational_convert_devices_bool ... ok ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found_with_dev ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found_with_dev ... 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_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt_efi_provided ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt_efi_provided ... ok ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_no_fstab ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_no_fstab ... ok ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_missing ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_missing ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_multiple_values ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_multiple_values ... ok ironic_python_agent.tests.unit.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_delete_not_exists ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete_not_exists ... ok ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_success ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_success ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__find_pstore_mount_point ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__find_pstore_mount_point ... ok ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_failed_to_mount ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_failed_to_mount ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_multiple_values_space ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_multiple_values_space ... ok ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_not_found ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_not_found ... ok ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content ... ok ERROR [ironic_python_agent.efi_utils] Could not configure UEFI boot on device /dev/fake: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/efi_utils.py", line 185, in manage_uefi _run_efibootmgr(valid_efi_bootloaders, efi_dev, efi_part, ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ efi_partition_mount_point) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/efi_utils.py", line 351, in _run_efibootmgr boot_records = list(get_boot_records()) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/efi_utils.py", line 282, in get_boot_records efi_output = utils.execute('efibootmgr', '-v', binary=True) File "", line 3, in do_not_call File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1232, in _execute_mock_call raise result oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None WARNING [root] The root device was not detected in 27 seconds 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_inject_files.TestInjectOne.test_plain_content_with_modes ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_modes ... ok ironic_python_agent.tests.unit.test_hardware.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_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_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 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda1. Skipping ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_no_operator ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_no_operator ... ok WARNING [ironic_python_agent.utils] Unable to unmount temporary location /mnt/fake: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None POST: /v1/commands {'name': 'do_things', 'params': []} GOT: POST: /v1/commands {'name': 'do_things', 'params': {'key': 'value'}} GOT: POST: /v1/commands?wait=false {'name': 'do_things', 'params': {'key': 'value'}} GOT: POST: /v1/commands?wait=true {'name': 'do_things', 'params': {'key': 'value'}} GOT: POST: /v1/commands {} GOT: POST: /v1/commands?wait=false?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 {'name': 'do_things', 'params': {'key': 'value', 'wait': False, 'agent_token': '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789'}} GOT: POST: /v1/commands?wait=false?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 {'name': 'do_things', 'params': {'key': 'value', 'wait': False, 'agent_token': '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789'}} GOT: GET: /v1/status None GOT: GET: /v1/commands/abc123 None GOT: GET: /v1/commands/abc123?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 None GOT: GET: /v1/commands/abc123 None GOT: GET: /v1/commands/abc123 None GOT: GET: /v1/commands/abc123?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 None GOT: GET: /v1/commands/abc123?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 None GOT: GET: /v1/commands None GOT: GET: /v1/commands?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 None GOT: GET: /v1/commands?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 None GOT: GET: /v1/foo None GOT: GET: / None GOT: GET: /v1 None GOT: ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_single_value ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_single_value ... ok ironic_python_agent.tests.unit.test_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_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_empty_value ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_empty_value ... ok ironic_python_agent.tests.unit.test_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_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_in ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_in ... ok ironic_python_agent.tests.unit.test_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_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_no_op_no_space ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_no_op_no_space ... ok ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_equal ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_equal ... ok ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_not_found ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_not_found ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_no_op_space ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_no_op_space ... ok ironic_python_agent.tests.unit.test_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_encoding.TestSerializableComparable.test_childclass_hash ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_hash ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_op_no_space ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_op_no_space ... ok 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_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_op_space ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_op_space ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader ... ok ironic_python_agent.tests.unit.test_raid_utils.TestFindESPRAID.test_no_esp_raid ironic_python_agent.tests.unit.test_raid_utils.TestFindESPRAID.test_no_esp_raid ... ok ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_partuuid_success ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_partuuid_success ... ok ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_no_wait_for_disks ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_no_wait_for_disks ... ok ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_failed_to_unmount ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_failed_to_unmount ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_apply_net_firmware_update ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_apply_net_firmware_update ... ok ironic_python_agent.tests.unit.test_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_efi_utils.TestManageUefi.test_found_csv ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_found_csv ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device ... 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_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_or ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_or ... 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 determine if /dev/sdfake is aread-only device. Error: ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_convert_rotational ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_convert_rotational ... ok ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_on ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_on WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping ERROR [root] Duplicate componentFlavor MT_0000000540 ... ok WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sdb. Skipping WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_temporary ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_temporary ... ok WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md1. Skipping ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks ... ok WARNING [root] Something went wrong when readlink for interface eth2. Error: fake ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success ... ok ironic_python_agent.tests.unit.test_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_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_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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_convert_size ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_convert_size ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images_duplicate_component_flavor_exception ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images_duplicate_component_flavor_exception ... ok ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success_raid ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success_raid ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install ... ok ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_wrong_block_type ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_wrong_block_type ... ok ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_owner ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_owner ... WARNING [root] Could not determine if /dev/sdfake1 is aread-only device. Error: ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_false ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_false ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_int_or ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_int_or ... ok ironic_python_agent.tests.unit.test_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.MountedTestCase.test_with_dest ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_with_dest ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestUpdateNvidiaNicFirmwareImage.test_update_nvidia_nic_firmware_image_exception ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestUpdateNvidiaNicFirmwareImage.test_update_nvidia_nic_firmware_image_exception ... ok ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card ... ok ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_execute_error ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_execute_error ... ok ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_no_i40e_driver ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_no_i40e_driver ... ok ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_validate_images_schema ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_validate_images_schema ... ok ironic_python_agent.tests.unit.test_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_utils.TestStreamingClient.test_ok ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_ok ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_partition_error ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_partition_error ... ok ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_indexerror ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_indexerror ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_int_or_invalid ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_int_or_invalid ... ok ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_with_opts ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_with_opts ... ok ERROR [root] Invalid parameters for image {'url': 'http://10.10.10.10/firmware_images/fw2.bin', 'checksum': 'a94e683ea16d9ae44768f0a65942234c', 'checksumType': 'sha512', 'component': 'MT_0000000652', 'version': '24.34.1002'},please provide the following parameters url, checksum, checksumType, componentFlavor, version WARNING [ironic_python_agent.extensions.image] 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.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_in_cna_card ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_in_cna_card ... ok ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_with_type ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_with_type ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_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__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.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__download_container_and_bootc_install_errors_no_bootc ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_errors_no_bootc ... ok ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv4 ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv4 ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_by_path ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_by_path ... ok ironic_python_agent.tests.unit.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_configured ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_configured ... ok ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_write_error ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_write_error ... ok ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6 ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6 ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_hctl ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_hctl ... ok ironic_python_agent.tests.unit.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.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_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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_model ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_model ... ok ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_luks ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_luks ... ok ironic_python_agent.tests.unit.extensions.test_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_utils.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal ... ok ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_wrong_dir_path ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_wrong_dir_path ... ok ironic_python_agent.tests.unit.test_hardware.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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_name ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_name ... ok ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_save_api_client ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_save_api_client ... ok ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal_allowed ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal_allowed ... ok WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url_formatting ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url_formatting ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_no_loader ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_no_loader ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_no_selinux_keys_auth ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_no_selinux_keys_auth ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_rotational ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_rotational ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_path_doesnt_exist ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_path_doesnt_exist ... ok ironic_python_agent.tests.unit.hardware_managers.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_efi_utils.TestManageUefi.test_ok ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_ok ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_serial ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_serial ... ok ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_cache_hardware_info ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_cache_hardware_info ... ok ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_nonconfigured ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_nonconfigured ... ok ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_update_node_cache ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_update_node_cache ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_size ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_size ... ok ironic_python_agent.tests.unit.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 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.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_podman_errors ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_podman_errors ... ok ironic_python_agent.tests.unit.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_ok ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_ok ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_vendor ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_vendor ... ok ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_with_collect_lldp_disabled ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_with_collect_lldp_disabled ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration_no_delete ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration_no_delete ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn ... ok WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__message_format_partition_bios ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__message_format_partition_bios ... ok ironic_python_agent.tests.unit.test_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_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_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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn_vendor_extension ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn_vendor_extension ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__message_format_partition_uefi ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__message_format_partition_uefi ... ok ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_software_raid ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_software_raid ... ok ironic-python-agent: Device sdh was disqualified as virtual media. Type: other, Transport: usb ERROR [root] Unexpected exception performing clean step erase_devices. RuntimeError: boom Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/clean.py", line 76, in execute_clean_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect RuntimeError: boom 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_utils.TestCheckVirtualMedia.test_check_vmedia_device_other ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_other ... ok ERROR [root] Command failed: execute_clean_step, error: Clean step failed: Unexpected exception performing clean step erase_devices. RuntimeError: boom Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/clean.py", line 76, in execute_clean_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect RuntimeError: boom During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/clean.py", line 87, in execute_clean_step raise errors.CleaningError(msg) ironic_python_agent.errors.CleaningError: Clean step failed: Unexpected exception performing clean step erase_devices. RuntimeError: boom ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn_with_extension ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn_with_extension ... ok ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_exception ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_exception ... ok WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. 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_deploy.TestDeployExtension.test_execute_deploy_step ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_umount_fails ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_umount_fails ... ok ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command. Command: None Exit code: - Stdout: 'boop' Stderr: None ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test__wait_for_interface_expired ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test__wait_for_interface_expired ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__sync_clock ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__sync_clock ... ok ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_no_hints ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_no_hintsironic-python-agent: Excluding device sdh1 from virtual mediaconsideration as it is a partition. ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_invalid ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_invalid ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__write_authorized_keys ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__write_authorized_keys ... ok ERROR [root] Command failed: foo_command, error: command execution failed Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_agent.py", line 44, in foo_execute raise EXPECTED_ERROR RuntimeError: command execution failed ERROR [root] Error performing clean step erase_devices Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/clean.py", line 76, in execute_clean_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_part ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_part ... ERROR [root] Unexpected exception performing deploy step erase_devices. RuntimeError: boom Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/deploy.py", line 76, in execute_deploy_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect RuntimeError: boom 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_image.TestImageExtension.test__is_bootloader_loaded_empty ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_empty ... ok 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-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/clean.py", line 76, in execute_clean_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot ERROR [root] Command failed: execute_deploy_step, error: Deploy step failed: Unexpected exception performing deploy step erase_devices. RuntimeError: boom Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/deploy.py", line 76, in execute_deploy_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect RuntimeError: boom During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/deploy.py", line 87, in execute_deploy_step raise errors.DeploymentError(msg) ironic_python_agent.errors.DeploymentError: Deploy step failed: Unexpected exception performing deploy step erase_devices. RuntimeError: boom ironic_python_agent.tests.unit.hardware_managers.test_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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_non_existent_hint ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_non_existent_hint ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_nvram ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_nvram ... 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.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_standby.TestStandbyExtension.test__write_container_auth ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__write_container_auth ... ok ironic_python_agent.tests.unit.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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_string_compare_operator_name ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_string_compare_operator_name ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__write_no_pivot_root ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__write_no_pivot_root ... ok ironic_python_agent.tests.unit.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 ERROR [root] Command failed: sleep, error: An error occurred: An unexpected error occurred. Please try back later. Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/extensions/test_flow.py", line 41, in sleep time.sleep(sleep_info['time']) ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect ironic_python_agent.errors.RESTError: An error occurred: An unexpected error occurred. Please try back later. 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.TestCheckVirtualMedia.test_check_vmedia_device_rom ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_rom ERROR [root] Command failed: start_flow, error: Command execution failed: fake.sleep was failed Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/flow.py", line 44, in start_flow raise errors.CommandExecutionError( "%s was failed" % method ) ironic_python_agent.errors.CommandExecutionError: Command execution failed: fake.sleep was failed ... ok ERROR [root] Malformed clean_step, no "step" key: {} ERROR [root] Command failed: execute_clean_step, error: Malformed clean_step, no "step" key: {} Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/clean.py", line 73, in execute_clean_step raise ValueError(msg) ValueError: Malformed clean_step, no "step" key: {} ERROR [root] Error performing deploy step erase_devices Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/deploy.py", line 76, in execute_deploy_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot ERROR [root] Command failed: execute_deploy_step, error: Block device caused unknown error: I'm a teapot Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/deploy.py", line 76, in execute_deploy_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_no_step ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_no_step ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_nvram_defaults ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_nvram_defaults ... ok ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_wholedisk ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_wholedisk ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_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_deploy.TestDeployExtension.test_execute_deploy_step_fail ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_fail ... WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. ok ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed ... ok ironic_python_agent.tests.unit.test_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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_string_or_space ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_string_or_space ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_find_partition ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_find_partition ... ok ironic_python_agent.tests.unit.test_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.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_mdns.GetEndpointTestCase.test_simple ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_simple ... 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 ... ironic-python-agent: Device sdh was disqualified as virtual media. Type: disk, Transport: sata 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_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_inject_files.TestValidateFiles.test_content_and_deleted ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_content_and_deleted ... ERROR [root] Malformed deploy_step, no "step" key: {} 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-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/deploy.py", line 72, in execute_deploy_step raise ValueError(msg) ValueError: Malformed deploy_step, no "step" key: {} WARNING [ironic_python_agent.extensions.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_collect_lldp_data ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data ... 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.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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_with_operators ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_with_operators ... ok ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_no_step ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_no_step ... ok ERROR [root] Command failed: sleep, error: foo Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/extensions/test_flow.py", line 41, in sleep time.sleep(sleep_info['time']) ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1232, in _execute_mock_call raise result Exception: foo ERROR [root] Command failed: start_flow, error: Command execution failed: fake.sleep was failed Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/flow.py", line 44, in start_flow raise errors.CommandExecutionError( "%s was failed" % method ) ironic_python_agent.errors.CommandExecutionError: Command execution failed: fake.sleep was failed ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuidironic-python-agent: Device sdh was disqualified as virtual media. Type: other, Transport: scsi ... ok ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_scsi ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_scsi ... ok WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. ERROR [root] Clean version mismatch for command execute_clean_step ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_version_mismatch ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_version_mismatch ... ok ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__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.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_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_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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_without_operators ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_without_operators ... ok ironic_python_agent.tests.unit.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_utils.TestUtils.test_boot_mode_from_properties_dict ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_dict ... ok ironic_python_agent.tests.unit.extensions.test_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: 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 WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. ... ok ironic_python_agent.tests.unit.test_utils.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: 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_with_entry_removal_lenovo ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_with_entry_removal_lenovo ... ok ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels ... ok ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_no_directories ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_no_directories ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image ERROR [root] Clean version mismatch for command execute_deploy_step ... 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.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.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 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.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 ERROR [root] Command failed: install_bootloader, error: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/image.py", line 721, in install_bootloader _install_grub2(device, ~~~~~~~~~~~~~~^^^^^^^^ root_uuid=root_uuid, ^^^^^^^^^^^^^^^^^^^^ efi_system_part_uuid=efi_system_part_uuid, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ prep_boot_part_uuid=prep_boot_part_uuid, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ target_boot_mode=target_boot_mode) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/image.py", line 167, in _install_grub2 root_partition = partition_utils.get_partition(device, uuid=root_uuid) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/partition_utils.py", line 618, in get_partition utils.rescan_device(device) ~~~~~~~~~~~~~~~~~~~^^^^^^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/utils.py", line 1114, in rescan_device execute('partx', '-av', device, attempts=3, delay_on_retry=True) ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 3, in do_not_call File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect FileNotFoundError ... 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_failureironic-python-agent: Was unable to execute the lsblk command. Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ... 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 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00029778480529785156 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.00029778480529785156 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0007905960083007812 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.0007905960083007812 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config 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 ERROR [ironic_python_agent.disk_utils] Security: Detected image format was qcow3, but only raw, gpt, qcow2 are allowed WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.005565166473388672 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.005565166473388672 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0060138702392578125 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.0060138702392578125 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0063250064849853516 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.0063250064849853516 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_mismatch ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_mismatch ... WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.006626605987548828 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.006626605987548828 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.006922721862792969 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.006922721862792969 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.007229328155517578 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config 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 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.007229328155517578 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config ... WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.007507801055908203 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.007507801055908203 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.007786989212036133 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_inject_files.TestValidateFiles.test_numeric_fields ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_numeric_fields ... 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_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: Did not identify any virtual media candidates devices. 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_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_disk_utils.GetAndValidateImageFormat.test_format_mismatch_but_disabled ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_mismatch_but_disabled ... ok ironic_python_agent.tests.unit.test_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_inspector.TestCollectLogs.test ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test ... 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.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.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 ERROR [ironic_python_agent.disk_utils] Security: Detected image format was qcow3, but only raw, gpt, qcow2 are allowed WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0001842975616455078 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.0001842975616455078 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.inspector] failed to get system journal ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_type_disallowed ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_type_disallowed ... ok ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test_fail ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test_fail ... ok WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.007158756256103516 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.007158756256103516 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.007607221603393555 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.007607221603393555 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.007931709289550781 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.007931709289550781 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.008244991302490234 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.008244991302490234 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.008587837219238281 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.008587837219238281 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0088958740234375 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.0088958740234375 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.009212732315063477 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_root_without_on ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_root_without_on WARNING [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.009212732315063477 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.009509801864624023 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.009509801864624023 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config ... WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.009793519973754883 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_image_info_credential ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_image_info_credential ... ok ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_unknown_happy ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_unknown_happy ... ok ironic_python_agent.tests.unit.test_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.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_empty_command_map ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_empty_command_map ... ok ironic_python_agent.tests.unit.test_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_utils.GetAgentParamsTestCase.test__get_vmedia_device ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_device ... ok ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_get_deploy_steps ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_get_deploy_steps ... ok ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_happy_qcow2 ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_happy_qcow2 ... ok WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0002155303955078125 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.0002155303955078125 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0006814002990722656 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.0006814002990722656 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0009987354278564453 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.0009987354278564453 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config 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 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.006962776184082031 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.006962776184082031 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00737452507019043 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.00737452507019043 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.007670879364013672 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.007670879364013672 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.007979869842529297 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.007979869842529297 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.008291006088256836 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.008291006088256836 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.008588552474975586 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.008588552474975586 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00886845588684082 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config 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_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_disk_utils.GetAndValidateImageFormat.test_happy_raw ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_happy_raw ... ok ironic_python_agent.tests.unit.test_partition_utils.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.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 [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version response = self._request('GET', '/') File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 90, in _request resp = self.session.request(method, request_url, ...<4 lines>... timeout=CONF.http_request_timeout, **kwargs) File "", line 3, in request File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect Exception: Boom ironic_python_agent.tests.unit.test_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.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential ... ok ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_skip_invalid ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_skip_invalid ... 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_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_error ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_error ... ok WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.006914615631103516 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.006914615631103516 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.010786056518554688 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.010786056518554688 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.011214017868041992 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.011214017868041992 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.011525869369506836 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.011525869369506836 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.011813879013061523 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.011813879013061523 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.012093782424926758 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.012093782424926758 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.012371063232421875 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.012371063232421875 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.012664079666137695 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.012664079666137695 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.012950420379638672 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.012950420379638672 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.013233661651611328 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_indexerror ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_indexerror ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential_second ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential_second ... ok ironic_python_agent.tests.unit.test_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_disk_utils.GetAndValidateImageFormat.test_safety_check_fail_but_disabled ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_safety_check_fail_but_disabled ... ok ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_to_find_extension ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_to_find_extension ... ok ironic_python_agent.tests.unit.test_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_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_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__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_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_mdns.GetEndpointTestCase.test_v6 ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_v6 ... ok ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_success ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_success ... ok ironic_python_agent.tests.unit.test_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 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0014662742614746094 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.0014662742614746094 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.006767749786376953 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.006767749786376953 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv4 ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv4 ... ok WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.007359981536865234 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.007359981536865234 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.007801532745361328 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.007801532745361328 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_conf_drive_sz_exceed ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_conf_drive_sz_exceed ... ok ironic_python_agent.tests.unit.test_utils.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_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures ... ok /build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_tls_utils.py:57: CryptographyDeprecationWarning: Properties that return a naïve datetime object have been deprecated. Please switch to not_valid_before_utc. self.assertLess(cert.not_valid_before, /build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_tls_utils.py:59: CryptographyDeprecationWarning: Properties that return a naïve datetime object have been deprecated. Please switch to not_valid_after_utc. self.assertGreater(cert.not_valid_after, ironic_python_agent.tests.unit.test_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 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.012994527816772461 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: ... ok WARNING [ironic_python_agent.extensions.standby] Image download failed, 4 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.012994527816772461 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.01705789566040039 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.01705789566040039 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: 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_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.extensions.standby] URL: http://example.org; time: 0.019486427307128906 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.019486427307128906 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.02004861831665039 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.02004861831665039 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: 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 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.02681112289428711 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.02681112289428711 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.02745199203491211 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: WARNING [ironic_python_agent.ironic_api_client] Got invalid node data in response to query for node with addresses '00:0c:29:8c:11:b1,00:0c:29:8c:11:b2' from http://agent-api.ironic.example.org: {'node_node': 'also_not_node'} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_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.TestExecuteBootCInstall.test_execute_bootc_install ironic_python_agent.tests.unit.test_hardware.TestExecuteBootCInstall.test_execute_bootc_install ... 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_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_body ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_body ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures_raid5 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures_raid5 ... ok ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_cannot_find_dev ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_cannot_find_dev ... ok ironic_python_agent.tests.unit.test_utils.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_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.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_tls_utils.GenerateTestCase.test_generate ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test_generate ... ok ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_code ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_code ... ok ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_exists ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_exists ... ok WARNING [ironic_python_agent.disk_utils] Failed to check the device fake-dev with fuser: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: 'fake' ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures_raid6 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures_raid6 ... ok ironic_python_agent.tests.unit.test_utils.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.GetAgentParamsTestCase.test__read_params_from_file ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file ... 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} 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_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.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_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_no_fuser ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_no_fuser ... ok ironic_python_agent.tests.unit.test_utils.TestUtils.test_device_extractor ironic_python_agent.tests.unit.test_utils.TestUtils.test_device_extractor ... ok ERROR [ironic_python_agent.utils] foo ERROR [ironic_python_agent.utils] bar ERROR [ironic_python_agent.utils] baz ironic_python_agent.tests.unit.test_hardware.TestListHardwareInfo.test_caching ironic_python_agent.tests.unit.test_hardware.TestListHardwareInfo.test_caching ... 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 ERROR [ironic_python_agent.utils] foo ironic_python_agent.tests.unit.test_utils.TestFailures.test_get_error ironic_python_agent.tests.unit.test_utils.TestFailures.test_get_error ... ok ironic_python_agent.tests.unit.test_utils.TestFailures.test_raise ironic_python_agent.tests.unit.test_utils.TestFailures.test_raise ... ok ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_dict ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_dict ... ok WARNING [ironic_python_agent.ironic_api_client] Got invalid heartbeat from the API: {'node': {'uuid': 'deadbeef-dabb-ad00-b105-f00d00bab10c'}} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_no_heartbeat_timeout ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_no_heartbeat_timeout ... ok ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_json_string ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_json_string ... ok ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file_fail ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file_fail ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_efi ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_efi ... 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 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.extensions.test_standby.TestStandbyExtension.test_download_image_basic_auth_image_info_success ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_basic_auth_image_info_success ... ok ironic_python_agent.tests.unit.test_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_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_agent.TestBaseAgent.test_get_status ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_status ... 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_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_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.TestUtils.test_get_command_output ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_command_output ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_conductor_auth ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_conductor_auth ... ok 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_utils.GetAgentParamsTestCase.test_get_agent_params_kernel_cmdline ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_kernel_cmdline ... ok ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output ... 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.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_utils.TestUtils.test_get_journalctl_output_fail ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_fail ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_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_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.TestUtils.test_get_journalctl_output_with_lines ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_with_lines ... ok ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_transient_exceptions ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_transient_exceptions ... ok ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_with_units ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_with_units ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_invalid_hints ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_invalid_hints ... ok ERROR [ironic_python_agent.extensions.standby] Image failed to verify against checksum. location: /tmp/tmpf993jcct/fake_id; image ID: fake_id; image checksum: fake-checksum; verification checksum: invalid-checksum ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_num_parts_exceed ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_num_parts_exceed ... ok ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve return _proxy.query(name, rdtype, raise_on_no_answer=raises, ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use_network=use_network) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) ^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver self.clear() ~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear self._resolver = dns.resolver.Resolver(filename=self._filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ self.read_resolv_conf(filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf raise NoResolverConfiguration("no nameservers") dns.resolver.NoResolverConfiguration: no nameservers During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo qname, addrs = _getaddrinfo_lookup(host, family, flags) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup raise err File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup answer = resolve(host, qfamily, False, use_network=use_network) File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve _raise_new_error(EAI_NODATA_ERROR) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error raise error_instance.__class__(*error_instance.args) socket.gaierror: [Errno -2] Name or service not known The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version response = self._request('GET', '/') File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 90, in _request resp = self.session.request(method, request_url, ...<4 lines>... timeout=CONF.http_request_timeout, **kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS ironic_python_agent.tests.unit.test_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.extensions.test_standby.TestStandbyExtension.test_download_image_verify_fails ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_verify_fails ... ok ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run ... ok WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_custom_port_and_path ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_custom_port_and_path ... ok ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_disks_too_small ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_disks_too_small ... ok 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.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_image_info_user_pass_none ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_image_info_user_pass_none ... ok ironic_python_agent.tests.unit.test_utils.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.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_image_info_user_pass_success ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_image_info_user_pass_success ... ok ERROR [root] 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_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_unknown_exception ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_unknown_exception ... ok ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_secondary_sort ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_secondary_sort ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_oslo_conf_user_pass_none ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_oslo_conf_user_pass_none ... ok ironic_python_agent.tests.unit.test_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.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_oslo_conf_user_pass_success ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_oslo_conf_user_pass_success ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_get_partition_uuids ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_get_partition_uuids ... ok ironic_python_agent.tests.unit.test_utils.TestUtils.test_gzip_and_b64encode ironic_python_agent.tests.unit.test_utils.TestUtils.test_gzip_and_b64encode ... ok ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_unknown_exception_fallback ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_unknown_exception_fallback ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_image_location ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_image_location ... 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_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.extensions.test_standby.TestStandbyExtension.test_load_auth_header_from_image_info ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_load_auth_header_from_image_info ... ok 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 ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve return _proxy.query(name, rdtype, raise_on_no_answer=raises, ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use_network=use_network) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) ^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver self.clear() ~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear self._resolver = dns.resolver.Resolver(filename=self._filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ self.read_resolv_conf(filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf raise NoResolverConfiguration("no nameservers") dns.resolver.NoResolverConfiguration: no nameservers During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo qname, addrs = _getaddrinfo_lookup(host, family, flags) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup raise err File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup answer = resolve(host, qfamily, False, use_network=use_network) File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve _raise_new_error(EAI_NODATA_ERROR) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error raise error_instance.__class__(*error_instance.args) socket.gaierror: [Errno -2] Name or service not known The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version response = self._request('GET', '/') File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 90, in _request resp = self.session.request(method, request_url, ...<4 lines>... timeout=CONF.http_request_timeout, **kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS ironic_python_agent.tests.unit.test_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_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_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.extensions.test_standby.TestStandbyExtension.test_load_auth_header_from_image_info_none ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_load_auth_header_from_image_info_none ... ok ironic_python_agent.tests.unit.test_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_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.TestUtils.test_secure_boot_overriden_with_instance_info_caps ironic_python_agent.tests.unit.test_utils.TestUtils.test_secure_boot_overriden_with_instance_info_caps ... ok ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_protocol ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_protocol ... ok ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None WARNING [ironic_python_agent.extensions.standby] poweroff command failed with error Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None, falling back to sysrq-trigger 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 ERROR [root] Command failed: power_off, error: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None. Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1086, in _run_shutdown_command utils.execute("echo o > /proc/sysrq-trigger", shell=True) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 3, in do_not_call File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1102, in power_off self._run_shutdown_command('poweroff') ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1090, in _run_shutdown_command raise errors.SystemRebootError(e.exit_code, e.stdout, e.stderr) ironic_python_agent.errors.SystemRebootError: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None. ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_power_off ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_power_off ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_no_max ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_no_max ... ok ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_retries ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_retries ... ok ironic_python_agent.tests.unit.test_utils.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_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 ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve return _proxy.query(name, rdtype, raise_on_no_answer=raises, ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use_network=use_network) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) ^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver self.clear() ~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear self._resolver = dns.resolver.Resolver(filename=self._filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ self.read_resolv_conf(filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf raise NoResolverConfiguration("no nameservers") dns.resolver.NoResolverConfiguration: no nameservers During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo qname, addrs = _getaddrinfo_lookup(host, family, flags) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup raise err File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup answer = resolve(host, qfamily, False, use_network=use_network) File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve _raise_new_error(EAI_NODATA_ERROR) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error raise error_instance.__class__(*error_instance.args) socket.gaierror: [Errno -2] Name or service not known The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version response = self._request('GET', '/') File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 90, in _request resp = self.session.request(method, request_url, ...<4 lines>... timeout=CONF.http_request_timeout, **kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS ERROR [ironic_python_agent.utils] Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ERROR [root] Command failed: power_off, error: Error syncing system clock: Failed to sync hardware clock: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/utils.py", line 1018, in sync_clock execute('ntpdate', CONF.ntp_server) ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 3, in do_not_call File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1135, in _sync_clock utils.sync_clock(ignore_errors=ignore_errors) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/utils.py", line 1025, in sync_clock raise errors.CommandExecutionError(msg) ironic_python_agent.errors.CommandExecutionError: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1102, in power_off self._run_shutdown_command('poweroff') ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1061, in _run_shutdown_command self._sync_clock(ignore_errors=True) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1145, in _sync_clock raise errors.ClockSyncError(msg) ironic_python_agent.errors.ClockSyncError: Error syncing system clock: Failed to sync hardware clock: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_gpt ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_gpt ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_partitions_detected ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_partitions_detected ... ok ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_listen_host_port ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_listen_host_port ... ok ironic_python_agent.tests.unit.test_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_mdns.GetEndpointTestCase.test_with_custom_port_path_and_protocol ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_custom_port_path_and_protocol ... ok ironic_python_agent.tests.unit.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_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_agent_version_unsupported ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_agent_version_unsupported ... ok ironic_python_agent.tests.unit.test_utils.TestUtils.test_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_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_1 ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_1 ... ok ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_with_instance_disk_label ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_with_instance_disk_label ... ok ironic_python_agent.tests.unit.test_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_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_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.extensions.test_standby.TestStandbyExtension.test_prepare_image ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image ... ok ironic_python_agent.tests.unit.test_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_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_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_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_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 ERROR [root] Command failed: prepare_image, error: Don't call utils.execute() / processutils.execute() or similar functions in tests! Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1025, in prepare_image _validate_partitioning(device) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 839, in _validate_partitioning disk_utils.partprobe(device) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/disk_utils.py", line 667, in partprobe utils.execute('partprobe', device, attempts=attempts) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/base.py", line 88, in do_not_call raise Exception( "Don't call utils.execute() / " "processutils.execute() or similar functions in tests!") Exception: Don't call utils.execute() / processutils.execute() or similar functions in tests! ironic_python_agent.tests.unit.test_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 ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve return _proxy.query(name, rdtype, raise_on_no_answer=raises, ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use_network=use_network) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) ^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver self.clear() ~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear self._resolver = dns.resolver.Resolver(filename=self._filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ self.read_resolv_conf(filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf raise NoResolverConfiguration("no nameservers") dns.resolver.NoResolverConfiguration: no nameservers During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo qname, addrs = _getaddrinfo_lookup(host, family, flags) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup raise err File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup answer = resolve(host, qfamily, False, use_network=use_network) File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve _raise_new_error(EAI_NODATA_ERROR) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error raise error_instance.__class__(*error_instance.args) socket.gaierror: [Errno -2] Name or service not known The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version response = self._request('GET', '/') File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 90, in _request resp = self.session.request(method, request_url, ...<4 lines>... timeout=CONF.http_request_timeout, **kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS ironic_python_agent.tests.unit.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_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_connection_error ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_connection_error ... ok ironic_python_agent.tests.unit.test_hardware.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_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_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_exception ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_exception ... ok ironic_python_agent.tests.unit.test_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_hardware.TestGenericHardwareManager.test_create_configuration_with_hints ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_hints ... 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.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_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.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_requests_several_urls ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_several_urls ... 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 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 [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 WARNING [ironic_python_agent.extensions.standby] Failed to call get_disk_identifier: Unable to obtain the root_uuid parameter: The hexdump tool may be missing in IPA: ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve return _proxy.query(name, rdtype, raise_on_no_answer=raises, ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use_network=use_network) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) ^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver self.clear() ~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear self._resolver = dns.resolver.Resolver(filename=self._filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ self.read_resolv_conf(filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf raise NoResolverConfiguration("no nameservers") dns.resolver.NoResolverConfiguration: no nameservers During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo qname, addrs = _getaddrinfo_lookup(host, family, flags) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup raise err File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup answer = resolve(host, qfamily, False, use_network=use_network) File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve _raise_new_error(EAI_NODATA_ERROR) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error raise error_instance.__class__(*error_instance.args) socket.gaierror: [Errno -2] Name or service not known The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version response = self._request('GET', '/') File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 90, in _request resp = self.session.request(method, request_url, ...<4 lines>... timeout=CONF.http_request_timeout, **kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_params ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_params ... ok ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_then_lockdown ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_then_lockdown ... ok 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_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_node_retries ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_node_retries ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_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.extensions.test_standby.TestStandbyExtension.test_prepare_image_raw_and_stream_false ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_raw_and_stream_false ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_skip_list ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_skip_list ... 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 return _proxy.query(name, rdtype, raise_on_no_answer=raises, ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use_network=use_network) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) ^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver self.clear() ~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear self._resolver = dns.resolver.Resolver(filename=self._filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ self.read_resolv_conf(filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf raise NoResolverConfiguration("no nameservers") dns.resolver.NoResolverConfiguration: no nameservers During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo qname, addrs = _getaddrinfo_lookup(host, family, flags) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup raise err File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup answer = resolve(host, qfamily, False, use_network=use_network) File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve _raise_new_error(EAI_NODATA_ERROR) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error raise error_instance.__class__(*error_instance.args) socket.gaierror: [Errno -2] Name or service not known The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version response = self._request('GET', '/') File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 90, in _request resp = self.session.request(method, request_url, ...<4 lines>... timeout=CONF.http_request_timeout, **kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_deploy_steps_exist ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_deploy_steps_exist ... 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_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_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_lookup_timeout ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_timeout ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_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_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat ... 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_agent.TestAgentStandalone.test_run ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run ... 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_mdns.GetEndpointTestCase.test_with_server ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_server ... ok ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_ip6 ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_ip6 ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image_raw_and_stream_false ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image_raw_and_stream_false ... ok ironic_python_agent.tests.unit.test_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 WARNING [root] Failed to invoke secure erase, falling back to shred: Error erasing block device: An unknown error occurred erasing block device /dev/sda WARNING [ironic_python_agent.agent] Could not get baremetal endpoint from mDNS, will not heartbeat ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_verify_ca ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_verify_ca ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_failed_continued ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_failed_continued ... 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 WARNING [root] Can't find field vendor for device lo in device class net WARNING [ironic_python_agent.agent] Ironic does not support automated TLS ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_inspection_without_apiurl ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_inspection_without_apiurl ... ok ERROR [root] Failed to invoke secure erase, fallback to shred is not enabled: Error erasing block device: Block device /dev/sda is frozen and cannot be erased ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None WARNING [ironic_python_agent.extensions.standby] reboot command failed with error Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None, falling back to sysrq-trigger ERROR [root] Command failed: run_image, error: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None. Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1088, in _run_shutdown_command utils.execute("echo b > /proc/sysrq-trigger", shell=True) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 3, in do_not_call File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1096, in run_image self._run_shutdown_command('reboot') ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1090, in _run_shutdown_command raise errors.SystemRebootError(e.exit_code, e.stdout, e.stderr) ironic_python_agent.errors.SystemRebootError: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None. ironic_python_agent.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_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_partition_utils.GetConfigdriveTestCase.test_get_configdrive_insecure ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_insecure ... ok ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None WARNING [ironic_python_agent.extensions.standby] reboot command failed with error Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None, falling back to sysrq-trigger ERROR [root] 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.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_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.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_invalid ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_invalid ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_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.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid ... ok WARNING [ironic_python_agent.extensions.standby] poweroff command failed with error Unexpected error while running command. Command: None Exit code: - Stdout: '' Stderr: None, falling back to sysrq-trigger ironic_python_agent.tests.unit.test_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.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_poweroff_sysrq ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_poweroff_sysrq ... ok WARNING [ironic_python_agent.extensions.standby] reboot command has been ignored, falling back to sysrq-trigger ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_reboot_sysrq ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_reboot_sysrq ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_success ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_success ... ok ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve return _proxy.query(name, rdtype, raise_on_no_answer=raises, ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use_network=use_network) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) ^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver self.clear() ~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear self._resolver = dns.resolver.Resolver(filename=self._filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ self.read_resolv_conf(filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf raise NoResolverConfiguration("no nameservers") dns.resolver.NoResolverConfiguration: no nameservers During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo qname, addrs = _getaddrinfo_lookup(host, family, flags) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup raise err File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup answer = resolve(host, qfamily, False, use_network=use_network) File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve _raise_new_error(EAI_NODATA_ERROR) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error raise error_instance.__class__(*error_instance.args) socket.gaierror: [Errno -2] Name or service not known The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version response = self._request('GET', '/') File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 90, in _request resp = self.session.request(method, request_url, ...<4 lines>... timeout=CONF.http_request_timeout, **kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_sleep ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_sleep ... 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.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.GetConfigdriveTestCase.test_get_configdrive_ssl ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_ssl ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nosecurity_shred ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nosecurity_shred ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_notsupported_shred ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_notsupported_shred ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_crypto_success ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_crypto_success ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_failed ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_failed ... ok ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_ssl ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_ssl ... 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 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_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 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 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 ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve return _proxy.query(name, rdtype, raise_on_no_answer=raises, ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use_network=use_network) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) ^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver self.clear() ~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear self._resolver = dns.resolver.Resolver(filename=self._filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ self.read_resolv_conf(filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf raise NoResolverConfiguration("no nameservers") dns.resolver.NoResolverConfiguration: no nameservers During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo qname, addrs = _getaddrinfo_lookup(host, family, flags) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup raise err File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup answer = resolve(host, qfamily, False, use_network=use_network) File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve _raise_new_error(EAI_NODATA_ERROR) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error raise error_instance.__class__(*error_instance.args) socket.gaierror: [Errno -2] Name or service not known The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'example.com' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='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: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version response = self._request('GET', '/') File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 90, in _request resp = self.session.request(method, request_url, ...<4 lines>... timeout=CONF.http_request_timeout, **kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='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 WARNING [root] Refusing to permit ATA Secure Erase as direct ATA commands via the `smartctl` utility with device /dev/sda do not succeed. ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_smartctl_fails_security_fallback_to_shred ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_smartctl_fails_security_fallback_to_shred ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_smartctl_unsupported_shred ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_smartctl_unsupported_shred ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_virtual_media ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_virtual_media ... ok ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve return _proxy.query(name, rdtype, raise_on_no_answer=raises, ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use_network=use_network) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) ^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver self.clear() ~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear self._resolver = dns.resolver.Resolver(filename=self._filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ self.read_resolv_conf(filename) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf raise NoResolverConfiguration("no nameservers") dns.resolver.NoResolverConfiguration: no nameservers During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo qname, addrs = _getaddrinfo_lookup(host, family, flags) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup raise err File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup answer = resolve(host, qfamily, False, use_network=use_network) File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve _raise_new_error(EAI_NODATA_ERROR) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error raise error_instance.__class__(*error_instance.args) socket.gaierror: [Errno -2] Name or service not known The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'example.com' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='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: Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version response = self._request('GET', '/') File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 90, in _request resp = self.session.request(method, request_url, ...<4 lines>... timeout=CONF.http_request_timeout, **kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='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_explicitly ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_url_from_mdns_explicitly ... 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.TestGenericHardwareManager.test_erase_devices_concurrency ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_concurrency ... ok ironic_python_agent.tests.unit.test_multi_hardware_clean_steps.TestMultipleHardwareManagerCleanSteps.test_clean_step_ordering ironic_python_agent.tests.unit.test_multi_hardware_clean_steps.TestMultipleHardwareManagerCleanSteps.test_clean_step_ordering ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_concurrency_pool_size ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_concurrency_pool_size ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_express ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_express ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_express_stops_on_safety_failure ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_express_stops_on_safety_failure ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_1st ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_1st ... ok ERROR [root] Failed to 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_burnin.TestBurnin.test_fio_network_dynamic_find_pair_2nd ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_2nd ... ok ironic_python_agent.tests.unit.test_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_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_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 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_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default_protected_device ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default_protected_device ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_without_disk ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_without_disk ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_pstore ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_pstore ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_ok ... ok WARNING [root] Executable 'biosdevname' not found ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_oserror ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_oserror ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err3 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err3 ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err4 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err4 ... ok ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_invalid ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_invalid ... ok WARNING [root] Invalid IP address meow: 'meow' does not appear to be an IPv4 or IPv6 address ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_iterate_channels ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_iterate_channels ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_no_ipmi_device ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_no_ipmi_device ... ok WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_not_available ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_not_available ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_random_error ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_random_error ... ok WARNING [root] Cannot get BMC address: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_virt ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_virt ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_zeroed ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_zeroed ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_for_ipv6 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_for_ipv6 ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_invalid ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_invalid ... ok WARNING [root] Invalid ipmitool output meow ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_iterate_channels ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_iterate_channels ... ok WARNING [root] Invalid ipmitool output meow ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_iterate_channels_ipv6 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_iterate_channels_ipv6 ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_no_ipmi_device ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_no_ipmi_device ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_no_valid_ip_or_ipv6 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_no_valid_ip_or_ipv6 ... ok WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_not_available ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_not_available ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_random_error ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_random_error ... ok WARNING [root] Cannot get BMC MAC address: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_virt ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_virt ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_with_invalid_ipv6 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_with_invalid_ipv6 ... 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_get_bmc_mac_with_valid_ipv6_and_invalid_mac ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_with_valid_ipv6_and_invalid_mac ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_zeroed ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_zeroed ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_channel_7 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_channel_7 ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_dynamic_address ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_dynamic_address ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_enables ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_enables ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_get_address ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_get_address ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_ipmitool_invalid_stdout_format ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_ipmitool_invalid_stdout_format ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_no_ipmi_device ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_no_ipmi_device ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_not_enabled ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_not_enabled ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_static_address_both ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_static_address_both ... ok WARNING [root] Cannot get BMC v6 address: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_virt ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_virt ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_bios ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_bios ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_pxe_interface ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_pxe_interface ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_uefi ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_uefi ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_clean_steps ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_clean_steps ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_component_devices ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_component_devices ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_illegal_flags ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_illegal_flags ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_timeout ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_timeout ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_defaults ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_defaults ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_no_defaults ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_no_defaults ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_max_mhz_and_flag_fallback ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_max_mhz_and_flag_fallback ... ok ironic_python_agent.tests.unit.test_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_hardware.TestGenericHardwareManager.test_get_cpus_max_mhz_flag_fallback ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_max_mhz_flag_fallback ... ok ironic_python_agent.tests.unit.test_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_hardware.TestGenericHardwareManager.test_get_cpus_multi ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_multi ... ok ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_fio ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_fio ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_no_flags ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_no_flags ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks ... ok ironic_python_agent.tests.unit.test_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_hardware.TestGenericHardwareManager.test_get_holder_disks_broken_raid0 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_broken_raid0 ... ok ironic_python_agent.tests.unit.test_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_hardware.TestGenericHardwareManager.test_get_holder_disks_poisoned_output ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_poisoned_output ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_unexpected_devices ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_unexpected_devices ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_nvme ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_nvme ... ok ERROR [ironic_python_agent.extensions.standby] Timeout reached waiting for a chunk of data from a remote server. ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_whole_device ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_whole_device ... ok ironic_python_agent.tests.unit.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 ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. Command: None Exit code: 16 Stdout: 'Connection timeout' Stderr: None ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. Command: None Exit code: 16 Stdout: 'Connection timeout' Stderr: None ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_arm64_lshw ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_arm64_lshw ... ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. Command: None Exit code: 16 Stdout: 'Connection refused' Stderr: None ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader_loop ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader_loop ... ok WARNING [root] Could not get real physical RAM from lshw: ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_exception ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_exception ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader_w_logfile ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader_w_logfile ... ok WARNING [ironic_python_agent.extensions.standby] Image download failed, 0 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_list ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_list ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_unknown_role ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_unknown_role ... ok 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.test_burnin.TestBurnin.test_fio_network_writer ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_bank_size ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_bank_size ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer_w_logfile ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer_w_logfile ... ok ERROR [root] Cannot fetch total memory size using psutil version 7 Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/hardware.py", line 1675, in get_memory total = int(psutil.virtual_memory().total) ~~~~~~~~~~~~~~~~~~~~~^^ File "", line 3, in virtual_memory File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect AttributeError ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v1 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v1 ... ok ironic_python_agent.tests.unit.test_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.extensions.test_standby.TestStandbyExtension.test_sync ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync ... ok ERROR [root] Cannot fetch total memory size using psutil version 7 Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/hardware.py", line 1675, in get_memory total = int(psutil.virtual_memory().total) ~~~~~~~~~~~~~~~~~~~~~^^ File "", line 3, in virtual_memory File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect AttributeError 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_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v2 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v2 ... ok ironic_python_agent.tests.unit.test_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_hardware.TestGenericHardwareManager.test_get_memory_psutil_v1 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_v1 ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_checksum ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_checksum ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_default ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_default ... ok ERROR [ironic_python_agent.burnin] stress-ng (vm) failed with error Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_no_stress_ng ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_no_stress_ng ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_urls ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_urls ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_v2 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_v2 ... ok ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_non_default ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_non_default ... ok WARNING [ironic_python_agent.dmi_inspector] Failed to parse Handle type in dmi output: list index out of range WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' 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] Can't find field vendor for device sdb in device class block WARNING [root] Device /dev/sdc is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdc' WARNING [root] Can't find field vendor for device sdc in device class block WARNING [root] Device /dev/sdd is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdd' WARNING [root] Can't find field vendor for device sdd in device class block WARNING [root] Device /dev/dm-0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-0' WARNING [root] Can't find field vendor for device dm-0 in device class block ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_invalid_checksum ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_invalid_checksum ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device ... ok ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_bad_data ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_bad_data ... ok ERROR [ironic_python_agent.utils] failed to run dmidecode: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_failure ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_failure ... ok WARNING [root] Using hint {'vendor': 'basic vendor'} skipping devices: /dev/sdb,/dev/sda ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_invalid_urls ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_invalid_urls ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_legacy_md5_checksum ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_legacy_md5_checksum ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_legacy_md5_checksum_enabled ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_legacy_md5_checksum_enabled ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_missing_field ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_missing_field ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_no_hash_algo ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_no_hash_algo ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_no_hash_value ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_no_hash_value ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_sha256 ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_sha256 ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success ... ok ironic_python_agent.tests.unit.test_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.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_ignore_none_md5 ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_ignore_none_md5 ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_with_new_hash_fields ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_with_new_hash_fields ... ok ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_ok ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_ok ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_complete_skip_list ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_complete_skip_list ... ok ironic_python_agent.tests.unit.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 WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' 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] Can't find field vendor for device sdb in device class block ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_fails ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_fails ... ok 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_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_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_cpu ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_cpu ... ok WARNING [root] We have identified a multipath device sda, this is being ignored in favor of dm-0 and its related child devices. ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_memory ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_memory ... ok WARNING [root] We have identified a multipath device sda2, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] We have identified a multipath device sda3, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] We have identified a multipath device sda1, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] Device /dev/dm-0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-0' WARNING [root] Can't find field vendor for device dm-0 in device class block WARNING [root] We have identified a multipath device sdb, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] We have identified a multipath device sdb2, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] We have identified a multipath device sdb3, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] We have identified a multipath device sdb1, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] Device /dev/sdc is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdc' WARNING [root] Can't find field vendor for device sdc in device class block WARNING [root] Device /dev/dm-1 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-1' WARNING [root] Can't find field vendor for device dm-1 in device class block ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_multipath ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_multipath ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds ... ok ironic_python_agent.tests.unit.test_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.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_hardware.TestGenericHardwareManager.test_get_os_install_device_no_root_device ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_no_root_device ... ok ironic_python_agent.tests.unit.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 WARNING [root] We have identified a multipath device sda, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] We have identified a multipath device sda2, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] We have identified a multipath device sda3, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] We have identified a multipath device sda1, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] Device /dev/dm-0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-0' WARNING [root] Can't find field vendor for device dm-0 in device class block WARNING [root] We have identified a multipath device sdb, this is being ignored in favor of dm-0 and its related child devices. WARNING [ironic_python_agent.dmi_inspector] Failed to process memory dmi data: 'Number Of Devices' WARNING [root] We have identified a multipath device sdb2, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] We have identified a multipath device sdb3, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] We have identified a multipath device sdb1, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] Device /dev/sdc is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdc' WARNING [root] Can't find field vendor for device sdc in device class block WARNING [root] Device /dev/dm-1 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-1' WARNING [root] Can't find field vendor for device dm-1 in device class block ironic_python_agent.tests.unit.test_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.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.test_hardware.TestGenericHardwareManager.test_get_os_install_device_not_multipath ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_not_multipath ... ok WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' WARNING [root] 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] 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] Can't find field vendor for device md0 in device class block ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_none_password ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_none_password ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_raid ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_raid ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_none_user ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_none_user ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_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 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.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_image_failure ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_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-sha512-value; verification checksum: invalid-checksum ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_with_new_hash_fields ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_with_new_hash_fields ... ok ERROR [ironic_python_agent.extensions.standby] Unable to verify image fake_id with available checksums. Please make sure the specified 'os_hash_algo' (currently unsupported-algorithm) is supported by this ramdisk, or provide a md5 checksum via the 'checksum' field ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_without_fallback ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_without_fallback ... ok ironic_python_agent.tests.unit.test_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_success ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_with_md5_fallback ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_with_md5_fallback ... ok WARNING [ironic_python_agent.device_hints] 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.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.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_no_device_found ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_no_device_found ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_without_md5 ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_without_md5 ... ok ironic_python_agent.tests.unit.test_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.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.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_serial ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_serial ... ok ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_fails ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_fails ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_not_int ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_not_int ... ok ironic_python_agent.tests.unit.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: expected string or bytes-like object, got 'MagicMock' ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_str ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_str ... ok ironic_python_agent.tests.unit.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 WARNING [root] Using hint {'vendor': 'fake-vendor'} skipping devices: /dev/sdb 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: expected string or bytes-like object, got 'MagicMock' ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid ... ok WARNING [ironic_python_agent.device_hints] 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 ERROR [ironic_python_agent.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: expected string or bytes-like object, got 'MagicMock' ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid_uefi ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid_uefi ... ok ironic_python_agent.tests.unit.test_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_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_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_wwn ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_wwn ... ok ironic_python_agent.tests.unit.test_disk_utils.PopulateImageTestCase.test_populate_raw_image ironic_python_agent.tests.unit.test_disk_utils.PopulateImageTestCase.test_populate_raw_image ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_skip_list_non_exist ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_skip_list_non_exist ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_just_raids ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_just_raids ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_no_skip_list ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_no_skip_list ... ok WARNING [root] Using hint {'name': '/dev/sdj'} skipping devices: /dev/sdj ironic_python_agent.tests.unit.test_multi_hardware.TestNoHardwareManagerLoading.test_no_managers_found ironic_python_agent.tests.unit.test_multi_hardware.TestNoHardwareManagerLoading.test_no_managers_found ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_with_skip_list ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_with_skip_list ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info ... ok WARNING [root] Could not retrieve vendor info from lshw: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info_failure ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info_failure ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info_lshw_list ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info_lshw_list ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_usb_devices ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_usb_devices ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_ipmi_device_exists ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_ipmi_device_exists ... ok 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: WARNING [root] Device /dev/sda is inaccessible, skipping... Error: WARNING [root] Device /dev/sdb is not supported by pyudev, skipping... Error: No block device with number 1234 WARNING [root] Device /dev/sdc is inaccessible, skipping... Error: WARNING [root] We have identified a multipath device sdd, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] Device /dev/dm-0 is inaccessible, skipping... Error: ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device ... ok WARNING [root] We have identified a multipath device sdd, this is being ignored in favor of dm-0 and its related child devices. ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_all_serial ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_all_serial ... ok WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sdb. Skipping ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_hctl_fail ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_hctl_fail ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_only_udev ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_only_udev ... ok WARNING [root] We have identified a multipath device sdd, this is being ignored in favor of dm-0 and its related child devices. ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_udev ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_udev ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_no_skip_list ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_no_skip_list ... ok WARNING [root] Using hint {'name': '/dev/sdj'} skipping devices: /dev/sdj WARNING [root] Using hint {'name': '/dev/hdaa'} skipping devices: /dev/hdaa ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_complete_skip_list ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_complete_skip_list ... ok WARNING [root] Using hint {'name': '/dev/sdj'} skipping devices: /dev/sdj ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_skip_list ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_skip_list ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_skip_list_non_exist ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_skip_list_non_exist ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_including_partitions ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_including_partitions ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_hardware_info ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_hardware_info ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_normal_vs_enhanced_security_erase ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_normal_vs_enhanced_security_erase ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_service_steps_exist ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_service_steps_exist ... ok WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' WARNING [root] 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_validate_configuration_invalid_MAX_MAX ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_MAX_MAX ... ok WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' WARNING [root] 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_validate_configuration_invalid_duplicate_volume_name ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_duplicate_volume_name ... 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 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_validate_configuration_invalid_no_of_raids ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_no_of_raids ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_raid_level ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_raid_level ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_no_configuration ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_no_configuration ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_valid_raid1 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_valid_raid1 ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_valid_raid1_raidN ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_valid_raid1_raidN ... ok ironic-python-agent: Copying configuration from /tmp/tmppx3272ir/etc/ironic-python-agent to /etc/ironic-python-agent ironic-python-agent: Copying configuration from /tmp/tmppx3272ir/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/tmp_idreq1t/etc/ironic-python-agent to /etc/ironic-python-agent ironic-python-agent: Copying configuration from /tmp/tmp_idreq1t/etc/ironic-python-agent.d to /etc/ironic-python-agent.d 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_utils.TestCopyConfigFromVmedia.test_copy_mounted ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy_mounted ... 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: /some/path/etc/ironic-python-agent not found ironic-python-agent: /some/path/etc/ironic-python-agent.d not found ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_mounted_no_files ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_mounted_no_files ... ok ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_send_failure ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_send_failure ... ok ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_use_api_url ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_use_api_url ... ok ironic-python-agent: /tmp/tmp91aay557/etc/ironic-python-agent not found ironic-python-agent: /tmp/tmp91aay557/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 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: 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.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: Cannot use configuration from virtual media as the agent was not booted from virtual media. ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_none ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_none ... ok ironic_python_agent.tests.unit.test_utils.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.TestClockSyncUtils.test_determine_time_method_ntpdate ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_ntpdate ... ok ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_chrony ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_chrony ... ok ERROR [ironic_python_agent.utils] Failed to sync time using chrony to ntp server: 192.168.1.1: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: 'time verboten' ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_chrony_failure ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_chrony_failure ... ok ERROR [ironic_python_agent.utils] Unable to sync clock, available methods of 'ntpdate' or 'chrony' not found. ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_none ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_none ... ok ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp ... ok ERROR [ironic_python_agent.utils] Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp_raises_exception ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp_raises_exception ... ok ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp_server_is_none ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp_server_is_none ... ok ---------------------------------------------------------------------- Ran 1113 tests in 19.034s OK (skipped=2) + stestr slowest Test id Runtime (s) --------------------------------------------------------------------------------------------------------------------------------- ----------- ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries 4.028 ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_1st 3.052 ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_socket_read_timeout 3.035 ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retry_on_50X_and_succeed 2.271 ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_timeout 2.064 ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries_on_50X_error 2.026 ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_several_urls 1.185 ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run 1.150 ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run_no_tls 1.077 ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_retries 1.014 + rm -rf .stestr mkdir -p /build/reproducible-path/ironic-python-agent-10.2.0/debian/ironic-python-agent/etc/ironic-python-agent PYTHONPATH=/build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages oslo-config-generator \ --output-file /build/reproducible-path/ironic-python-agent-10.2.0/debian/ironic-python-agent/etc/ironic-python-agent/ironic-python-agent.conf \ --wrap-width 140 \ --namespace ironic-python-agent dh_install pkgos-fix-config-default DEFAULT collect_lldp true pkgos_inifile: Setting value in DEFAULT:[collect_lldp]/true Config file DEFAULT not readable: exiting make[1]: Leaving directory '/build/reproducible-path/ironic-python-agent-10.2.0' dh_installdocs -O--buildsystem=pybuild debian/rules override_dh_installchangelogs make[1]: Entering directory '/build/reproducible-path/ironic-python-agent-10.2.0' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions if [ -e /build/reproducible-path/ironic-python-agent-10.2.0/debian/CHANGELOG ] ; then \ dh_installchangelogs /build/reproducible-path/ironic-python-agent-10.2.0/debian/CHANGELOG ; \ else \ dh_installchangelogs ; \ fi make[1]: Leaving directory '/build/reproducible-path/ironic-python-agent-10.2.0' debian/rules override_dh_python3 make[1]: Entering directory '/build/reproducible-path/ironic-python-agent-10.2.0' 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:114: replacing shebang in debian/ironic-python-agent/usr/bin/ironic-python-agent I: dh_python3 tools:114: replacing shebang in debian/ironic-python-agent/usr/bin/ironic-collect-introspection-data make[1]: Leaving directory '/build/reproducible-path/ironic-python-agent-10.2.0' debian/rules override_dh_installinit make[1]: Entering directory '/build/reproducible-path/ironic-python-agent-10.2.0' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions # Create the init scripts and systemd unit files from the template set -e ; set -x ; for i in `ls -1 debian/*.init.in` ; do \ MYINIT=`echo $i | sed s/.init.in//` ; \ cp $i $MYINIT.init ; \ 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 + 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 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: 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 \ MYINIT=`echo $i | sed s/.init.in/.service.in/` ; \ if ! [ -e $MYINIT ] ; then \ pkgos-gen-systemd-unit $i ; \ fi \ done ++ 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 ']' + pkgos-gen-systemd-unit debian/ironic-python-agent.init.in debian/ironic-python-agent.init.in: line 22: modprobe: command not found dh_installinit --error-handler=true make[1]: Leaving directory '/build/reproducible-path/ironic-python-agent-10.2.0' debian/rules override_dh_installsystemd make[1]: Entering directory '/build/reproducible-path/ironic-python-agent-10.2.0' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions # Create the init scripts and systemd unit files from the template set -e ; set -x ; for i in `ls -1 debian/*.init.in` ; do \ MYINIT=`echo $i | sed s/.init.in//` ; \ cp $i $MYINIT.init ; \ 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 + for i in `ls -1 debian/*.init.in` ++ sed s/.init.in// ++ echo debian/ironic-python-agent.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 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: 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 \ MYINIT=`echo $i | sed s/.init.in/.service.in/` ; \ if ! [ -e $MYINIT ] ; then \ pkgos-gen-systemd-unit $i ; \ fi \ done ++ 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 ']' + pkgos-gen-systemd-unit debian/ironic-python-agent.init.in debian/ironic-python-agent.init.in: line 22: modprobe: command not found dh_installsystemd make[1]: Leaving directory '/build/reproducible-path/ironic-python-agent-10.2.0' dh_installlogrotate -O--buildsystem=pybuild dh_perl -O--buildsystem=pybuild dh_link -O--buildsystem=pybuild dh_strip_nondeterminism -O--buildsystem=pybuild dh_compress -O--buildsystem=pybuild dh_fixperms -O--buildsystem=pybuild dh_missing -O--buildsystem=pybuild dh_installdeb -O--buildsystem=pybuild debian/rules override_dh_gencontrol make[1]: Entering directory '/build/reproducible-path/ironic-python-agent-10.2.0' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions if dpkg-vendor --derives-from ubuntu ; then \ dh_gencontrol -- -T/build/reproducible-path/ironic-python-agent-10.2.0/debian/ubuntu_control_vars ; \ else \ dh_gencontrol -- -T/build/reproducible-path/ironic-python-agent-10.2.0/debian/debian_control_vars ; \ fi dpkg-gencontrol: warning: Depends field of package ironic-python-agent: substitution variable ${ostack-lsb-base} used, but is not defined make[1]: Leaving directory '/build/reproducible-path/ironic-python-agent-10.2.0' dh_md5sums -O--buildsystem=pybuild dh_builddeb -O--buildsystem=pybuild dpkg-deb: building package 'ironic-python-agent' in '../ironic-python-agent_10.2.0-3_all.deb'. dpkg-genbuildinfo --build=binary -O../ironic-python-agent_10.2.0-3_amd64.buildinfo dpkg-genchanges --build=binary -O../ironic-python-agent_10.2.0-3_amd64.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration I: user script /srv/workspace/pbuilder/546885/tmp/hooks/B01_cleanup starting I: user script /srv/workspace/pbuilder/546885/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/546885 and its subdirectories I: Current time: Thu Sep 10 14:46:01 +14 2026 I: pbuilder-time-stamp: 1789001161 + false + set +x Thu Sep 10 00:46:01 UTC 2026 I: Signing ./b2/ironic-python-agent_10.2.0-3_amd64.buildinfo as ironic-python-agent_10.2.0-3_amd64.buildinfo.asc Thu Sep 10 00:46:01 UTC 2026 I: Signed ./b2/ironic-python-agent_10.2.0-3_amd64.buildinfo as ./b2/ironic-python-agent_10.2.0-3_amd64.buildinfo.asc Thu Sep 10 00:46:01 UTC 2026 - build #2 for ironic-python-agent/trixie/amd64 on ionos15-amd64 done. Starting cleanup. All cleanup done. Thu Sep 10 00:46:01 UTC 2026 - reproducible_build.sh stopped running as /tmp/jenkins-script-UmHmonGv, removing. /srv/reproducible-results/rbuild-debian/r-b-build.EnM5AewD: total 608 drwxr-xr-x 2 jenkins jenkins 4096 Aug 7 18:18 b1 drwxr-xr-x 2 jenkins jenkins 4096 Aug 7 18:23 b2 -rw-r--r-- 1 jenkins jenkins 2679 Apr 1 14:04 ironic-python-agent_10.2.0-3.dsc -rw------- 1 jenkins jenkins 604687 Aug 7 18:18 rbuildlog.myxKf9V /srv/reproducible-results/rbuild-debian/r-b-build.EnM5AewD/b1: total 872 -rw-r--r-- 1 jenkins jenkins 600535 Aug 7 18:18 build.log -rw-r--r-- 1 jenkins jenkins 6488 Aug 7 18:18 ironic-python-agent_10.2.0-3.debian.tar.xz -rw-r--r-- 1 jenkins jenkins 2679 Aug 7 18:18 ironic-python-agent_10.2.0-3.dsc -rw-r--r-- 1 jenkins jenkins 232604 Aug 7 18:18 ironic-python-agent_10.2.0-3_all.deb -rw-r--r-- 1 jenkins jenkins 11596 Aug 7 18:18 ironic-python-agent_10.2.0-3_amd64.buildinfo -rw-r--r-- 1 jenkins jenkins 12478 Aug 7 18:18 ironic-python-agent_10.2.0-3_amd64.buildinfo.asc -rw-r--r-- 1 jenkins jenkins 1184 Aug 7 18:18 ironic-python-agent_10.2.0-3_amd64.changes -rw-r--r-- 1 jenkins jenkins 1349 Aug 7 18:18 ironic-python-agent_10.2.0-3_source.changes /srv/reproducible-results/rbuild-debian/r-b-build.EnM5AewD/b2: total 868 -rw-r--r-- 1 jenkins jenkins 602922 Aug 7 18:23 build.log -rw-r--r-- 1 jenkins jenkins 6488 Aug 7 18:23 ironic-python-agent_10.2.0-3.debian.tar.xz -rw-r--r-- 1 jenkins jenkins 2679 Aug 7 18:23 ironic-python-agent_10.2.0-3.dsc -rw-r--r-- 1 jenkins jenkins 232604 Aug 7 18:23 ironic-python-agent_10.2.0-3_all.deb -rw-r--r-- 1 jenkins jenkins 11609 Aug 7 18:23 ironic-python-agent_10.2.0-3_amd64.buildinfo -rw-r--r-- 1 jenkins jenkins 12491 Aug 7 18:23 ironic-python-agent_10.2.0-3_amd64.buildinfo.asc -rw-r--r-- 1 jenkins jenkins 1184 Aug 7 18:23 ironic-python-agent_10.2.0-3_amd64.changes -rw-r--r-- 1 jenkins jenkins 1349 Aug 7 18:23 ironic-python-agent_10.2.0-3_source.changes Thu Aug 7 18:23:02 UTC 2025 I: Deleting $TMPDIR on ionos15-amd64.debian.net. Thu Aug 7 18:23:02 UTC 2025 I: ironic-python-agent_10.2.0-3_amd64.changes: Format: 1.8 Date: Tue, 01 Apr 2025 15:48:41 +0200 Source: ironic-python-agent Binary: ironic-python-agent Architecture: all Version: 10.2.0-3 Distribution: unstable Urgency: medium Maintainer: Debian OpenStack Changed-By: Thomas Goirand Description: ironic-python-agent - bare metal hypervisor API for OpenStack - Python Agent Changes: ironic-python-agent (10.2.0-3) unstable; urgency=medium . * Blacklist TestStandbyExtension.test_execute_bootc_install that is failing under riscv. Checksums-Sha1: 535eb204a05a17883aac41294faac941ea29eaa0 232604 ironic-python-agent_10.2.0-3_all.deb 90a3d88d7518fb484e7fb593ed808e524a7ad0a1 11596 ironic-python-agent_10.2.0-3_amd64.buildinfo Checksums-Sha256: a23b86e0b381e16e0961306d63a5dd3a6b94220616315aa916751d49781fa6f7 232604 ironic-python-agent_10.2.0-3_all.deb f69355a28fff1ca799f0c65bf0c824a51540c667d32a15115997f4ead94c626d 11596 ironic-python-agent_10.2.0-3_amd64.buildinfo Files: 703dbee500001bda82408ff1deceb4f9 232604 net optional ironic-python-agent_10.2.0-3_all.deb 408b9d8ddab5dc6ee5a81751d467fa78 11596 net optional ironic-python-agent_10.2.0-3_amd64.buildinfo removed '/var/lib/jenkins/userContent/reproducible/debian/rbuild/trixie/amd64/ironic-python-agent_10.2.0-3.rbuild.log' removed '/var/lib/jenkins/userContent/reproducible/debian/rbuild/trixie/amd64/ironic-python-agent_10.2.0-3.rbuild.log.gz' removed '/var/lib/jenkins/userContent/reproducible/debian/logs/trixie/amd64/ironic-python-agent_10.2.0-3.build1.log.gz' removed '/var/lib/jenkins/userContent/reproducible/debian/logs/trixie/amd64/ironic-python-agent_10.2.0-3.build2.log.gz' removed '/var/lib/jenkins/userContent/reproducible/debian/buildinfo/trixie/amd64/ironic-python-agent_10.2.0-3_amd64.buildinfo' removed '/var/lib/jenkins/userContent/reproducible/debian/logdiffs/trixie/amd64/ironic-python-agent_10.2.0-3.diff.gz' Diff of the two buildlogs: -- --- b1/build.log 2025-08-07 18:18:47.219156719 +0000 +++ b2/build.log 2025-08-07 18:23:02.323491423 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Thu Aug 7 06:16:22 -12 2025 -I: pbuilder-time-stamp: 1754590582 +I: Current time: Thu Sep 10 14:41:49 +14 2026 +I: pbuilder-time-stamp: 1789000909 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration @@ -25,52 +25,84 @@ dpkg-source: info: applying fix-syntax-warning.patch I: using fakeroot in build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/3729440/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/546885/tmp/hooks/D01_modify_environment starting +debug: Running on ionos15-amd64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Sep 10 00:42 /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/546885/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/546885/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='amd64' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=40 ' - DISTRIBUTION='trixie' - HOME='/root' - HOST_ARCH='amd64' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") + BASH_VERSION='5.2.37(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=amd64 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=42 ' + DIRSTACK=() + DISTRIBUTION=trixie + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=x86_64 + HOST_ARCH=amd64 IFS=' ' - INVOCATION_ID='88b5818034ba4517aac187d462112165' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='3729440' - PS1='# ' - PS2='> ' + INVOCATION_ID=4391c03c15c04d31aeda41082212fd7a + LANG=C + LANGUAGE=et_EE:et + LC_ALL=C + MACHTYPE=x86_64-pc-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=546885 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.EnM5AewD/pbuilderrc_69DE --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.EnM5AewD/b1 --logfile b1/build.log ironic-python-agent_10.2.0-3.dsc' - SUDO_GID='110' - SUDO_UID='105' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://46.16.76.132: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.EnM5AewD/pbuilderrc_XbGe --distribution trixie --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.EnM5AewD/b2 --logfile b2/build.log ironic-python-agent_10.2.0-3.dsc' + SUDO_GID=111 + SUDO_UID=106 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://213.165.73.152:3128 I: uname -a - Linux ionos1-amd64 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1 (2025-05-22) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.12.33+deb12-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.33-1~bpo12+1 (2025-07-09) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 May 12 19:25 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/3729440/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 May 12 2025 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/546885/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -418,7 +450,7 @@ Get: 250 http://deb.debian.org/debian trixie/main amd64 python3-werkzeug all 3.1.3-2 [207 kB] Get: 251 http://deb.debian.org/debian trixie/main amd64 python3-zeroconf all 0.147.0-1 [82.2 kB] Get: 252 http://deb.debian.org/debian trixie/main amd64 qemu-utils amd64 1:10.0.2+ds-2+b1 [1992 kB] -Fetched 73.4 MB in 5s (14.6 MB/s) +Fetched 73.4 MB in 2s (33.6 MB/s) Preconfiguring packages ... Selecting previously unselected package freeipmi-common. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19851 files and directories currently installed.) @@ -1224,8 +1256,8 @@ Setting up tzdata (2025b-4) ... Current default time zone: 'Etc/UTC' -Local time is now: Thu Aug 7 18:17:35 UTC 2025. -Universal Time is now: Thu Aug 7 18:17:35 UTC 2025. +Local time is now: Thu Sep 10 00:43:02 UTC 2026. +Universal Time is now: Thu Sep 10 00:43:02 UTC 2026. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up libconfig11:amd64 (1.7.3-2) ... @@ -1477,7 +1509,11 @@ fakeroot is already the newest version (1.37.1.1-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package -I: Running cd /build/reproducible-path/ironic-python-agent-10.2.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../ironic-python-agent_10.2.0-3_source.changes +I: user script /srv/workspace/pbuilder/546885/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for trixie +I: user script /srv/workspace/pbuilder/546885/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/ironic-python-agent-10.2.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../ironic-python-agent_10.2.0-3_source.changes dpkg-buildpackage: info: source package ironic-python-agent dpkg-buildpackage: info: source version 10.2.0-3 dpkg-buildpackage: info: source distribution unstable @@ -1603,21 +1639,26 @@ touch ironic_python_agent/metrics_lib/__init__.py pkgos-dh_auto_install --no-py2 --in-tmp + PKGOS_IN_TMP=no -+ echo WARNING: --no-py2 is deprecated and always on. ++ for i in $@ ++ case "${1}" in ++ echo 'WARNING: --no-py2 is deprecated and always on.' WARNING: --no-py2 is deprecated and always on. + shift ++ for i in $@ ++ case "${1}" in + PKGOS_IN_TMP=yes + shift -+ dpkg-parsechangelog -SSource +++ dpkg-parsechangelog -SSource + SRC_PKG_NAME=ironic-python-agent -+ echo ironic-python-agent -+ sed s/python-// +++ echo ironic-python-agent +++ sed s/python-// + PY_MODULE_NAME=ironic-agent -+ py3versions -vr +++ py3versions -vr + PYTHON3S=3.13 -+ [ yes = yes ] ++ '[' yes = yes ']' + TARGET_DIR=tmp -+ pwd ++ for pyvers in ${PYTHON3S} +++ pwd + python3.13 setup.py install --install-layout=deb --root /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp /usr/lib/python3/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! @@ -1688,113 +1729,114 @@ [pbr] AUTHORS complete (0.0s) running build running build_py -creating build/lib/ironic_python_agent/tests -copying ironic_python_agent/tests/__init__.py -> build/lib/ironic_python_agent/tests +creating build/lib/ironic_python_agent/metrics_lib +copying ironic_python_agent/metrics_lib/metrics_collector.py -> build/lib/ironic_python_agent/metrics_lib +copying ironic_python_agent/metrics_lib/metrics_utils.py -> build/lib/ironic_python_agent/metrics_lib +copying ironic_python_agent/metrics_lib/__init__.py -> build/lib/ironic_python_agent/metrics_lib +copying ironic_python_agent/metrics_lib/metrics.py -> build/lib/ironic_python_agent/metrics_lib +copying ironic_python_agent/metrics_lib/metrics_statsd.py -> build/lib/ironic_python_agent/metrics_lib creating build/lib/ironic_python_agent/extensions -copying ironic_python_agent/extensions/rescue.py -> build/lib/ironic_python_agent/extensions -copying ironic_python_agent/extensions/poll.py -> build/lib/ironic_python_agent/extensions -copying ironic_python_agent/extensions/image.py -> build/lib/ironic_python_agent/extensions -copying ironic_python_agent/extensions/standby.py -> build/lib/ironic_python_agent/extensions -copying ironic_python_agent/extensions/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/deploy.py -> build/lib/ironic_python_agent/extensions -copying ironic_python_agent/extensions/service.py -> build/lib/ironic_python_agent/extensions -copying ironic_python_agent/extensions/__init__.py -> build/lib/ironic_python_agent/extensions -copying ironic_python_agent/extensions/flow.py -> build/lib/ironic_python_agent/extensions copying ironic_python_agent/extensions/system.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/clean.py -> build/lib/ironic_python_agent/extensions -creating build/lib/ironic_python_agent/metrics_lib -copying ironic_python_agent/metrics_lib/metrics.py -> build/lib/ironic_python_agent/metrics_lib -copying ironic_python_agent/metrics_lib/metrics_statsd.py -> build/lib/ironic_python_agent/metrics_lib -copying ironic_python_agent/metrics_lib/metrics_collector.py -> build/lib/ironic_python_agent/metrics_lib -copying ironic_python_agent/metrics_lib/__init__.py -> build/lib/ironic_python_agent/metrics_lib -copying ironic_python_agent/metrics_lib/metrics_utils.py -> build/lib/ironic_python_agent/metrics_lib -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/__init__.py -> build/lib/ironic_python_agent/hardware_managers -copying ironic_python_agent/hardware_managers/mlnx.py -> build/lib/ironic_python_agent/hardware_managers -creating build/lib/ironic_python_agent/tests/unit/hardware_managers/nvidia -copying ironic_python_agent/tests/unit/hardware_managers/nvidia/test_nvidia_fw_update.py -> build/lib/ironic_python_agent/tests/unit/hardware_managers/nvidia -copying ironic_python_agent/tests/unit/hardware_managers/nvidia/__init__.py -> build/lib/ironic_python_agent/tests/unit/hardware_managers/nvidia -creating build/lib/ironic_python_agent/tests/functional -copying ironic_python_agent/tests/functional/base.py -> build/lib/ironic_python_agent/tests/functional -copying ironic_python_agent/tests/functional/__init__.py -> build/lib/ironic_python_agent/tests/functional -copying ironic_python_agent/tests/functional/test_commands.py -> build/lib/ironic_python_agent/tests/functional +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/flow.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/poll.py -> build/lib/ironic_python_agent/extensions +copying ironic_python_agent/extensions/log.py -> build/lib/ironic_python_agent/extensions +creating build/lib/ironic_python_agent/tests +copying ironic_python_agent/tests/__init__.py -> build/lib/ironic_python_agent/tests creating build/lib/ironic_python_agent/tests/unit/extensions -copying ironic_python_agent/tests/unit/extensions/test_base.py -> build/lib/ironic_python_agent/tests/unit/extensions -copying ironic_python_agent/tests/unit/extensions/test_flow.py -> build/lib/ironic_python_agent/tests/unit/extensions -copying ironic_python_agent/tests/unit/extensions/test_deploy.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_standby.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_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_service.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_flow.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_log.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_standby.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/api -copying ironic_python_agent/api/app.py -> build/lib/ironic_python_agent/api -copying ironic_python_agent/api/__init__.py -> build/lib/ironic_python_agent/api -copying ironic_python_agent/disk_partitioner.py -> build/lib/ironic_python_agent -copying ironic_python_agent/raid_utils.py -> build/lib/ironic_python_agent -copying ironic_python_agent/inspect.py -> build/lib/ironic_python_agent -copying ironic_python_agent/netutils.py -> build/lib/ironic_python_agent -copying ironic_python_agent/partition_utils.py -> build/lib/ironic_python_agent -copying ironic_python_agent/errors.py -> build/lib/ironic_python_agent -copying ironic_python_agent/ironic_api_client.py -> build/lib/ironic_python_agent -copying ironic_python_agent/encoding.py -> build/lib/ironic_python_agent -copying ironic_python_agent/efi_utils.py -> build/lib/ironic_python_agent -copying ironic_python_agent/tls_utils.py -> build/lib/ironic_python_agent -copying ironic_python_agent/version.py -> build/lib/ironic_python_agent -copying ironic_python_agent/disk_utils.py -> build/lib/ironic_python_agent -copying ironic_python_agent/mdns.py -> build/lib/ironic_python_agent -copying ironic_python_agent/__init__.py -> build/lib/ironic_python_agent -copying ironic_python_agent/inject_files.py -> build/lib/ironic_python_agent -copying ironic_python_agent/hardware.py -> build/lib/ironic_python_agent -copying ironic_python_agent/config.py -> build/lib/ironic_python_agent -copying ironic_python_agent/burnin.py -> build/lib/ironic_python_agent -copying ironic_python_agent/device_hints.py -> build/lib/ironic_python_agent -copying ironic_python_agent/dmi_inspector.py -> build/lib/ironic_python_agent -copying ironic_python_agent/utils.py -> build/lib/ironic_python_agent -copying ironic_python_agent/inspector.py -> build/lib/ironic_python_agent -copying ironic_python_agent/agent.py -> build/lib/ironic_python_agent -copying ironic_python_agent/numa_inspector.py -> build/lib/ironic_python_agent -copying ironic_python_agent/qemu_img.py -> build/lib/ironic_python_agent -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_base.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/extensions/test_deploy.py -> build/lib/ironic_python_agent/tests/unit/extensions +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/inspect.py -> build/lib/ironic_python_agent/cmd +copying ironic_python_agent/cmd/__init__.py -> build/lib/ironic_python_agent/cmd copying ironic_python_agent/tests/unit/base.py -> build/lib/ironic_python_agent/tests/unit +copying ironic_python_agent/tests/unit/test_mdns.py -> build/lib/ironic_python_agent/tests/unit +copying ironic_python_agent/tests/unit/test_disk_partitioner.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_ironic_api_client.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/dmi_inspector_data.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_multi_hardware_clean_steps.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_numa_inspector.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/dmi_inspector_data.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_encoding.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_netutils.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_api.py -> build/lib/ironic_python_agent/tests/unit -copying ironic_python_agent/tests/unit/test_mdns.py -> build/lib/ironic_python_agent/tests/unit -copying ironic_python_agent/tests/unit/test_partition_utils.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_utils.py -> build/lib/ironic_python_agent/tests/unit -copying ironic_python_agent/tests/unit/test_burnin.py -> build/lib/ironic_python_agent/tests/unit copying ironic_python_agent/tests/unit/test_device_hints.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_tls_utils.py -> build/lib/ironic_python_agent/tests/unit +copying ironic_python_agent/tests/unit/test_raid_utils.py -> build/lib/ironic_python_agent/tests/unit +copying ironic_python_agent/tests/unit/test_efi_utils.py -> build/lib/ironic_python_agent/tests/unit +copying ironic_python_agent/tests/unit/test_partition_utils.py -> build/lib/ironic_python_agent/tests/unit +copying ironic_python_agent/tests/unit/test_disk_utils.py -> build/lib/ironic_python_agent/tests/unit copying ironic_python_agent/tests/unit/test_qemu_img.py -> build/lib/ironic_python_agent/tests/unit -copying ironic_python_agent/tests/unit/test_errors.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_numa_inspector.py -> build/lib/ironic_python_agent/tests/unit +copying ironic_python_agent/tests/unit/test_inject_files.py -> build/lib/ironic_python_agent/tests/unit +copying ironic_python_agent/tests/unit/test_api.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_hardware.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_agent.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_burnin.py -> build/lib/ironic_python_agent/tests/unit +copying ironic_python_agent/qemu_img.py -> build/lib/ironic_python_agent +copying ironic_python_agent/dmi_inspector.py -> build/lib/ironic_python_agent +copying ironic_python_agent/tls_utils.py -> build/lib/ironic_python_agent +copying ironic_python_agent/config.py -> build/lib/ironic_python_agent +copying ironic_python_agent/raid_utils.py -> build/lib/ironic_python_agent +copying ironic_python_agent/version.py -> build/lib/ironic_python_agent +copying ironic_python_agent/numa_inspector.py -> build/lib/ironic_python_agent +copying ironic_python_agent/burnin.py -> build/lib/ironic_python_agent +copying ironic_python_agent/ironic_api_client.py -> build/lib/ironic_python_agent +copying ironic_python_agent/agent.py -> build/lib/ironic_python_agent +copying ironic_python_agent/inspect.py -> build/lib/ironic_python_agent +copying ironic_python_agent/utils.py -> build/lib/ironic_python_agent +copying ironic_python_agent/device_hints.py -> build/lib/ironic_python_agent +copying ironic_python_agent/partition_utils.py -> build/lib/ironic_python_agent +copying ironic_python_agent/disk_partitioner.py -> build/lib/ironic_python_agent +copying ironic_python_agent/disk_utils.py -> build/lib/ironic_python_agent +copying ironic_python_agent/inspector.py -> build/lib/ironic_python_agent +copying ironic_python_agent/errors.py -> build/lib/ironic_python_agent +copying ironic_python_agent/hardware.py -> build/lib/ironic_python_agent +copying ironic_python_agent/mdns.py -> build/lib/ironic_python_agent +copying ironic_python_agent/__init__.py -> build/lib/ironic_python_agent +copying ironic_python_agent/encoding.py -> build/lib/ironic_python_agent +copying ironic_python_agent/efi_utils.py -> build/lib/ironic_python_agent +copying ironic_python_agent/netutils.py -> build/lib/ironic_python_agent +copying ironic_python_agent/inject_files.py -> build/lib/ironic_python_agent +creating build/lib/ironic_python_agent/tests/unit/hardware_managers copying ironic_python_agent/tests/unit/hardware_managers/test_cna.py -> build/lib/ironic_python_agent/tests/unit/hardware_managers -copying ironic_python_agent/tests/unit/hardware_managers/__init__.py -> build/lib/ironic_python_agent/tests/unit/hardware_managers copying ironic_python_agent/tests/unit/hardware_managers/test_mlnx.py -> build/lib/ironic_python_agent/tests/unit/hardware_managers -creating build/lib/ironic_python_agent/cmd -copying ironic_python_agent/cmd/inspect.py -> build/lib/ironic_python_agent/cmd -copying ironic_python_agent/cmd/__init__.py -> build/lib/ironic_python_agent/cmd -copying ironic_python_agent/cmd/agent.py -> build/lib/ironic_python_agent/cmd +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/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/base.py -> build/lib/ironic_python_agent/tests/functional +copying ironic_python_agent/tests/functional/test_commands.py -> build/lib/ironic_python_agent/tests/functional +copying ironic_python_agent/tests/functional/__init__.py -> build/lib/ironic_python_agent/tests/functional +creating build/lib/ironic_python_agent/hardware_managers +copying ironic_python_agent/hardware_managers/__init__.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/mlnx.py -> build/lib/ironic_python_agent/hardware_managers +creating build/lib/ironic_python_agent/api +copying ironic_python_agent/api/app.py -> build/lib/ironic_python_agent/api +copying ironic_python_agent/api/__init__.py -> build/lib/ironic_python_agent/api running egg_info creating ironic_python_agent.egg-info writing ironic_python_agent.egg-info/PKG-INFO @@ -1814,223 +1856,223 @@ running install_lib creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/disk_partitioner.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/raid_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api -copying build/lib/ironic_python_agent/api/app.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api -copying build/lib/ironic_python_agent/api/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api -copying build/lib/ironic_python_agent/inspect.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/netutils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/partition_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/errors.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/ironic_api_client.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/encoding.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd -copying build/lib/ironic_python_agent/cmd/inspect.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd -copying build/lib/ironic_python_agent/cmd/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd -copying build/lib/ironic_python_agent/cmd/agent.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd -copying build/lib/ironic_python_agent/efi_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/qemu_img.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/dmi_inspector.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/tls_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/config.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/raid_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent copying build/lib/ironic_python_agent/version.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/disk_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/mdns.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/inject_files.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/numa_inspector.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/burnin.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/ironic_api_client.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/agent.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_efi_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_netutils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_base.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_inject_files.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/base.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_dmi_inspector.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_multi_hardware_clean_steps.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_disk_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_numa_inspector.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_inspector.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/dmi_inspector_data.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_disk_partitioner.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_encoding.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_multi_hardware.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_api.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_mdns.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_partition_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_agent.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_burnin.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_device_hints.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_disk_partitioner.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_errors.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit copying build/lib/ironic_python_agent/tests/unit/test_ironic_api_client.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_tls_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_qemu_img.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_base.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/dmi_inspector_data.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_dmi_inspector.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions -copying build/lib/ironic_python_agent/tests/unit/extensions/test_base.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions -copying build/lib/ironic_python_agent/tests/unit/extensions/test_flow.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions -copying build/lib/ironic_python_agent/tests/unit/extensions/test_deploy.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_rescue.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions +copying build/lib/ironic_python_agent/tests/unit/extensions/test_standby.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions +copying build/lib/ironic_python_agent/tests/unit/extensions/test_base.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions +copying build/lib/ironic_python_agent/tests/unit/extensions/test_log.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_poll.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions +copying build/lib/ironic_python_agent/tests/unit/extensions/test_service.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions +copying build/lib/ironic_python_agent/tests/unit/extensions/test_flow.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_clean.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions -copying build/lib/ironic_python_agent/tests/unit/extensions/test_log.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions -copying build/lib/ironic_python_agent/tests/unit/extensions/test_service.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions -copying build/lib/ironic_python_agent/tests/unit/extensions/test_standby.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions copying build/lib/ironic_python_agent/tests/unit/extensions/test_image.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions -copying build/lib/ironic_python_agent/tests/unit/test_errors.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_hardware.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit -copying build/lib/ironic_python_agent/tests/unit/test_raid_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/extensions/test_deploy.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers +copying build/lib/ironic_python_agent/tests/unit/hardware_managers/test_cna.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers +copying build/lib/ironic_python_agent/tests/unit/hardware_managers/test_mlnx.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/nvidia copying build/lib/ironic_python_agent/tests/unit/hardware_managers/nvidia/test_nvidia_fw_update.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/nvidia copying build/lib/ironic_python_agent/tests/unit/hardware_managers/nvidia/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/nvidia -copying build/lib/ironic_python_agent/tests/unit/hardware_managers/test_cna.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers copying build/lib/ironic_python_agent/tests/unit/hardware_managers/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers -copying build/lib/ironic_python_agent/tests/unit/hardware_managers/test_mlnx.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers -copying build/lib/ironic_python_agent/tests/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests +copying build/lib/ironic_python_agent/tests/unit/test_multi_hardware_clean_steps.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_inspector.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_encoding.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_netutils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_device_hints.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_raid_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_efi_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_partition_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_disk_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_qemu_img.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_numa_inspector.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_inject_files.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_api.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_multi_hardware.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_hardware.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_agent.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_tls_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit +copying build/lib/ironic_python_agent/tests/unit/test_burnin.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional copying build/lib/ironic_python_agent/tests/functional/base.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional -copying build/lib/ironic_python_agent/tests/functional/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional copying build/lib/ironic_python_agent/tests/functional/test_commands.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional -copying build/lib/ironic_python_agent/hardware.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/config.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/burnin.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/device_hints.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib -copying build/lib/ironic_python_agent/metrics_lib/metrics.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib -copying build/lib/ironic_python_agent/metrics_lib/metrics_statsd.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib -copying build/lib/ironic_python_agent/metrics_lib/metrics_collector.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib -copying build/lib/ironic_python_agent/metrics_lib/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib -copying build/lib/ironic_python_agent/metrics_lib/metrics_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib -copying build/lib/ironic_python_agent/dmi_inspector.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/tests/functional/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional +copying build/lib/ironic_python_agent/tests/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests +copying build/lib/ironic_python_agent/inspect.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions -copying build/lib/ironic_python_agent/extensions/rescue.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions -copying build/lib/ironic_python_agent/extensions/poll.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions -copying build/lib/ironic_python_agent/extensions/image.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions -copying build/lib/ironic_python_agent/extensions/standby.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions -copying build/lib/ironic_python_agent/extensions/log.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/base.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/deploy.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions -copying build/lib/ironic_python_agent/extensions/service.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions -copying build/lib/ironic_python_agent/extensions/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions -copying build/lib/ironic_python_agent/extensions/flow.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/system.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions +copying build/lib/ironic_python_agent/extensions/image.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions copying build/lib/ironic_python_agent/extensions/clean.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions -copying build/lib/ironic_python_agent/inspector.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/agent.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -copying build/lib/ironic_python_agent/numa_inspector.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/extensions/rescue.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions +copying build/lib/ironic_python_agent/extensions/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions +copying build/lib/ironic_python_agent/extensions/flow.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions +copying build/lib/ironic_python_agent/extensions/standby.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions +copying build/lib/ironic_python_agent/extensions/service.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions +copying build/lib/ironic_python_agent/extensions/poll.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions +copying build/lib/ironic_python_agent/extensions/log.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions +copying build/lib/ironic_python_agent/utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/device_hints.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/partition_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/disk_partitioner.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/disk_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers -copying build/lib/ironic_python_agent/hardware_managers/cna.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers copying build/lib/ironic_python_agent/hardware_managers/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers +copying build/lib/ironic_python_agent/hardware_managers/cna.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers copying build/lib/ironic_python_agent/hardware_managers/mlnx.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers -copying build/lib/ironic_python_agent/qemu_img.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/disk_partitioner.py to disk_partitioner.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/raid_utils.py to raid_utils.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api/app.py to app.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/inspect.py to inspect.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/netutils.py to netutils.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/partition_utils.py to partition_utils.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/errors.py to errors.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/ironic_api_client.py to ironic_api_client.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/encoding.py to encoding.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd/inspect.py to inspect.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd/agent.py to agent.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/efi_utils.py to efi_utils.cpython-313.pyc +copying build/lib/ironic_python_agent/inspector.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/errors.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/hardware.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api +copying build/lib/ironic_python_agent/api/app.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api +copying build/lib/ironic_python_agent/api/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api +creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd +copying build/lib/ironic_python_agent/cmd/agent.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd +copying build/lib/ironic_python_agent/cmd/inspect.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd +copying build/lib/ironic_python_agent/cmd/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd +copying build/lib/ironic_python_agent/mdns.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/encoding.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/efi_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +creating /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib +copying build/lib/ironic_python_agent/metrics_lib/metrics_collector.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib +copying build/lib/ironic_python_agent/metrics_lib/metrics_utils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib +copying build/lib/ironic_python_agent/metrics_lib/__init__.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib +copying build/lib/ironic_python_agent/metrics_lib/metrics.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib +copying build/lib/ironic_python_agent/metrics_lib/metrics_statsd.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib +copying build/lib/ironic_python_agent/netutils.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +copying build/lib/ironic_python_agent/inject_files.py -> /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/qemu_img.py to qemu_img.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/dmi_inspector.py to dmi_inspector.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tls_utils.py to tls_utils.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/config.py to config.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/raid_utils.py to raid_utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/version.py to version.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/disk_utils.py to disk_utils.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/mdns.py to mdns.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/inject_files.py to inject_files.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_efi_utils.py to test_efi_utils.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_netutils.py to test_netutils.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_base.py to test_base.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_inject_files.py to test_inject_files.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/numa_inspector.py to numa_inspector.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/burnin.py to burnin.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/ironic_api_client.py to ironic_api_client.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/agent.py to agent.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/base.py to base.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_dmi_inspector.py to test_dmi_inspector.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_multi_hardware_clean_steps.py to test_multi_hardware_clean_steps.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_disk_utils.py to test_disk_utils.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_numa_inspector.py to test_numa_inspector.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_inspector.py to test_inspector.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/dmi_inspector_data.py to dmi_inspector_data.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_disk_partitioner.py to test_disk_partitioner.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_encoding.py to test_encoding.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_multi_hardware.py to test_multi_hardware.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_api.py to test_api.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_mdns.py to test_mdns.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_partition_utils.py to test_partition_utils.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_agent.py to test_agent.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_utils.py to test_utils.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_burnin.py to test_burnin.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_device_hints.py to test_device_hints.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_disk_partitioner.py to test_disk_partitioner.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_errors.py to test_errors.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_ironic_api_client.py to test_ironic_api_client.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_tls_utils.py to test_tls_utils.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_qemu_img.py to test_qemu_img.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_base.py to test_base.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_flow.py to test_flow.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_deploy.py to test_deploy.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_base.py to test_base.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/dmi_inspector_data.py to dmi_inspector_data.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_dmi_inspector.py to test_dmi_inspector.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_rescue.py to test_rescue.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_standby.py to test_standby.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_base.py to test_base.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_log.py to test_log.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_poll.py to test_poll.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_service.py to test_service.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_flow.py to test_flow.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_clean.py to test_clean.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_log.py to test_log.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_service.py to test_service.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_standby.py to test_standby.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_image.py to test_image.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_errors.py to test_errors.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_hardware.py to test_hardware.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_raid_utils.py to test_raid_utils.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_deploy.py to test_deploy.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/test_cna.py to test_cna.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/test_mlnx.py to test_mlnx.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/nvidia/test_nvidia_fw_update.py to test_nvidia_fw_update.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/nvidia/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/test_cna.py to test_cna.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/test_mlnx.py to test_mlnx.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_multi_hardware_clean_steps.py to test_multi_hardware_clean_steps.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_inspector.py to test_inspector.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_encoding.py to test_encoding.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_netutils.py to test_netutils.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_device_hints.py to test_device_hints.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_raid_utils.py to test_raid_utils.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_efi_utils.py to test_efi_utils.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_partition_utils.py to test_partition_utils.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_disk_utils.py to test_disk_utils.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_qemu_img.py to test_qemu_img.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_utils.py to test_utils.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_numa_inspector.py to test_numa_inspector.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_inject_files.py to test_inject_files.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_api.py to test_api.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_multi_hardware.py to test_multi_hardware.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_hardware.py to test_hardware.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_agent.py to test_agent.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_tls_utils.py to test_tls_utils.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_burnin.py to test_burnin.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional/base.py to base.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional/test_commands.py to test_commands.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware.py to hardware.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/config.py to config.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/burnin.py to burnin.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/device_hints.py to device_hints.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib/metrics.py to metrics.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib/metrics_statsd.py to metrics_statsd.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib/metrics_collector.py to metrics_collector.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib/metrics_utils.py to metrics_utils.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/dmi_inspector.py to dmi_inspector.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/utils.py to utils.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/rescue.py to rescue.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/poll.py to poll.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/image.py to image.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/standby.py to standby.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/log.py to log.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/inspect.py to inspect.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/base.py to base.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/deploy.py to deploy.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/service.py to service.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/flow.py to flow.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/system.py to system.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/image.py to image.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/clean.py to clean.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/inspector.py to inspector.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/agent.py to agent.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/numa_inspector.py to numa_inspector.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers/cna.py to cna.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/rescue.py to rescue.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/flow.py to flow.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/standby.py to standby.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/service.py to service.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/poll.py to poll.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/log.py to log.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/utils.py to utils.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/device_hints.py to device_hints.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/partition_utils.py to partition_utils.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/disk_partitioner.py to disk_partitioner.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/disk_utils.py to disk_utils.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers/cna.py to cna.cpython-313.pyc byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers/mlnx.py to mlnx.cpython-313.pyc -byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/qemu_img.py to qemu_img.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/inspector.py to inspector.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/errors.py to errors.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware.py to hardware.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api/app.py to app.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd/agent.py to agent.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd/inspect.py to inspect.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/mdns.py to mdns.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/encoding.py to encoding.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/efi_utils.py to efi_utils.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib/metrics_collector.py to metrics_collector.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib/metrics_utils.py to metrics_utils.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib/metrics.py to metrics.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/metrics_lib/metrics_statsd.py to metrics_statsd.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/netutils.py to netutils.cpython-313.pyc +byte-compiling /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/inject_files.py to inject_files.cpython-313.pyc running install_egg_info Copying ironic_python_agent.egg-info to /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent-10.2.0.egg-info Skipping SOURCES.txt running install_scripts Installing ironic-collect-introspection-data script to /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/bin Installing ironic-python-agent script to /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/bin -+ pwd -+ rm -rf /build/reproducible-path/ironic-python-agent-10.2.0/debian/python*/usr/lib/python*/dist-packages/*.pth -+ pwd -+ rm -rf /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python*/dist-packages/*.pth +++ pwd ++ rm -rf '/build/reproducible-path/ironic-python-agent-10.2.0/debian/python*/usr/lib/python*/dist-packages/*.pth' +++ pwd ++ rm -rf '/build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python*/dist-packages/*.pth' # Failing under riscv: # extensions.test_standby.TestStandbyExtension.test_execute_bootc_install pkgos-dh_auto_test --no-py2 'ironic_python_agent\.tests\.unit\.(?!test_inspector\.TestWaitForDhcp\.test_timeout|extensions\.test_standby\.TestStandbyExtension\.test_execute_bootc_install)' @@ -2040,35 +2082,191 @@ + PYTHON3S=disabled + TEST_PARALLEL_OPT=--parallel + TEST_SERIAL_OPT= -+ echo WARNING: --no-py2 is deprecated, and always on. ++ for i in $@ ++ case "${1}" in ++ echo 'WARNING: --no-py2 is deprecated, and always on.' WARNING: --no-py2 is deprecated, and always on. + shift -+ py3versions -vr ++ for i in $@ ++ case "${1}" in +++ py3versions -vr + PYTHON3S=3.13 -+ [ yes = no ] -+ [ no = yes ] -+ [ 3.13 = disabled ] -+ echo 3.13 -+ cut -d. -f1 ++ '[' yes = no ']' ++ '[' no = yes ']' ++ for pyvers in ${PYTHON3S} ++ '[' 3.13 = disabled ']' +++ echo 3.13 +++ cut -d. -f1 + PYMAJOR=3 -+ echo ===> Testing with python (python3) ++ echo '===> Testing with python (python3)' ===> Testing with python (python3) -+ pwd -+ [ -d /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages ] -+ [ -z ] -+ pwd -+ echo Implicitly adding PYTHONPATH=/build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages +++ pwd ++ '[' -d /build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages ']' ++ '[' -z '' ']' +++ pwd ++ echo 'Implicitly adding PYTHONPATH=/build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages' Implicitly adding PYTHONPATH=/build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages -+ pwd +++ pwd + export PYTHONPATH=/build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages -+ [ -e .stestr.conf ] -+ [ -x /usr/bin/python3-stestr ] ++ PYTHONPATH=/build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages ++ '[' -e .stestr.conf ']' ++ '[' -x /usr/bin/python3-stestr ']' + STESTR=stestr + rm -rf .stestr -+ PYTHON=python3.13 stestr run --parallel --subunit ironic_python_agent\.tests\.unit\.(?!test_inspector\.TestWaitForDhcp\.test_timeout|extensions\.test_standby\.TestStandbyExtension\.test_execute_bootc_install) ++ PYTHON=python3.13 + subunit2pyunit ++ stestr run --parallel --subunit 'ironic_python_agent\.tests\.unit\.(?!test_inspector\.TestWaitForDhcp\.test_timeout|extensions\.test_standby\.TestStandbyExtension\.test_execute_bootc_install)' + 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_pci_address +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_pci_address ... ok +ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_empty +ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_empty ... ok + WARNING [root] Cannot find detailed information about interface eth0 +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_vendor_info +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_vendor_info ... ok +ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_invalid_type_in_param +ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_invalid_type_in_param ... ok + WARNING [root] Cannot find detailed information about interface eth0 + WARNING [root] Cannot find detailed information about interface eth0.100 +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces ... ok +ironic_python_agent.tests.unit.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 [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_inject_files.TestInjectFiles.test_ok +ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_ok ... ok +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces_using_lldp +ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces_using_lldp ... ok +ironic_python_agent.tests.unit.test_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_partition_utils.IsHttpUrlTestCase.test__is_http_url +ironic_python_agent.tests.unit.test_partition_utils.IsHttpUrlTestCase.test__is_http_url ... 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_qemu_img.ConvertImageTestCase.test_convert_image +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image ... ok +ironic_python_agent.tests.unit.test_hardware.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_qemu_img.ConvertImageTestCase.test_convert_image_disabled +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_disabled ... 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_qemu_img.ConvertImageTestCase.test_convert_image_flags +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_flags ... ok + WARNING [root] Mismatched hardware managers versions. Agent version: {'specific': '1'}, node version: {'not_specific': '1'} +ironic_python_agent.tests.unit.test_hardware.TestVersions.test_check_versions +ironic_python_agent.tests.unit.test_hardware.TestVersions.test_check_versions ... ok +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_flags_disabled +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_flags_disabled ... ok +ironic_python_agent.tests.unit.test_hardware.TestVersions.test_get_current_versions +ironic_python_agent.tests.unit.test_hardware.TestVersions.test_get_current_versions ... ok +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_just_fails +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_just_fails ... ok +ironic_python_agent.tests.unit.test_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_qemu_img.ConvertImageTestCase.test_convert_image_just_fails_disabled +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_just_fails_disabled ... ok +ironic_python_agent.tests.unit.test_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.hardware_managers.nvidia.test_nvidia_fw_update.TestCheckPrereq.test_check_prereq +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestCheckPrereq.test_check_prereq ... ok +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries ... ok + ERROR [root] Failed Prerequisite check. 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_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.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_hardware.TestHardwareManagerLoading.test_get_managers +ironic_python_agent.tests.unit.test_hardware.TestHardwareManagerLoading.test_get_managers ... ok +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error ... ok +ironic_python_agent.tests.unit.test_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_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_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error_disabled +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error_disabled ... ok +ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test__heartbeat_expected +ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test__heartbeat_expected ... ok +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails ... ok +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails_disabled +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails_disabled ... ok +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_disabled +ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_disabled ... ok +ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_add_partition +ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_add_partition ... ok ERROR [root] Tried to execute fake.fake_sync_command, agent is still executing Command name: name, params: {}, status: RUNNING, result: None. - WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. +ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit +ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit ... 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.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders +ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders ... ok +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_binary_data +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_binary_data ... ok +ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command +ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command ... ok +ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders_no_csv +ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders_no_csv ... ok +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_params_validation +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_params_validation ... ok + ERROR [root] Invalid content error: Invalid request body: baz +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 268, in execute_command + result = ext.execute(command_part, **kwargs) + File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ + return self._mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call + raise effect +ironic_python_agent.errors.InvalidContentError: Invalid request body: baz +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_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.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_disconnected +ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_disconnected ... ok ERROR [root] Command failed: fake_async_command, error: An error occurred: failed Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run @@ -2076,20 +2274,15 @@ File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/extensions/test_base.py", line 38, in fake_async_command raise ExecutionError() ironic_python_agent.tests.unit.extensions.test_base.ExecutionError: An error occurred: failed - WARNING [root] Device /dev/fake1 is inaccessible, skipping... Error: nope - ERROR [root] Failed to move file: /firmware_images/fw1.bin, - ERROR [root] Failed to query firmware of device : Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - ERROR [ironic_python_agent.burnin] SMART test on /dev/sdj failed with 'string' - ERROR [root] Unexpected exception performing clean step erase_devices. 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 +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_name +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_name ... ok +ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__no_efi_bootloaders +ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__no_efi_bootloaders ERROR [root] Command execution error: Command execution failed: foo bar baz Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/clean.py", line 76, in execute_clean_step - result = hardware.dispatch_to_managers(step['step'], node, ports, - **kwargs) - File "", line 3, in dispatch_to_managers + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 268, in execute_command + result = ext.execute(command_part, **kwargs) File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ @@ -2098,18 +2291,41 @@ ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect -RuntimeError: boom - 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 - ERROR [root] Command failed: execute_clean_step, error: Clean step failed: Unexpected exception performing clean step erase_devices. RuntimeError: boom +ironic_python_agent.errors.CommandExecutionError: Command execution failed: foo bar baz + WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. + ... ok +ironic_python_agent.tests.unit.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_image.TestImageExtension.test__add_multi_bootloaders +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__add_multi_bootloaders ... ok +ironic_python_agent.tests.unit.test_disk_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_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.TestExecuteCommandMixin.test_execute_command_success +ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_success ... ok +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_success_without_agent +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_success_without_agent ... 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 WARNING [ironic_python_agent.extensions.image] Falling back to fstab entry addition label of UUID. We could not identify which UUID or PARTUUID identifier label should be used, thus UUID will be used. + ... ok +ironic_python_agent.tests.unit.test_disk_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.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_base.TestExtensionDecorators.test_async_command_validation_failure +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_validation_failure ERROR [ironic_python_agent.agent] error sending heartbeat to Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/clean.py", line 76, in execute_clean_step - result = hardware.dispatch_to_managers(step['step'], node, ports, - **kwargs) - File "", line 3, in dispatch_to_managers + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/agent.py", line 146, in do_heartbeat + self.api.heartbeat( + ~~~~~~~~~~~~~~~~~~^ + uuid=self.agent.get_node_uuid(), + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ...<2 lines>... + generated_cert=self.agent.generated_cert, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ) + ^ File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ @@ -2118,23 +2334,249 @@ ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect -RuntimeError: boom +Exception: uh oh! + ... ok +ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_invalid_command +ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_invalid_command ... ok +ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_correct_mac +ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_correct_mac ... 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.extensions.test_base.TestExtensionDecorators.test_command_map +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_command_map ... ok +ironic_python_agent.tests.unit.extensions.test_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_inspector.TestNormalizeMac.test_pxelinux_mac +ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_pxelinux_mac ... ok + ERROR [root] Extension do not found +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 267, in execute_command + ext = self.get_extension(extension_part) + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 238, in get_extension + ext = self.ext_mgr[extension_name].obj + ~~~~~~~~~~~~^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/stevedore/extension.py", line 340, in __getitem__ + return self._extensions_by_name[name] + ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ +KeyError: 'do' + ERROR [ironic_python_agent.utils] collector failed: boom +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.TestInspect.test_collector_failed +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collector_failed ... ok +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions ... ok +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_execution_failure +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_execution_failure ... ok +ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_empty +ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_empty ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_no_root +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_no_root ... ok + ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve + return _proxy.query(name, rdtype, raise_on_no_answer=raises, + ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + use_network=use_network) + ^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query + step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) + ^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver + self.clear() + ~~~~~~~~~~^^ + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear + self._resolver = dns.resolver.Resolver(filename=self._filename) + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ + self.read_resolv_conf(filename) + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf + raise NoResolverConfiguration("no nameservers") +dns.resolver.NoResolverConfiguration: no nameservers + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn + sock = connection.create_connection( + (self._dns_host, self.port), + ...<2 lines>... + socket_options=self.socket_options, + ) + File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection + for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): + ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo + qname, addrs = _getaddrinfo_lookup(host, family, flags) + ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup + raise err + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup + answer = resolve(host, qfamily, False, use_network=use_network) + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve + _raise_new_error(EAI_NODATA_ERROR) + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error + raise error_instance.__class__(*error_instance.args) +socket.gaierror: [Errno -2] Name or service not known + +The above exception was the direct cause of the following exception: + +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen + response = self._make_request( + conn, + ...<10 lines>... + **response_kw, + ) + File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request + raise new_e + File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request + self._validate_conn(conn) + ~~~~~~~~~~~~~~~~~~~^^^^^^ + File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn + conn.connect() + ~~~~~~~~~~~~^^ + File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect + self.sock = sock = self._new_conn() + ~~~~~~~~~~~~~~^^ + File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn + raise NameResolutionError(self.host, self, e) from e +urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) + +The above exception was the direct cause of the following exception: + +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send + resp = conn.urlopen( + method=request.method, + ...<9 lines>... + chunked=chunked, + ) + File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen + retries = retries.increment( + method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] + ) + File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment + raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version + response = self._request('GET', '/') + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 90, in _request + resp = self.session.request(method, + request_url, + ...<4 lines>... + timeout=CONF.http_request_timeout, + **kwargs) + File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request + resp = self.send(prep, **send_kwargs) + File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send + r = adapter.send(request, **kwargs) + File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send + raise ConnectionError(e, request=request) +requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_with_false_wait +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_with_false_wait ... ok +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_name +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_name ... ok + WARNING [ironic_python_agent.agent] Ironic does not support automated TLS +ironic_python_agent.tests.unit.test_agent.TestBaseAgentVMediaToken.test_run_agent_token_vmedia +ironic_python_agent.tests.unit.test_agent.TestBaseAgentVMediaToken.test_run_agent_token_vmedia ... ok +ironic_python_agent.tests.unit.test_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.GetDeviceInformationTestCase.test_fields +ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_fields ... 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.extensions.test_standby.TestImageDownload.test_download_image +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_prep +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_prep ... ok + ERROR [root] Encountered issue attempting to validate the supplied configuration drive. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None + WARNING [ironic_python_agent.utils] Failed to unlink /tmp/tmpyybv7nz4/tmpd1uka92f, error: [Errno 21] Is a directory: '/tmp/tmpyybv7nz4/tmpd1uka92f' +ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_failed +ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_failed ... ok + WARNING [ironic_python_agent.utils] Failed to unlink /tmp/tmptpyuzv4g/tmp15mm_cwa, error: [Errno 21] Is a directory: '/tmp/tmptpyuzv4g/tmp15mm_cwa' +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_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_work +ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_work ... ok +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_success +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_success ... ok + WARNING [ironic_python_agent.utils] Failed to unlink /tmp/tmpbq9puw0p/tmpuhy0a729, error: [Errno 21] Is a directory: '/tmp/tmpbq9puw0p/tmpuhy0a729' + WARNING [ironic_python_agent.mdns] None of addresses ['::2', '::3'] seem routable, using ::2 + WARNING [ironic_python_agent.utils] Failed to unlink /tmp/tmpbq9puw0p/tmprj3i6mea, error: [Errno 21] Is a directory: '/tmp/tmpbq9puw0p/tmprj3i6mea' +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_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_mdns.GetEndpointTestCase.test_fallback +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_fallback ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi ... ok +ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_normal +ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_normal ... 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_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive +ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_sha512 +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_sha512 ... ok +ironic_python_agent.tests.unit.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.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_api.TestIronicAPI.test_execute_agent_command_success_with_true_wait +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_with_true_wait ... ok +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collectors_option +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collectors_option ... ok + ERROR [root] We were unable to make a new filesystem for the configuration drive. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None +ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_incorrect +ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_incorrect ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum ... ok + WARNING [ironic_python_agent.utils] Failed to unlink /tmp/tmpa6cj54ep/tmpklqlolet, error: [Errno 21] Is a directory: '/tmp/tmpa6cj54ep/tmpklqlolet' + WARNING [ironic_python_agent.utils] Failed to unlink /tmp/tmpa6cj54ep/tmpxfkx7v0f, error: [Errno 21] Is a directory: '/tmp/tmpa6cj54ep/tmpxfkx7v0f' +ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive_fails_once_invalid +ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive_fails_once_invalid ... ok + ERROR [root] Command failed: fake_async_command, error: An error occurred: failed +Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/clean.py", line 87, in execute_clean_step - raise errors.CleaningError(msg) -ironic_python_agent.errors.CleaningError: Clean step failed: Unexpected exception performing clean step erase_devices. RuntimeError: boom - WARNING [ironic_python_agent.efi_utils] Empty EFI partition detected. - ERROR [root] Unexpected exception performing deploy step erase_devices. RuntimeError: boom + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/extensions/test_base.py", line 38, in fake_async_command + raise ExecutionError() +ironic_python_agent.tests.unit.extensions.test_base.ExecutionError: An error occurred: failed + ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow + ERROR [root] Command failed: install_bootloader, error: meow Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/deploy.py", line 76, in execute_deploy_step - result = hardware.dispatch_to_managers(step['step'], node, ports, - **kwargs) - File "", line 3, in dispatch_to_managers + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/image.py", line 721, in install_bootloader + _install_grub2(device, + ~~~~~~~~~~~~~~^^^^^^^^ + root_uuid=root_uuid, + ^^^^^^^^^^^^^^^^^^^^ + efi_system_part_uuid=efi_system_part_uuid, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + prep_boot_part_uuid=prep_boot_part_uuid, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + target_boot_mode=target_boot_mode) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 3, in _install_grub2 File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ @@ -2143,13 +2585,191 @@ ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect -RuntimeError: boom - ERROR [root] Command failed: execute_deploy_step, error: Deploy step failed: Unexpected exception performing deploy step erase_devices. RuntimeError: boom +OSError: meow +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_driver +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_driver ... ok +ironic_python_agent.tests.unit.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_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_image.TestImageExtension.test__install_bootloader_uefi_grub_failure_api_override +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_grub_failure_api_override ... ok + WARNING [root] We were unable to examine the configuration drive, bypassing. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_wait_async_command_success +ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_wait_async_command_success ... ok +ironic_python_agent.tests.unit.test_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.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_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive_graceful_fail +ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive_graceful_fail ... ok +ironic_python_agent.tests.unit.test_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_netutils.TestNetutils.test_get_interface_driver_notfound +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_driver_notfound ... 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_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot +ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_failed +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_failed ... ok +ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_doesnt_exist_disabled +ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_doesnt_exist_disabled ... ok +ironic_python_agent.tests.unit.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 + ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_pci_address +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_pci_address ... 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_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.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure ... ok +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_both_succeed +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_both_succeed ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_failed_md5 +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_failed_md5 ... ok +ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_disabled +ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_disabled ... ok + ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_pci_address_notfound +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_pci_address_notfound ... ok +ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_safe +ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_safe ... ok +ironic_python_agent.tests.unit.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_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure_api_override +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure_api_override ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed ... ok +ironic_python_agent.tests.unit.test_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_rescue.TestRescueExtension.test_finalize_rescue +ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_finalize_rescue ... ok + WARNING [root] Failed to create rescue state file marker: Failed to write file + WARNING [root] Device /dev/fake1 is inaccessible, skipping... Error: nope + ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_with_token_invalid +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_with_token_invalid ... ok +ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_unsafe +ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_unsafe ... ok +ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_finalize_rescue_write_failure +ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_finalize_rescue_write_failure ... ok +ironic_python_agent.tests.unit.test_hardware.TestCollectSystemLogs.test__collect_udev +ironic_python_agent.tests.unit.test_hardware.TestCollectSystemLogs.test__collect_udev ... 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_inspector.TestInspect.test_disabled +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_disabled ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_md5 +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_md5 ... ok +ironic_python_agent.tests.unit.extensions.test_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.TestCollectSystemLogs.test_collect_system_logs +ironic_python_agent.tests.unit.test_hardware.TestCollectSystemLogs.test_collect_system_logs ... 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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_get_nic_psid +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_get_nic_psid ... ok +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info 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: + ... ok +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_agent_status +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_agent_status ... ok +ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_bad_pci_device_info +ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_bad_pci_device_info ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_sha256 +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_sha256 ... ok +ironic_python_agent.tests.unit.hardware_managers.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_inspector.TestCollectPciDevicesInfo.test_success +ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success ... 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_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.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_error +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_error ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_is_image_changed_true +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_is_image_changed_true ... ok + WARNING [ironic_python_agent.netutils] LLDP timed out, remaining interfaces: [('eth0', ), ('eth1', )] +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.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_api.TestIronicAPI.test_get_command_locks_out_with_token +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_locks_out_with_token ... ok +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_rescue.TestRescueExtension.test_hashed_passwords +ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_hashed_passwords ... ok +ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_wrong_path +ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_wrong_path ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output ... ok +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_empty +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_empty ... ok +ironic_python_agent.tests.unit.test_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.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_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_utils.BareMetalUtilsTestCase.test_unlink +ironic_python_agent.tests.unit.test_utils.BareMetalUtilsTestCase.test_unlink ... 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 + WARNING [ironic_python_agent.utils] Failed to unlink /fake/path, error: 2 +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output_no_data +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output_no_data ... ok +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support_no_mlnx +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support_no_mlnx ... ok +ironic_python_agent.tests.unit.test_utils.BareMetalUtilsTestCase.test_unlink_ENOENT +ironic_python_agent.tests.unit.test_utils.BareMetalUtilsTestCase.test_unlink_ENOENT ... ok + ERROR [ironic_python_agent.extensions.poll] Node lookup data can only be set when the Ironic Python Agent is running in standalone mode. +ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_set_node_info_not_standalone +ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_set_node_info_not_standalone ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2 +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2 ... ok +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_generate_client_id +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_generate_client_id ... ok +ironic_python_agent.tests.unit.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_disk_utils.OtherFunctionTestCase.test_block_uuid +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_block_uuid ... ok +ironic_python_agent.tests.unit.test_hardware.TestFullSync.test_full_sync +ironic_python_agent.tests.unit.test_hardware.TestFullSync.test_full_sync ... 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.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.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_clean_steps +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_clean_steps ... WARNING [ironic_python_agent.netutils] Trailing byte received in an LLDP package: b'5' +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_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_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_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_mdns.GetEndpointTestCase.test_https +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_https ... ok + ERROR [root] Rescue Operation failed when writing the hashed rescue password to the password file. Error Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/deploy.py", line 76, in execute_deploy_step - result = hardware.dispatch_to_managers(step['step'], node, ports, - **kwargs) - File "", line 3, in dispatch_to_managers + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/rescue.py", line 48, in write_rescue_password + with open(PASSWORD_FILE, 'w') as f: + ~~~~^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ @@ -2158,20 +2778,131 @@ ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect -RuntimeError: boom - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/deploy.py", line 87, in execute_deploy_step - raise errors.DeploymentError(msg) -ironic_python_agent.errors.DeploymentError: Deploy step failed: Unexpected exception performing deploy step erase_devices. RuntimeError: boom - ERROR [root] Invalid content error: Invalid request body: baz +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 +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_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 + 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.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_warning_on_mismatch +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_warning_on_mismatch ... ok +ironic_python_agent.tests.unit.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_efi_utils.TestGetPartitionPathByNumber.test_broken +ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_broken ... 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 + ERROR [ironic_python_agent.utils] boom + ERROR [ironic_python_agent.extensions.image] Installing GRUB2 boot loader to device /dev/fake failed with Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None. + WARNING [ironic_python_agent.extensions.image] Unable to umount vfat partitions. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None + WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/dev. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None + WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/proc. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None + WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/run. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None + WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/sys. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None + WARNING [root] Unable to tell the kernel to drop caches: + WARNING [root] Cannot flush buffers of device /dev/sda: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None + WARNING [root] Cannot flush buffers of device /dev/nvme0n1: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None +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_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.TestFullSync.test_optional_calls_fail +ironic_python_agent.tests.unit.test_hardware.TestFullSync.test_optional_calls_fail ... ok +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mac_address +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mac_address ... ok +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_extensions_failed +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_extensions_failed ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_invalid_checksum +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_invalid_checksum ... ok +ironic_python_agent.tests.unit.test_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_efi_utils.TestGetPartitionPathByNumber.test_ok +ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_ok ... ok +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_with_token +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_with_token ... ok + ERROR [root] Flushing file system buffers failed: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None + WARNING [ironic_python_agent.netutils] LLDP timed out, remaining interfaces: [('eth1', )] + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0009198188781738281 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_mlnx.MlnxHardwareManager.test_get_interface_info_no_mlnx_interface +ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mlnx_interface ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status ... ok +ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_custom_attempts +ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_custom_attempts ... 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 +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions ... 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_hardware.TestFullSync.test_sync_fails +ironic_python_agent.tests.unit.test_hardware.TestFullSync.test_sync_fails ... 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_one_empty_interface +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_one_empty_interface ... ok +ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_encoder +ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_encoder ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_fail +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_fail ... ok +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_no_logical_partitions +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_no_logical_partitions ... ok +ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs +ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs ... ok + ERROR [ironic_python_agent.inspector] inspector url error 400: , proceeding with lookup + ERROR [ironic_python_agent.burnin] SMART test on /dev/sdj failed with 'string' + ERROR [ironic_python_agent.utils] Failed to create a file system in /my/block/dev. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: 'fake' Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 268, in execute_command - result = ext.execute(command_part, **kwargs) + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/utils.py", line 156, in mkfs + execute(*args, use_standard_locale=True) + ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 3, in do_not_call File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ @@ -2180,17 +2911,55 @@ ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect -ironic_python_agent.errors.InvalidContentError: Invalid request body: baz - WARNING [ironic_python_agent.extensions.image] Falling back to fstab entry addition label of UUID. We could not identify which UUID or PARTUUID identifier label should be used, thus UUID will be used. - ERROR [ironic_python_agent.efi_utils] Could not configure UEFI boot on device /dev/fake: Unexpected error while running command. +oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. Command: None Exit code: - -Stdout: 'boom' -Stderr: None +Stdout: None +Stderr: 'fake' + ERROR [ironic_python_agent.netutils] Socket for network interface eth0 said that it was ready to read we were unable to read from the socket while trying to get LLDP packet. Skipping this network interface. Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/efi_utils.py", line 131, in manage_uefi - utils.execute('mount', efi_partition, efi_partition_mount_point) - ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/netutils.py", line 197, in _get_lldp_info + lldp_info[interface[0]] = _receive_lldp_packets(s) + ~~~~~~~~~~~~~~~~~~~~~^^^ + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/netutils.py", line 160, in _receive_lldp_packets + pkt = sock.recv(1600) + File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ + return self._mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call + raise effect +OSError: BOOM + 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_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_errors.TestErrors.test_RESTError +ironic_python_agent.tests.unit.test_errors.TestErrors.test_RESTError ... 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_utils.MkfsTestCase.test_mkfs_with_label +ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs_with_label ... ok +ironic_python_agent.tests.unit.test_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_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_api.TestIronicAPI.test_get_command_with_token_invalid +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_with_token_invalid ... ok +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_error +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_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 +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__get_device_conf_dict +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__get_device_conf_dict ... ok +ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs_with_unexpected_error +ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs_with_unexpected_error ... ok + ERROR [ironic_python_agent.utils] Failed to make file system. File system foo is not supported. +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/utils.py", line 156, in mkfs + execute(*args, use_standard_locale=True) + ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 3, in do_not_call File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) @@ -2203,13 +2972,339 @@ oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. Command: None Exit code: - +Stdout: None +Stderr: 'No such file or directory' +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_no_space_error_fatal +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_no_space_error_fatal ... ok +ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_trigger +ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_trigger ... 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_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_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.extensions.test_image.TestImageExtension.test__install_grub2_prep +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_prep ... ok + ERROR [root] Failed to query firmware of device : Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None +ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs_with_unsupported_fs +ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs_with_unsupported_fs ... ok +ironic_python_agent.tests.unit.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_inspector.TestInspect.test_inspector_error +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_inspector_error ... 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_burnin.TestBurnin.test_fio_disk_default +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_default ... 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.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.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 ... 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.0019366741180419922 seconds. Error: Received status code 500 from http://example.org, expected 200. Response body: Oops Response headers: +ironic_python_agent.tests.unit.test_errors.TestErrors.test_error_string +ironic_python_agent.tests.unit.test_errors.TestErrors.test_error_string ... ok +ironic-python-agent: line 1. +ironic-python-agent: line 2 message +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_command_results +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_command_results ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries ... ok +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_raises +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_raises ... ok +ironic_python_agent.tests.unit.test_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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__get_device_conf_dict_exception +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__get_device_conf_dict_exception ... ok +ironic_python_agent.tests.unit.test_disk_utils.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_utils.TestCheckEarlyLogging.test_early_logging_goes_to_logger +ironic_python_agent.tests.unit.test_utils.TestCheckEarlyLogging.test_early_logging_goes_to_logger ... ok +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets ... ok +ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_number_nvme +ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_number_nvme ... ok +ironic_python_agent.tests.unit.test_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_inspector.TestInspect.test_mdns +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_mdns ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data ... ok +ironic_python_agent.tests.unit.test_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr_no_bootloaders +ironic_python_agent.tests.unit.test_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr_no_bootloaders ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_default +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_default ... ok +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_works +ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_works ... ok +ironic_python_agent.tests.unit.test_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] Unable to connect to http://example.org, retrying. Error: + ERROR [ironic_python_agent.netutils] Failed to open all RawPromiscuousSockets, attempting to close any opened sockets. + 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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data_no_data +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data_no_data ... ok +ironic_python_agent.tests.unit.test_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_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_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_disk_utils.GetPartitionTableTypeTestCase.test_gpt +ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_gpt ... ok +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_commands_with_token +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_commands_with_token ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries_success +ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries_success ... ok +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_gpt_disk_label +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_gpt_disk_label ... 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_inspector.TestInspect.test_ok +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_ok ... ok +ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_msdos +ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_msdos ... ok + 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] Failed to move file: /firmware_images/fw1.bin, +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_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_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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file_not_found +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file_not_found ... ok + WARNING [ironic_python_agent.disk_utils] Unable to get partition table type for device hello +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.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.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_partition_utils.WorkOnDiskTestCase.test_no_configdrive_partition +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_configdrive_partition ... ok +ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_unknown +ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_unknown ... ok +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_invalid_key +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_invalid_key ... ok +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets_exception +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets_exception ... ok + ERROR [root] Failed to query tool configuration of device : Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None +ironic_python_agent.tests.unit.test_inspector.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.TestInspect.test_ok_with_ironic_url +ironic_python_agent.tests.unit.test_inspector.TestInspect.test_ok_with_ironic_url ERROR [root] Unexpected error dispatching unexpected_fail to manager : A problem was encountered +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/hardware.py", line 3618, in dispatch_to_all_managers + response = getattr(manager, method)(*args, **kwargs) + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 32, in wrapper + return fn(self, *args, **kwargs) + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 101, in unexpected_fail + raise RuntimeError('A problem was encountered') +RuntimeError: A problem was encountered + ... ok +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_commands_with_token_invalid +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_commands_with_token_invalid ... ok +ironic_python_agent.tests.unit.test_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_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_netutils.TestNetutils.test_wrap_ipv6 +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_wrap_ipv6 ... ok +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_memory_info +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_memory_info ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool_exception +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool_exception ... ok +ironic_python_agent.tests.unit.test_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_partition_utils.TestGetPartition.test +ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test ... 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_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_agent.TestAdvertiseAddress.test_advertise_address_provided +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_advertise_address_provided ... 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_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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw ... ok +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_wrap_ipv6_with_ipv4 +ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_wrap_ipv6_with_ipv4 ... ok +ironic_python_agent.tests.unit.test_utils.TestUnmountOfConfig.test__unmount_any_config_drives +ironic_python_agent.tests.unit.test_utils.TestUnmountOfConfig.test__unmount_any_config_drives ... 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 + 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_agent.TestAdvertiseAddress.test_route_failed +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_failed ... ok +ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_command_not_found +ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_command_not_found ... ok +ironic_python_agent.tests.unit.test_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_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_nics_info +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_nics_info ... ok ERROR [root] Failed to open URL data: HTTP Error 500: Internal Error - WARNING [ironic_python_agent.inspector] failed to get system journal - ERROR [root] Error performing clean step erase_devices + ERROR [root] Failed to query firmware of device : Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.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_api.TestIronicAPI.test_not_found +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_not_found ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw_exception +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw_exception ... ok +ironic_python_agent.tests.unit.test_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_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_partition_utils.WorkOnDiskTestCase.test_no_root_partition +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_root_partition ... ok + WARNING [ironic_python_agent.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_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_agent.TestAdvertiseAddress.test_route_retry +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_retry ... 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.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale +ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale ... ok +ironic_python_agent.tests.unit.test_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_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_api.TestIronicAPI.test_root +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_root ... ok + ERROR [root] Failed to open URL data: +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test__get_actual_component_devices_broken_raid0 +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test__get_actual_component_devices_broken_raid0 ... ok +ironic_python_agent.tests.unit.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_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.TestGetPartition.test_label +ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_label ... ok + WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/md/esp using the install command which does not place Secure Boot signed binaries. +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_swap_partition +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_swap_partition ... ok + WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None + WARNING [ironic_python_agent.agent] No route to host fc00:1111::1, route record: Error: some error text + WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None +ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables +ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables ... ok + WARNING [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_agent.TestAdvertiseAddress.test_route_several_urls_and_retries +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_several_urls_and_retries ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_softraid_uefi_gpt +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_softraid_uefi_gpt ... ok + ERROR [root] Failed to set configuration of device , ['SRIOV_EN=20']: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_set_config_exception +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_set_config_exception ... ok +ironic_python_agent.tests.unit.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_log.TestLogExtension.test_collect_system_logs +ironic_python_agent.tests.unit.extensions.test_log.TestLogExtension.test_collect_system_logs ... ok +ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_wipefs_not_support_force +ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_wipefs_not_support_force ... ok +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_host +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_host ... ok + ERROR [root] No partition with UUID 11111111-2222-3333-4444-555555555555 found on device /dev/fake +ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables +ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables ... ok +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device ... ok +ironic_python_agent.tests.unit.test_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_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.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_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_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_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.extensions.test_service.TestServiceExtension.test_execute_service_step +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step ... ok +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_host_v6 +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_host_v6 ... ok + ERROR [root] Unexpected exception performing service step erase_devices. RuntimeError: boom Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/clean.py", line 76, in execute_clean_step + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/service.py", line 76, in execute_service_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers @@ -2221,17 +3316,90 @@ ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect -ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot - WARNING [root] Attempted to invoke multipath utilities, but we encountered an error: Unexpected error while running command. +RuntimeError: boom +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_create_device +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_create_device ... ok +ironic_python_agent.tests.unit.test_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_partition_utils.TestGetPartition.test_partuuid +ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_partuuid ... 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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.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_inspector.TestCollectExtraHardware.test_benchmarks +ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_benchmarks ... ok + ERROR [root] Command failed: execute_service_step, error: Service step failed: Unexpected exception performing service step erase_devices. RuntimeError: boom +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/service.py", line 76, in execute_service_step + result = hardware.dispatch_to_managers(step['step'], node, ports, + **kwargs) + File "", line 3, in dispatch_to_managers + File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ + return self._mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call + raise effect +RuntimeError: boom + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/service.py", line 87, in execute_service_step + raise errors.ServicingError(msg) +ironic_python_agent.errors.ServicingError: Service step failed: Unexpected exception performing service step erase_devices. RuntimeError: boom + WARNING [ironic_python_agent.raid_utils] Found /dev/sdb1 to be missing from /dev/md0 ... re-adding! +ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_with_log_stdout_default +ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_with_log_stdout_default ... ok +ironic_python_agent.tests.unit.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_agent.TestAdvertiseAddress.test_route_with_ip +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_ip ... ok +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_exception +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_exception ... ok +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_v1_root +ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_v1_root ... ok +ironic_python_agent.tests.unit.test_utils.ParseDeviceTagsTestCase.test_empty +ironic_python_agent.tests.unit.test_utils.ParseDeviceTagsTestCase.test_empty ... ok +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_read_device +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_read_device ... ok +ironic_python_agent.tests.unit.test_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_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_exc +ironic_python_agent.tests.unit.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_exc ERROR [root] Configuraiton ESWITCH_HAIRPIN_TOT_BUFFER_SIZE[8] for device is not supported with current fw + ... ok + WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_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.TestAdvertiseAddress.test_route_with_ipv6 +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_ipv6 ... 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_multi_hardware.TestMultipleHardwareManagerLoading.test_manager_method_not_found +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_manager_method_not_found ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_fw +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_fw ... ok +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_preserve_ephemeral +ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_preserve_ephemeral ... ok + ERROR [ironic_python_agent.utils] failed to run hardware-detect utility: Unexpected error while running command. Command: None Exit code: - -Stdout: 'lacking kernel support' +Stdout: None Stderr: None - ERROR [root] Command failed: execute_clean_step, error: Block device caused unknown error: I'm a teapot +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.ParseDeviceTagsTestCase.test_parse +ironic_python_agent.tests.unit.test_utils.ParseDeviceTagsTestCase.test_parse ... ok + ERROR [root] Error performing service step erase_devices Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/clean.py", line 76, in execute_clean_step + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/service.py", line 76, in execute_service_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers @@ -2244,10 +3412,20 @@ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot - ERROR [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] Error performing deploy step erase_devices +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_no_nics_dir +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_no_nics_dir ... ok +ironic_python_agent.tests.unit.test_hardware.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.extensions.test_image.TestImageExtension.test__install_grub2_uefi +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi ... ok +ironic_python_agent.tests.unit.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_fix_not_required +ironic_python_agent.tests.unit.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_fix_not_required ... ok + WARNING [root] Can't find field vendor for device lo in device class net + ERROR [root] Command failed: execute_service_step, error: Block device caused unknown error: I'm a teapot Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/deploy.py", line 76, in execute_deploy_step + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/service.py", line 76, in execute_service_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers @@ -2260,24 +3438,101 @@ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot - ERROR [root] Failed to query tool configuration of device : Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - ERROR [ironic_python_agent.burnin] fio (disk) failed with error Unexpected error while running command. + WARNING [ironic_python_agent.raid_utils] Found /dev/sdb1 to be missing from /dev/md0 ... re-adding! + ERROR [root] Configuraiton: UNSUPPORTED_PARAM is not supported by mstconfig, please update to the latest mstflint package. +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_missing_device +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_missing_device ... ERROR [root] Mismatch provided checksum a94e683ea16d9ae44768f0a65942234d for image http://10.10.10.10/firmware_images/fw1.bin +ok +ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_with_log_stdout_false +ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_with_log_stdout_false ... ok +ironic_python_agent.tests.unit.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_agent.TestAdvertiseAddress.test_with_network_interface +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_with_network_interface ... ok +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_fail +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_fail ... ok +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_memory_unit +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_memory_unit ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.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_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.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_inspector.TestCollectExtraHardware.test_no_benchmarks +ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_no_benchmarks WARNING [root] Attempted to invoke multipath utilities, but we encountered an error: Unexpected error while running command. Command: None Exit code: - -Stdout: None +Stdout: 'lacking kernel support' Stderr: None - ERROR [root] Command failed: execute_deploy_step, error: Block device caused unknown error: I'm a teapot + ... 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_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 + ERROR [root] Unexpected error dispatching unexpected_fail to manager : A problem was encountered +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/hardware.py", line 3662, in dispatch_to_managers + return getattr(manager, method)(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 32, in wrapper + return fn(self, *args, **kwargs) + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 101, in unexpected_fail + raise RuntimeError('A problem was encountered') +RuntimeError: A problem was encountered + WARNING [root] Can't find field vendor for device lo in device class net +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_method_fails +ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_method_fails ... ok +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_with_network_interface_failed +ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_with_network_interface_failed ... ok + ERROR [root] Malformed service_step, no "step" key: {} +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_mdns.GetEndpointTestCase.test_localhost_only +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_localhost_only ... ok + ERROR [root] Command failed: execute_service_step, error: Malformed service_step, no "step" key: {} Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/deploy.py", line 76, in execute_deploy_step - result = hardware.dispatch_to_managers(step['step'], node, ports, - **kwargs) - File "", line 3, in dispatch_to_managers + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/service.py", line 73, in execute_service_step + raise ValueError(msg) +ValueError: Malformed service_step, no "step" key: {} +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi ... ok +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_no_step +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_no_step ... ok +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_threaddir_format_cores_info +ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_threaddir_format_cores_info ... ok +ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_raises +ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_raises ... ok + ERROR [root] The provided psid MT_0000000227 does not match the image psid MT_0000000228 + WARNING [root] Attempted to invoke multipath utilities, but we encountered an error: +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_raid_utils.TestRaidUtils.test_create_raid_device_with_volume_name +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_with_volume_name ... ok +ironic_python_agent.tests.unit.test_hardware.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.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.TestManageUefi.test_clean_boot_records +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_clean_boot_records ... ok +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi_no_iscsi +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi_no_iscsi ... ok +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_tuple_result +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_tuple_result ... 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_utils.ExecuteTestCase.test_execute_with_log_stdout_true +ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_with_log_stdout_true ... ok +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_get_volume_name_of_raid_device +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_get_volume_name_of_raid_device ... ok +ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_parsing_failed +ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_parsing_failed ... ok + ERROR [ironic_python_agent.disk_utils] Security: Image matched multiple potential formats +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/disk_utils.py", line 381, in _image_inspection + inspector_cls = format_inspector.detect_file_format(filename) + File "", line 3, in detect_file_format File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ @@ -2286,19 +3541,70 @@ ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect -ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot - ERROR [root] Failed to open URL data: - 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_utils.imageutils.format_inspector.ImageFormatError + 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.ImageInspectionTest.test_image_inspection_fail_format_error +ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_fail_format_error ... ok + WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' +ironic_python_agent.tests.unit.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_hardware.TestMultipathEnabled.test_enable_multipath_mpathconf +ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_mpathconf ... 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.efi_utils] Empty EFI partition detected. + ERROR [root] The provided firmware version 20.34.1012 does not match image firmware version 20.35.1012 + 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] Clean version mismatch for command execute_service_step +ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_find_devices_all +ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_find_devices_all ... ok + ERROR [root] duplicate settings for device ID 1017 +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_empty_partition_by_uuid +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_empty_partition_by_uuid ... ok +ironic_python_agent.tests.unit.extensions.test_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.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 WARNING [ironic_python_agent.numa_inspector] Failed to get some NUMA information (Error in NUMA node data format: An unexpected error occurred. Please try back later.) + ... ok +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_get_volume_name_of_raid_device_invalid +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_get_volume_name_of_raid_device_invalid ... ok +ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_no_multipath +ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_no_multipath ... ok + ERROR [ironic_python_agent.disk_utils] Security: Image failed safety check +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/disk_utils.py", line 386, in _image_inspection + inspector_cls.safety_check() + ~~~~~~~~~~~~~~~~~~~~~~~~~~^^ + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_disk_utils.py", line 58, in safety_check + raise format_inspector.SafetyCheckFailed( + failures={'mockfail': format_inspector.SafetyViolation()} + ) +oslo_utils.imageutils.format_inspector.SafetyCheckFailed: Safety checks failed: mockfail + WARNING [ironic_python_agent.device_hints] The attribute "model" of the device "/dev/sda" has an empty value. Skipping device. + WARNING [ironic_python_agent.device_hints] No device found that matches the root device hints {'model': 'foo'} + ERROR [root] There is no deviceID provided for this settings +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_version_mismatch +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_version_mismatch ... ok +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__load_ipmi_modules +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__load_ipmi_modules ... ok + WARNING [root] Attempted to determine if multipath tools were present. Not detected. Error recorded: +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_inspector.TestWaitForDhcp.test_all +ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_all ... 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_device_hints.MatchRootDeviceTestCase.test_find_devices_name +ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_find_devices_name 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 - WARNING [root] Attempted to invoke multipath utilities, but we encountered an error: - ERROR [ironic_python_agent.disk_utils] Unable to stat device /dev/disk/by-path/ip-1.2.3.4:5678-iscsi-iqn.fake-lun-9 after attempting to verify 3 times. - ERROR [root] Command execution error: Command execution failed: foo bar baz Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 268, in execute_command - result = ext.execute(command_part, **kwargs) + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/efi_utils.py", line 131, in manage_uefi + utils.execute('mount', efi_partition, efi_partition_mount_point) + ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 3, in do_not_call File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ @@ -2307,7 +3613,86 @@ ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect -ironic_python_agent.errors.CommandExecutionError: Command execution failed: foo bar baz +oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None + ... ok +ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_find_devices_none +ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_find_devices_none ... ok + 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_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_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_empty_device_attribute +ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_empty_device_attribute ... ok +ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_fail_safety_check +ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_fail_safety_check ... ok +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_with_args +ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_with_args ... ok + WARNING [ironic_python_agent.numa_inspector] Failed to get some NUMA information (Error in NUMA node data format: An unexpected error occurred. Please try back later.) + WARNING [ironic_python_agent.device_hints] The attribute "rotational" (with value "None") of device "/dev/sda" is not a valid Boolean. Skipping device. +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_invalid_firmware_settings_config +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_invalid_firmware_settings_config ... ok +ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_boot_only +ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_boot_only ... 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_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints +ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints ... ok +ironic_python_agent.tests.unit.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.ImageInspectionTest.test_image_inspection_pass +ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_pass ... ok +ironic_python_agent.tests.unit.test_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_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.FindEfiPartitionTestCase.test_find_efi_partition_not_found +ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_not_found ... ok +ironic_python_agent.tests.unit.test_hardware.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.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_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_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints2 +ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints2 ... ok +ironic_python_agent.tests.unit.extensions.test_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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_prepare_nvidia_nic_config +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_prepare_nvidia_nic_config ... ok +ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints3 +ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints3 ... ok +ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_with_config +ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_with_config ... ok + WARNING [ironic_python_agent.device_hints] No device found that matches the root device hints {'size': '>=50', 'model': 's==foo'} +ironic_python_agent.tests.unit.test_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 [root] The root device was not detected in 27 seconds +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt ... ok +ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_no_device_found +ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_no_device_found ... ok + 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_inspector.TestWaitForDhcp.test_disabled +ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_disabled ... 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_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_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_device_hints.ParseRootDeviceTestCase.test__append_operator_to_hints +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test__append_operator_to_hints ... ok +ironic_python_agent.tests.unit.test_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_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_no_operators +ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_no_operators ... ok ERROR [ironic_python_agent.efi_utils] Could not configure UEFI boot on device /dev/fake: Unexpected error while running command. Command: None Exit code: - @@ -2342,78 +3727,67 @@ Exit code: - Stdout: 'no umount' 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-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/extensions/test_flow.py", line 41, in sleep - time.sleep(sleep_info['time']) - ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ - return self._mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call - raise effect -ironic_python_agent.errors.RESTError: An error occurred: An unexpected error occurred. Please try back later. - ERROR [root] Command failed: start_flow, error: Command execution failed: fake.sleep was failed -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/flow.py", line 44, in start_flow - raise errors.CommandExecutionError( - "%s was failed" % method - ) -ironic_python_agent.errors.CommandExecutionError: Command execution failed: fake.sleep was failed - ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version - response = self._request('GET', '/') - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 90, in _request - resp = self.session.request(method, - request_url, - ...<4 lines>... - timeout=CONF.http_request_timeout, - **kwargs) - File "", line 3, in request - File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ - return self._mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call - raise effect -Exception: Boom - ERROR [root] Failed to query firmware of device : Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None -/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_tls_utils.py:57: CryptographyDeprecationWarning: Properties that return a naïve datetime object have been deprecated. Please switch to not_valid_before_utc. - self.assertLess(cert.not_valid_before, -/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_tls_utils.py:59: CryptographyDeprecationWarning: Properties that return a naïve datetime object have been deprecated. Please switch to not_valid_after_utc. - self.assertGreater(cert.not_valid_after, - ERROR [root] Malformed clean_step, no "step" key: {} - ERROR [root] Command failed: execute_clean_step, error: Malformed clean_step, no "step" key: {} -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/clean.py", line 73, in execute_clean_step - raise ValueError(msg) -ValueError: Malformed clean_step, no "step" key: {} - ERROR [root] duplicate settings for device ID 1017 - ERROR [root] Malformed deploy_step, no "step" key: {} - ERROR [root] Command failed: execute_deploy_step, error: Malformed deploy_step, no "step" key: {} -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/deploy.py", line 72, in execute_deploy_step - raise ValueError(msg) -ValueError: Malformed deploy_step, no "step" key: {} +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__load_ipmi_modules_fail +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__load_ipmi_modules_fail ... ok +ironic_python_agent.tests.unit.test_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_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_empty_value +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_empty_value ... ok +ironic_python_agent.tests.unit.test_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_inject_files.TestFindPartitionWithPath.test_found +ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found ... ok +ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_one_hint +ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_one_hint ... ok +ironic_python_agent.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute +ironic_python_agent.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute ... ok +ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_only_boot_flag_mbr +ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_only_boot_flag_mbr ... ok + WARNING [ironic_python_agent.device_hints] The attribute "rotational" (with value "None") of device "/dev/sda" is not a valid Boolean. Skipping device. +ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_rotational +ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_rotational ... ok + WARNING [root] The root device was not detected in 45 seconds +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_integer +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_integer ... ok +ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_configured +ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_configured ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__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.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_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_rotational_convert_devices_bool +ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_rotational_convert_devices_bool ... ok +ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found_with_dev +ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found_with_dev ... 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_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt_efi_provided +ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt_efi_provided ... ok +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_no_fstab +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_no_fstab ... ok +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_missing +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_missing ... ok +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_multiple_values +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_multiple_values ... ok +ironic_python_agent.tests.unit.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_delete_not_exists +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete_not_exists ... ok +ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_success +ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_success ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__find_pstore_mount_point +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__find_pstore_mount_point ... ok +ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_failed_to_mount +ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_failed_to_mount ... ok +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_multiple_values_space +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_multiple_values_space ... ok +ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_not_found +ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_not_found ... ok +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content ... 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: - @@ -2443,148 +3817,312 @@ Exit code: - Stdout: 'boom' Stderr: None -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 - ERROR [root] There is no deviceID provided for this settings - ERROR [root] Failed to set configuration of device , ['SRIOV_EN=20']: Unexpected error while running command. + WARNING [root] The root device was not detected in 27 seconds +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_inject_files.TestInjectOne.test_plain_content_with_modes +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_modes ... ok +ironic_python_agent.tests.unit.test_hardware.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_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_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 + WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda1. Skipping +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_no_operator +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_no_operator ... ok + WARNING [ironic_python_agent.utils] Unable to unmount temporary location /mnt/fake: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None - WARNING [root] No hardware manager was able to handle interface foobar +POST: /v1/commands {'name': 'do_things', 'params': []} +GOT: +POST: /v1/commands {'name': 'do_things', 'params': {'key': 'value'}} +GOT: +POST: /v1/commands?wait=false {'name': 'do_things', 'params': {'key': 'value'}} +GOT: +POST: /v1/commands?wait=true {'name': 'do_things', 'params': {'key': 'value'}} +GOT: +POST: /v1/commands {} +GOT: +POST: /v1/commands?wait=false?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 {'name': 'do_things', 'params': {'key': 'value', 'wait': False, 'agent_token': '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789'}} +GOT: +POST: /v1/commands?wait=false?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 {'name': 'do_things', 'params': {'key': 'value', 'wait': False, 'agent_token': '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789'}} +GOT: +GET: /v1/status None +GOT: +GET: /v1/commands/abc123 None +GOT: +GET: /v1/commands/abc123?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 None +GOT: +GET: /v1/commands/abc123 None +GOT: +GET: /v1/commands/abc123 None +GOT: +GET: /v1/commands/abc123?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 None +GOT: +GET: /v1/commands/abc123?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 None +GOT: +GET: /v1/commands None +GOT: +GET: /v1/commands?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 None +GOT: +GET: /v1/commands?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 None +GOT: +GET: /v1/foo None +GOT: +GET: / None +GOT: +GET: /v1 None +GOT: +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_single_value +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_single_value ... ok +ironic_python_agent.tests.unit.test_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_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_empty_value +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_empty_value ... ok +ironic_python_agent.tests.unit.test_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_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_in +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_in ... ok +ironic_python_agent.tests.unit.test_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_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_no_op_no_space +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_no_op_no_space ... ok +ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_equal +ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_equal ... ok +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_not_found +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_not_found ... ok +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_no_op_space +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_no_op_space ... ok +ironic_python_agent.tests.unit.test_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_encoding.TestSerializableComparable.test_childclass_hash +ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_hash ... ok +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_op_no_space +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_op_no_space ... ok +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_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_op_space +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_op_space ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader ... ok +ironic_python_agent.tests.unit.test_raid_utils.TestFindESPRAID.test_no_esp_raid +ironic_python_agent.tests.unit.test_raid_utils.TestFindESPRAID.test_no_esp_raid ... ok +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_partuuid_success +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_partuuid_success ... ok +ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_no_wait_for_disks +ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_no_wait_for_disks ... ok +ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_failed_to_unmount +ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_failed_to_unmount ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_apply_net_firmware_update +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_apply_net_firmware_update ... ok +ironic_python_agent.tests.unit.test_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_efi_utils.TestManageUefi.test_found_csv +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_found_csv ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device ... 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_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_or +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_or ... 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_disk_utils.MakePartitionsTestCase.test_make_partitions -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions ... ok - WARNING [ironic_python_agent.netutils] LLDP timed out, remaining interfaces: [('eth0', ), ('eth1', )] - WARNING [root] Attempted to determine if multipath tools were present. Not detected. Error recorded: -ironic-python-agent: Device sdh was disqualified as virtual media. Type: other, Transport: usb - ERROR [root] Mismatch provided checksum a94e683ea16d9ae44768f0a65942234d for image http://10.10.10.10/firmware_images/fw1.bin - ERROR [root] Command failed: sleep, error: foo -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/extensions/test_flow.py", line 41, in sleep - time.sleep(sleep_info['time']) - ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ - return self._mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1232, in _execute_mock_call - raise result -Exception: foo - WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping - ERROR [root] Configuraiton ESWITCH_HAIRPIN_TOT_BUFFER_SIZE[8] for device is not supported with current fw + WARNING [root] Could not determine if /dev/sdfake is aread-only device. Error: +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images ... ok +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_convert_rotational +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_convert_rotational ... ok +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_on +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_on WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping + ERROR [root] Duplicate componentFlavor MT_0000000540 + ... ok WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sdb. Skipping -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 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping -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.netutils] Trailing byte received in an LLDP package: b'5' +ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_temporary +ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_temporary ... ok WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md1. Skipping - ERROR [root] Command failed: start_flow, error: Command execution failed: fake.sleep was failed -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/flow.py", line 44, in start_flow - raise errors.CommandExecutionError( - "%s was failed" % method - ) -ironic_python_agent.errors.CommandExecutionError: Command execution failed: fake.sleep was failed -ironic-python-agent: Excluding device sdh1 from virtual mediaconsideration as it is a partition. - WARNING [ironic_python_agent.ironic_api_client] Got invalid node data in response to query for node with addresses '00:0c:29:8c:11:b1,00:0c:29:8c:11:b2' from http://agent-api.ironic.example.org: {'node_node': 'also_not_node'} - WARNING [ironic_python_agent.disk_utils] Unable to get partition table type for device hello - WARNING [root] Cannot find detailed information about interface eth0 - ERROR [root] Extension do not found -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 267, in execute_command - ext = self.get_extension(extension_part) - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 238, in get_extension - ext = self.ext_mgr[extension_name].obj - ~~~~~~~~~~~~^^^^^^^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/stevedore/extension.py", line 340, in __getitem__ - return self._extensions_by_name[name] - ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ -KeyError: 'do' - ERROR [root] Configuraiton: UNSUPPORTED_PARAM is not supported by mstconfig, please update to the latest mstflint package. -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 - WARNING [ironic_python_agent.ironic_api_client] Failed looking up node with addresses '00:0c:29:8c:11:b1,00:0c:29:8c:11:b2' at http://agent-api.ironic.example.org. Check if inspection has completed? Error 400: {"node": {"uuid": "deadbeef-dabb-ad00-b105-f00d00bab10c"}} - ERROR [root] The provided psid MT_0000000227 does not match the image psid MT_0000000228 - ERROR [root] Clean version mismatch for command execute_clean_step +ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks +ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks ... ok + WARNING [root] Something went wrong when readlink for interface eth2. Error: fake +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success ... ok +ironic_python_agent.tests.unit.test_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_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_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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_convert_size +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_convert_size ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images_duplicate_component_flavor_exception +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images_duplicate_component_flavor_exception ... ok +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success_raid +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success_raid ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install ... ok +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_wrong_block_type +ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_wrong_block_type ... ok +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_owner +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_owner ... WARNING [root] Could not determine if /dev/sdfake1 is aread-only device. Error: +ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_false +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_false ... ok +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_int_or +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_int_or ... ok +ironic_python_agent.tests.unit.test_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.MountedTestCase.test_with_dest +ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_with_dest ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestUpdateNvidiaNicFirmwareImage.test_update_nvidia_nic_firmware_image_exception +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestUpdateNvidiaNicFirmwareImage.test_update_nvidia_nic_firmware_image_exception ... ok +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card ... ok +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_execute_error +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_execute_error ... ok +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_no_i40e_driver +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_no_i40e_driver ... ok +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_validate_images_schema +ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_validate_images_schema ... ok +ironic_python_agent.tests.unit.test_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_utils.TestStreamingClient.test_ok +ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_ok ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_partition_error +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_partition_error ... ok +ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_indexerror +ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_indexerror ... ok +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_int_or_invalid +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_int_or_invalid ... ok +ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_with_opts +ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_with_opts ... ok + ERROR [root] Invalid parameters for image {'url': 'http://10.10.10.10/firmware_images/fw2.bin', 'checksum': 'a94e683ea16d9ae44768f0a65942234c', 'checksumType': 'sha512', 'component': 'MT_0000000652', 'version': '24.34.1002'},please provide the following parameters url, checksum, checksumType, componentFlavor, version + WARNING [ironic_python_agent.extensions.image] 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.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_in_cna_card +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_in_cna_card ... ok +ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_with_type +ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_with_type ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_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__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.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__download_container_and_bootc_install_errors_no_bootc +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_errors_no_bootc ... ok +ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv4 +ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv4 ... ok +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_by_path +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_by_path ... ok +ironic_python_agent.tests.unit.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_configured +ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_configured ... ok +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_write_error +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_write_error ... ok +ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6 +ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6 ... ok +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_hctl +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_hctl ... ok +ironic_python_agent.tests.unit.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.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_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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_model +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_model ... ok +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_luks +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_luks ... ok +ironic_python_agent.tests.unit.extensions.test_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_utils.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal +ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal ... ok +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_wrong_dir_path +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_wrong_dir_path ... ok +ironic_python_agent.tests.unit.test_hardware.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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_name +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_name ... ok +ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_save_api_client +ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_save_api_client ... ok +ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal_allowed +ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal_allowed ... ok + WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url_formatting +ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url_formatting ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_no_loader +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_no_loader ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_no_selinux_keys_auth +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_no_selinux_keys_auth ... ok +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_rotational +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_rotational ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_path_doesnt_exist +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_path_doesnt_exist ... ok +ironic_python_agent.tests.unit.hardware_managers.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_efi_utils.TestManageUefi.test_ok +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_ok ... ok +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_serial +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_serial ... ok +ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_cache_hardware_info +ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_cache_hardware_info ... ok +ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_nonconfigured +ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_nonconfigured ... ok +ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_update_node_cache +ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_update_node_cache ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. + ... ok +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_size +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_size ... ok +ironic_python_agent.tests.unit.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 + 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.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_podman_errors +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_podman_errors ... ok +ironic_python_agent.tests.unit.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_ok +ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_ok ... ok +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_vendor +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_vendor ... ok +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_with_collect_lldp_disabled +ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_with_collect_lldp_disabled ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration_no_delete +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration_no_delete ... ok +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn ... ok + WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__message_format_partition_bios +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__message_format_partition_bios ... ok +ironic_python_agent.tests.unit.test_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_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_deploy.TestDeployExtension.test_execute_deploy_step -ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step ... ok -ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_correct_mac -ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_correct_mac ... ok -ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_pxelinux_mac -ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_pxelinux_mac ... ok - WARNING [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.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 - ERROR [root] Clean version mismatch for command execute_deploy_step -ironic-python-agent: Device sdh was disqualified as virtual media. Type: disk, Transport: sata - 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 - WARNING [root] Cannot find detailed information about interface eth0 - ERROR [root] The provided firmware version 20.34.1012 does not match image firmware version 20.35.1012 - WARNING [ironic_python_agent.ironic_api_client] Got invalid heartbeat from the API: {'node': {'uuid': 'deadbeef-dabb-ad00-b105-f00d00bab10c'}} - WARNING [ironic_python_agent.netutils] LLDP timed out, remaining interfaces: [('eth1', )] -ironic-python-agent: Device sdh was disqualified as virtual media. Type: other, Transport: scsi - ERROR [ironic_python_agent.extensions.poll] Node lookup data can only be set when the Ironic Python Agent is running in standalone mode. - ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow - WARNING [root] The root device was not detected in 27 seconds -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 -ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_already_running -ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_already_running ... ok -ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_lacking_support -ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_lacking_support ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_md5 -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_md5 ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_sha256 -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_sha256 ... ok - ERROR [root] Command failed: fake_async_command, error: An error occurred: failed -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/extensions/test_base.py", line 38, in fake_async_command - raise ExecutionError() -ironic_python_agent.tests.unit.extensions.test_base.ExecutionError: An error occurred: failed - ERROR [root] Command failed: install_bootloader, error: meow +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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn_vendor_extension +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn_vendor_extension ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__message_format_partition_uefi +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__message_format_partition_uefi ... ok +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_software_raid +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_software_raid ... ok +ironic-python-agent: Device sdh was disqualified as virtual media. Type: other, Transport: usb + ERROR [root] Unexpected exception performing clean step erase_devices. RuntimeError: boom Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/image.py", line 721, in install_bootloader - _install_grub2(device, - ~~~~~~~~~~~~~~^^^^^^^^ - root_uuid=root_uuid, - ^^^^^^^^^^^^^^^^^^^^ - efi_system_part_uuid=efi_system_part_uuid, - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - prep_boot_part_uuid=prep_boot_part_uuid, - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - target_boot_mode=target_boot_mode) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "", line 3, in _install_grub2 + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/clean.py", line 76, in execute_clean_step + result = hardware.dispatch_to_managers(step['step'], node, ports, + **kwargs) + File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ @@ -2593,22 +4131,17 @@ ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect -OSError: 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 ... 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 -ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data_no_data -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data_no_data ... ok - 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. +RuntimeError: boom +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_utils.TestCheckVirtualMedia.test_check_vmedia_device_other +ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_other ... ok + ERROR [root] Command failed: execute_clean_step, error: Clean step failed: Unexpected exception performing clean step erase_devices. RuntimeError: boom Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/netutils.py", line 197, in _get_lldp_info - lldp_info[interface[0]] = _receive_lldp_packets(s) - ~~~~~~~~~~~~~~~~~~~~~^^^ - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/netutils.py", line 160, in _receive_lldp_packets - pkt = sock.recv(1600) + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/clean.py", line 76, in execute_clean_step + result = hardware.dispatch_to_managers(step['step'], node, ports, + **kwargs) + File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ @@ -2617,52 +4150,66 @@ ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect -OSError: BOOM - WARNING [root] Cannot find detailed information about interface bond0 -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: Copying configuration from /tmp/tmpfjv2_7v9/etc/ironic-python-agent to /etc/ironic-python-agent -ironic-python-agent: Copying configuration from /tmp/tmpfjv2_7v9/etc/ironic-python-agent.d to /etc/ironic-python-agent.d -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool_exception -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool_exception ... ok - ERROR [root] No partition with UUID 11111111-2222-3333-4444-555555555555 found on device /dev/fake -ironic-python-agent: Was unable to execute the lsblk command. Unexpected error while running command. +RuntimeError: boom + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/clean.py", line 87, in execute_clean_step + raise errors.CleaningError(msg) +ironic_python_agent.errors.CleaningError: Clean step failed: Unexpected exception performing clean step erase_devices. RuntimeError: boom +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn_with_extension +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn_with_extension ... ok +ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_exception +ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_exception ... ok + WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. + ERROR [ironic_python_agent.extensions.image] Installing GRUB2 boot loader to device /dev/fake failed with Unexpected error while running command. Command: None Exit code: - -Stdout: None +Stdout: 'error' +Stderr: None. + ERROR [ironic_python_agent.extensions.image] Umounting efi system partition failed. Attempted 3 times. Error: Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'error' Stderr: None - WARNING [root] The root device was not detected in 45 seconds -ironic_python_agent.tests.unit.test_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr_no_bootloaders -ironic_python_agent.tests.unit.test_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr_no_bootloaders ... ok -ironic-python-agent: Copying configuration from /tmp/tmpko5jydox/etc/ironic-python-agent to /etc/ironic-python-agent -ironic-python-agent: Copying configuration from /tmp/tmpko5jydox/etc/ironic-python-agent.d to /etc/ironic-python-agent.d -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 - WARNING [root] Cannot find detailed information about interface eth0 - WARNING [root] Something went wrong when readlink for interface eth2. Error: fake -ironic-python-agent: Did not identify any virtual media candidates devices. - ERROR [ironic_python_agent.netutils] Failed to open all RawPromiscuousSockets, attempting to close any opened sockets. - ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow - WARNING [root] The root device was not detected in 27 seconds -ironic-python-agent: /some/path/etc/ironic-python-agent not found -ironic-python-agent: /some/path/etc/ironic-python-agent.d not found - ERROR [root] Duplicate componentFlavor MT_0000000540 +ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step +ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_umount_fails +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_umount_fails ... ok ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command. Command: None Exit code: - Stdout: 'boop' Stderr: None - WARNING [ironic_python_agent.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: - ERROR [ironic_python_agent.disk_utils] Security: Image matched multiple potential formats +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test__wait_for_interface_expired +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test__wait_for_interface_expired ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__sync_clock +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__sync_clock ... ok +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_no_hints +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_no_hintsironic-python-agent: Excluding device sdh1 from virtual mediaconsideration as it is a partition. + ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_invalid +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_invalid ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__write_authorized_keys +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__write_authorized_keys ... ok + ERROR [root] Command failed: foo_command, error: command execution failed Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/disk_utils.py", line 381, in _image_inspection - inspector_cls = format_inspector.detect_file_format(filename) - File "", line 3, in detect_file_format + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_agent.py", line 44, in foo_execute + raise EXPECTED_ERROR +RuntimeError: command execution failed + ERROR [root] Error performing clean step erase_devices +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/clean.py", line 76, in execute_clean_step + result = hardware.dispatch_to_managers(step['step'], node, ports, + **kwargs) + File "", line 3, in dispatch_to_managers File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ @@ -2671,53 +4218,11 @@ ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect -oslo_utils.imageutils.format_inspector.ImageFormatError -ironic-python-agent: /tmp/tmpocajnh5v/etc/ironic-python-agent not found -ironic-python-agent: /tmp/tmpocajnh5v/etc/ironic-python-agent.d not found - ERROR [root] Invalid parameters for image {'url': 'http://10.10.10.10/firmware_images/fw2.bin', 'checksum': 'a94e683ea16d9ae44768f0a65942234c', 'checksumType': 'sha512', 'component': 'MT_0000000652', 'version': '24.34.1002'},please provide the following parameters url, checksum, checksumType, componentFlavor, version - ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow - WARNING [root] Cannot find detailed information about interface eth0 - WARNING [root] Failed to create rescue state file marker: Failed to write file -ironic-python-agent: No virtual media device detected - WARNING [ironic_python_agent.device_hints] The attribute "model" of the device "/dev/sda" has an empty value. Skipping device. - WARNING [ironic_python_agent.device_hints] No device found that matches the root device hints {'model': 'foo'} - ERROR [root] Failed Prerequisite check. Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None -ironic-python-agent: Cannot use configuration from virtual media as the agent was not booted from virtual media. - ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow - ERROR [ironic_python_agent.disk_utils] Security: Image failed safety check -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/disk_utils.py", line 386, in _image_inspection - inspector_cls.safety_check() - ~~~~~~~~~~~~~~~~~~~~~~~~~~^^ - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_disk_utils.py", line 58, in safety_check - raise format_inspector.SafetyCheckFailed( - failures={'mockfail': format_inspector.SafetyViolation()} - ) -oslo_utils.imageutils.format_inspector.SafetyCheckFailed: Safety checks failed: mockfail - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0010333061218261719 seconds. Error: Received status code 401 from http://example.org, expected 200. Response body: Unauthorized Response headers: - WARNING [root] Mismatched hardware managers versions. Agent version: {'specific': '1'}, node version: {'not_specific': '1'} -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.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition -ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition ... ok - WARNING [root] Cannot find detailed information about interface eth0 - ERROR [root] Encountered issue attempting to validate the supplied configuration drive. Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boom' -Stderr: None - WARNING [ironic_python_agent.utils] Failed to unlink /tmp/tmpk3cckdd3/tmp3_6y2_bk, error: [Errno 21] Is a directory: '/tmp/tmpk3cckdd3/tmp3_6y2_bk' -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 - ERROR [root] Unexpected exception performing service step erase_devices. RuntimeError: boom +ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot +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 ... ERROR [root] Unexpected exception performing deploy step erase_devices. RuntimeError: boom Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/service.py", line 76, in execute_service_step + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/deploy.py", line 76, in execute_deploy_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers @@ -2730,14 +4235,31 @@ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect RuntimeError: boom - ERROR [ironic_python_agent.utils] foo - ERROR [ironic_python_agent.utils] bar - ERROR [ironic_python_agent.utils] baz - ERROR [ironic_python_agent.utils] foo - WARNING [ironic_python_agent.utils] Failed to unlink /tmp/tmpglsbdcwy/tmp5oxlk5r5, error: [Errno 21] Is a directory: '/tmp/tmpglsbdcwy/tmp5oxlk5r5' - ERROR [root] Command failed: execute_service_step, error: Service step failed: Unexpected exception performing service step erase_devices. RuntimeError: boom +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_image.TestImageExtension.test__is_bootloader_loaded_empty +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_empty ... ok + 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-10.2.0/ironic_python_agent/extensions/service.py", line 76, in execute_service_step + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/clean.py", line 76, in execute_clean_step + result = hardware.dispatch_to_managers(step['step'], node, ports, + **kwargs) + File "", line 3, in dispatch_to_managers + File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ + return self._mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call + raise effect +ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot + ERROR [root] Command failed: execute_deploy_step, error: Deploy step failed: Unexpected exception performing deploy step erase_devices. RuntimeError: boom +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/deploy.py", line 76, in execute_deploy_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers @@ -2756,14 +4278,36 @@ Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/service.py", line 87, in execute_service_step - raise errors.ServicingError(msg) -ironic_python_agent.errors.ServicingError: Service step failed: Unexpected exception performing service step erase_devices. RuntimeError: boom - ERROR [root] Rescue Operation failed when writing the hashed rescue password to the password file. Error + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/deploy.py", line 87, in execute_deploy_step + raise errors.DeploymentError(msg) +ironic_python_agent.errors.DeploymentError: Deploy step failed: Unexpected exception performing deploy step erase_devices. RuntimeError: boom +ironic_python_agent.tests.unit.hardware_managers.test_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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_non_existent_hint +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_non_existent_hint ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_nvram +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_nvram ... 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.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_standby.TestStandbyExtension.test__write_container_auth +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__write_container_auth ... ok +ironic_python_agent.tests.unit.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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_string_compare_operator_name +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_string_compare_operator_name ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__write_no_pivot_root +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__write_no_pivot_root ... ok +ironic_python_agent.tests.unit.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 + ERROR [root] Command failed: sleep, error: An error occurred: An unexpected error occurred. Please try back later. Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/rescue.py", line 48, in write_rescue_password - with open(PASSWORD_FILE, 'w') as f: - ~~~~^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/extensions/test_flow.py", line 41, in sleep + time.sleep(sleep_info['time']) + ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ @@ -2772,41 +4316,31 @@ ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect -OSError -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 - WARNING [root] Cannot find detailed information about interface eth0 - WARNING [ironic_python_agent.numa_inspector] Failed to get some NUMA information (Error in NUMA node data format: An unexpected error occurred. Please try back later.) - WARNING [ironic_python_agent.utils] Failed to unlink /tmp/tmpu5yuc_z2/tmpz_tbxrw3, error: [Errno 21] Is a directory: '/tmp/tmpu5yuc_z2/tmpz_tbxrw3' - WARNING [ironic_python_agent.utils] Failed to unlink /tmp/tmpu5yuc_z2/tmpm8cqml1t, error: [Errno 21] Is a directory: '/tmp/tmpu5yuc_z2/tmpm8cqml1t' - 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.device_hints] The attribute "rotational" (with value "None") of device "/dev/sda" is not a valid Boolean. Skipping device. - WARNING [ironic_python_agent.extensions.standby] 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.0016837120056152344 seconds. Error: Received status code 500 from http://example.org, expected 200. Response body: Oops Response headers: -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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file_not_found -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file_not_found ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http_err -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http_err ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http_url_err -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http_url_err ... ok -ironic_python_agent.tests.unit.test_disk_utils.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 - ERROR [root] We were unable to make a new filesystem for the configuration drive. Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boom' -Stderr: None - WARNING [ironic_python_agent.utils] Failed to unlink /tmp/tmpv6sx0uw6/tmptaivn_1a, error: [Errno 21] Is a directory: '/tmp/tmpv6sx0uw6/tmptaivn_1a' - WARNING [ironic_python_agent.utils] Failed to unlink /tmp/tmpv6sx0uw6/tmpt7bzoys4, error: [Errno 21] Is a directory: '/tmp/tmpv6sx0uw6/tmpt7bzoys4' - ERROR [root] Error performing service step erase_devices +ironic_python_agent.errors.RESTError: An error occurred: An unexpected error occurred. Please try back later. +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.TestCheckVirtualMedia.test_check_vmedia_device_rom +ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_rom ERROR [root] Command failed: start_flow, error: Command execution failed: fake.sleep was failed Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/service.py", line 76, in execute_service_step + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/flow.py", line 44, in start_flow + raise errors.CommandExecutionError( + "%s was failed" % method + ) +ironic_python_agent.errors.CommandExecutionError: Command execution failed: fake.sleep was failed + ... ok + ERROR [root] Malformed clean_step, no "step" key: {} + ERROR [root] Command failed: execute_clean_step, error: Malformed clean_step, no "step" key: {} +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/clean.py", line 73, in execute_clean_step + raise ValueError(msg) +ValueError: Malformed clean_step, no "step" key: {} + ERROR [root] Error performing deploy step erase_devices +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/deploy.py", line 76, in execute_deploy_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers @@ -2819,40 +4353,11 @@ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot - WARNING [ironic_python_agent.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'. - WARNING [root] Cannot find detailed information about interface eth0 - ERROR [ironic_python_agent.extensions.image] Installing GRUB2 boot loader to device /dev/fake failed with Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boom' -Stderr: None. -ironic_python_agent.tests.unit.test_raid_utils.TestGetNextFreeRaidDevice.test_no_device -ironic_python_agent.tests.unit.test_raid_utils.TestGetNextFreeRaidDevice.test_no_device ... ok - WARNING [root] Cannot find detailed information about interface eth0.100 - 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 -ironic_python_agent.tests.unit.test_raid_utils.TestGetNextFreeRaidDevice.test_ok -ironic_python_agent.tests.unit.test_raid_utils.TestGetNextFreeRaidDevice.test_ok ... ok - 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.inspector] Failed to gather numa_node id from PCI device foo: - ERROR [root] Command failed: execute_service_step, error: Block device caused unknown error: I'm a teapot + ERROR [root] Command failed: execute_deploy_step, error: Block device caused unknown error: I'm a teapot Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/service.py", line 76, in execute_service_step + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/deploy.py", line 76, in execute_deploy_step result = hardware.dispatch_to_managers(step['step'], node, ports, **kwargs) File "", line 3, in dispatch_to_managers @@ -2865,1848 +4370,540 @@ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot - WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/run. Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boom' -Stderr: None - WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/sys. Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boom' -Stderr: None - WARNING [ironic_python_agent.numa_inspector] Failed to get some NUMA information (Error in NUMA node data format: An unexpected error occurred. Please try back later.) - WARNING [ironic_python_agent.inspector] Failed to gather numa_node id from PCI device bar: - WARNING [ironic_python_agent.extensions.standby] Unable to connect to http://example.org, retrying. Error: -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw ... ok -ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_exc -ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_exc ... 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: Response headers: - ERROR [ironic_python_agent.utils] failed to run hardware-detect utility: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - WARNING [ironic_python_agent.device_hints] No device found that matches the root device hints {'size': '>=50', 'model': 's==foo'} -ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_ll_fails -ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_ll_fails ... ok -ironic_python_agent.tests.unit.extensions.test_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.extensions.test_clean.TestCleanExtension.test_execute_clean_step_no_step +ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_no_step ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_nvram_defaults +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_nvram_defaults ... ok +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_wholedisk +ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_wholedisk ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_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_deploy.TestDeployExtension.test_execute_deploy_step_fail -ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_fail ... ok -ironic_python_agent.tests.unit.test_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.extensions.test_log.TestLogExtension.test_collect_system_logs -ironic_python_agent.tests.unit.extensions.test_log.TestLogExtension.test_collect_system_logs ... ok -ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_empty -ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_empty ... ok - WARNING [ironic_python_agent.numa_inspector] Failed to get list of NUMA nodes, NUMA node path does not exist: /sys/devices/system/node/ - 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_inspector.TestCollectLogs.test -ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test ... ok -ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test_fail -ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test_fail ... ok -ironic_python_agent.tests.unit.test_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_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_error -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_error ... ok -ironic_python_agent.tests.unit.test_multi_hardware.TestNoHardwareManagerLoading.test_no_managers_found -ironic_python_agent.tests.unit.test_multi_hardware.TestNoHardwareManagerLoading.test_no_managers_found ... ok -ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_add_partition -ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_add_partition ... ok -ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit -ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit ... ok -ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_disconnected -ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_disconnected ... ok - ERROR [root] Malformed service_step, no "step" key: {} - WARNING [root] Cannot find detailed information about interface eth0 - WARNING [root] Cannot find detailed information about interface eth0.100 - ERROR [root] Command failed: execute_service_step, error: Malformed service_step, no "step" key: {} +ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_fail ... WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. +ok +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed ... ok +ironic_python_agent.tests.unit.test_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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_string_or_space +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_string_or_space ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_find_partition +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_find_partition ... ok +ironic_python_agent.tests.unit.test_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.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_mdns.GetEndpointTestCase.test_simple +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_simple ... 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 ... ironic-python-agent: Device sdh was disqualified as virtual media. Type: disk, Transport: sata +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_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_inject_files.TestValidateFiles.test_content_and_deleted +ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_content_and_deleted ... ERROR [root] Malformed deploy_step, no "step" key: {} +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-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/service.py", line 73, in execute_service_step + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/deploy.py", line 72, in execute_deploy_step raise ValueError(msg) -ValueError: Malformed service_step, no "step" key: {} - WARNING [root] Cannot find detailed information about interface eth0.101 -ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_is_always_busy -ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_is_always_busy ... ok -ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_is_busy_once -ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_is_busy_once ... ok -ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test__generate -ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test__generate ... 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.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 - ERROR [ironic_python_agent.utils] JSON returned from hardware-detect cannot be decoded: Expecting value: line 1 column 1 (char 0) - ERROR [ironic_python_agent.utils] Failed to get list of PCI devices: - ERROR [ironic_python_agent.utils] Failed to sync time using chrony to ntp server: 192.168.1.1: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: 'time verboten' -ironic_python_agent.tests.unit.extensions.test_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 - ERROR [ironic_python_agent.utils] collector failed: boom -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_execution_failure -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_execution_failure ... ok -ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_fields -ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_fields ... 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_utils.TestRemoveKeys.test_remove_keys -ironic_python_agent.tests.unit.test_utils.TestRemoveKeys.test_remove_keys ... ok - WARNING [ironic_python_agent.inspector] no suitable root device detected -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_busy -ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_busy ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command -ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_invalid_content -ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_invalid_content ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_other_exception -ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_other_exception ... ok - ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 -Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve - return _proxy.query(name, rdtype, raise_on_no_answer=raises, - ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - use_network=use_network) - ^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query - step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False) - ^^^^^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver - self.clear() - ~~~~~~~~~~^^ - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear - self._resolver = dns.resolver.Resolver(filename=self._filename) - ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__ - self.read_resolv_conf(filename) - ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf - raise NoResolverConfiguration("no nameservers") -dns.resolver.NoResolverConfiguration: no nameservers - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn - sock = connection.create_connection( - (self._dns_host, self.port), - ...<2 lines>... - socket_options=self.socket_options, - ) - File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection - for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): - ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo - qname, addrs = _getaddrinfo_lookup(host, family, flags) - ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup - raise err - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup - answer = resolve(host, qfamily, False, use_network=use_network) - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve - _raise_new_error(EAI_NODATA_ERROR) - ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error - raise error_instance.__class__(*error_instance.args) -socket.gaierror: [Errno -2] Name or service not known - -The above exception was the direct cause of the following exception: - -Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen - response = self._make_request( - conn, - ...<10 lines>... - **response_kw, - ) - File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request - raise new_e - File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request - self._validate_conn(conn) - ~~~~~~~~~~~~~~~~~~~^^^^^^ - File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn - conn.connect() - ~~~~~~~~~~~~^^ - File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect - self.sock = sock = self._new_conn() - ~~~~~~~~~~~~~~^^ - File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn - raise NameResolutionError(self.host, self, e) from e -urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) - -The above exception was the direct cause of the following exception: - -Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send - resp = conn.urlopen( - method=request.method, - ...<9 lines>... - chunked=chunked, - ) - File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen - retries = retries.increment( - method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] - ) - File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment - raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version - response = self._request('GET', '/') - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 90, in _request - resp = self.session.request(method, - request_url, - ...<4 lines>... - timeout=CONF.http_request_timeout, - **kwargs) - File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request - resp = self.send(prep, **send_kwargs) - File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send - r = adapter.send(request, **kwargs) - File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send - raise ConnectionError(e, request=request) -requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) -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.agent] Ironic does not support automated TLS - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00030612945556640625 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.00030612945556640625 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0009021759033203125 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.0009021759033203125 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0013294219970703125 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.0013294219970703125 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0017402172088623047 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.0017402172088623047 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0021440982818603516 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.0021440982818603516 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.002542257308959961 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.002542257308959961 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 ... ok -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_driver -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_driver ... ok - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0030946731567382812 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.0030946731567382812 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_driver_notfound -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_driver_notfound ... ok -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_pci_address -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_pci_address ... ok - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0035009384155273438 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_pci_address_notfound -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_interface_pci_address_notfound ... ok - 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.0035009384155273438 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_https -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_https ... ok - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.003968954086303711 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.003968954086303711 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_invalid_url_scheme -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_invalid_url_scheme ... ok - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.004434108734130859 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - ERROR [ironic_python_agent.utils] Unable to sync clock, available methods of 'ntpdate' or 'chrony' not found. -ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_exception -ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_exception ... ok -ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_fail -ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_fail ... ok - WARNING [ironic_python_agent.device_hints] The attribute "rotational" (with value "None") of device "/dev/sda" is not a valid Boolean. Skipping device. -ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_no_step -ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_no_step ... ok - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00018405914306640625 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.00018405914306640625 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test_generate -ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test_generate ... ok - WARNING [ironic_python_agent.utils] Failed to unlink /fake/path, error: 2 - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0006623268127441406 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.0006623268127441406 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.000978708267211914 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.000978708267211914 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_clean_boot_records -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_clean_boot_records ... ok - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0012764930725097656 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.0012764930725097656 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0015931129455566406 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.0015931129455566406 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [root] Cannot find detailed information about interface eth0 - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0018961429595947266 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.0018961429595947266 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0021810531616210938 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.0021810531616210938 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [root] Cannot find detailed information about interface eth1 -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 - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0026106834411621094 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.0026106834411621094 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -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_efi_utils.TestManageUefi.test_failure_after_failure -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure_after_failure ... ok - WARNING [root] Cannot find detailed information about interface eth0.100 - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0033538341522216797 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - ERROR [ironic_python_agent.agent] error sending heartbeat to +ValueError: Malformed deploy_step, no "step" key: {} + 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_collect_lldp_data +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data ... 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.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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_with_operators +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_with_operators ... ok +ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_no_step +ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_no_step ... ok + ERROR [root] Command failed: sleep, error: foo Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/agent.py", line 146, in do_heartbeat - self.api.heartbeat( - ~~~~~~~~~~~~~~~~~~^ - uuid=self.agent.get_node_uuid(), - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<2 lines>... - generated_cert=self.agent.generated_cert, - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ) - ^ + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/extensions/test_flow.py", line 41, in sleep + time.sleep(sleep_info['time']) + ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call return self._execute_mock_call(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call - raise effect -Exception: uh oh! - 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.0033538341522216797 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure_after_mount -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure_after_mount ... ok - WARNING [root] Cannot find detailed information about interface eth0.101 - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.003692150115966797 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - 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.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_4096 -ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_4096 ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw_exception -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw_exception ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_fresh -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_fresh ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_set_via_conf -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_set_via_conf ... ok -ironic_python_agent.tests.unit.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_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_base.TestExecuteCommandMixin.test_execute_invalid_command -ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_invalid_command ... ok -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed ... ok -ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_custom_attempts -ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_custom_attempts ... ok -ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_fails -ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_fails ... ok -ironic_python_agent.tests.unit.hardware_managers.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.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_utils.TestCheckVirtualMedia.test_check_vmedia_device -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device ... ok -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_other -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_other ... ok - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0002033710479736328 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.0002033710479736328 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_normal -ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_normal ... 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' -ok - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0007083415985107422 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - 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.extensions.standby] Image download failed, 1 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0007083415985107422 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_gpt -ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_gpt ... ok - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0012023448944091797 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -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.extensions.standby] Image download failed, 2 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0012023448944091797 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -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 ... WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0015969276428222656 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -ok - WARNING [ironic_python_agent.extensions.standby] Image download failed, 3 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0015969276428222656 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -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.extensions.test_base.TestExtensionDecorators.test_sync_command_name -ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_name ... ok - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.002227783203125 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -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 - 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.002227783203125 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_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_disk_utils.GetPartitionTableTypeTestCase.test_msdos -ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_msdos ... ok - WARNING [ironic_python_agent.dmi_inspector] Failed to parse Handle type in dmi output: list index out of range - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0037636756896972656 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.0037636756896972656 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.004467964172363281 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.004467964172363281 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0049037933349609375 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.0049037933349609375 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.005325794219970703 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.005325794219970703 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.005709648132324219 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 -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.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_disk_utils.TriggerDeviceRescanTestCase.test_trigger -ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_trigger ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_fw -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_fw ... ok -ironic_python_agent.tests.unit.test_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_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_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_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_body -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_body ... ok -ironic_python_agent.tests.unit.test_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_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 - 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.TestNvidiaNicFirmwareOps.test__query_device -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test__query_device ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed_with_reset -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed_with_reset ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_get_nic_psid -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_get_nic_psid ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_is_image_changed_true -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_is_image_changed_true ... ok - ERROR [root] Clean version mismatch for command execute_service_step - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00020766258239746094 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.00020766258239746094 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.001184225082397461 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.001184225082397461 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - 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 - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0017180442810058594 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.0017180442810058594 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output ... ok - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0020246505737304688 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.0020246505737304688 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -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 - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.002313852310180664 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.002313852310180664 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.002606630325317383 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.002606630325317383 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0028886795043945312 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.0028886795043945312 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.003616809844970703 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.003616809844970703 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.004026889801025391 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.004026889801025391 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.004312038421630859 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config -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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_duplicate_device_id -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_duplicate_device_id ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_invalid_firmware_settings_config -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_invalid_firmware_settings_config ... ok -ironic_python_agent.tests.unit.test_hardware.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__load_ipmi_modules_fail -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__load_ipmi_modules_fail ... ok -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_missing -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_missing ... ok -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_partuuid_success -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_partuuid_success ... ok - WARNING [ironic_python_agent.utils] Unable to unmount temporary location /mnt/fake: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_code -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_code ... ok -ironic_python_agent.tests.unit.test_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.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_standby.TestImageDownload.test_download_image_and_checksum_md5 -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_md5 ... ok -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success ... ok - ERROR [root] Command failed: foo_command, error: command execution failed + File "/usr/lib/python3.13/unittest/mock.py", line 1232, in _execute_mock_call + raise result +Exception: foo + ERROR [root] Command failed: start_flow, error: Command execution failed: fake.sleep was failed Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_agent.py", line 44, in foo_execute - raise EXPECTED_ERROR -RuntimeError: command execution failed - WARNING [root] Cannot find detailed information about interface eth0 -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success_raid -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success_raid ... ok -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_wrong_block_type -ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_wrong_block_type ... ok -ironic_python_agent.tests.unit.test_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 ... WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0014293193817138672 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.0014293193817138672 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.002020120620727539 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.002020120620727539 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: -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 ... WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0025625228881835938 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.0025625228881835938 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: -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 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0037174224853515625 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.0037174224853515625 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: -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.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_partition_utils.TestGetPartition.test -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test ... 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.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_md5 -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_md5 ... ok -ironic_python_agent.tests.unit.extensions.test_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 - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.008559942245483398 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.008559942245483398 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_mstflint_package -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_mstflint_package ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_prepare_nvidia_nic_config -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_prepare_nvidia_nic_config ... ok - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.009951591491699219 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: -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 - 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.009951591491699219 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: -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 - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.010863065719604492 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.010863065719604492 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: -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.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.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.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_partition_utils.TestGetPartition.test_command_fail -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_command_fail ... ok - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.012071847915649414 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.012071847915649414 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: -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] URL: http://example.org; time: 0.012837409973144531 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.012837409973144531 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: -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 - WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.013315677642822266 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: -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_netutils.TestNetutils.test_get_lldp_info_one_empty_interface -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_one_empty_interface ... ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete ... ok -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_rom -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_rom ... ok -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_sata -ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_sata ... ok + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/flow.py", line 44, in start_flow + raise errors.CommandExecutionError( + "%s was failed" % method + ) +ironic_python_agent.errors.CommandExecutionError: Command execution failed: fake.sleep was failed +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuidironic-python-agent: Device sdh was disqualified as virtual media. Type: other, Transport: scsi + ... ok ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_scsi ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_scsi ... ok -ironic_python_agent.tests.unit.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 + WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. + ERROR [root] Clean version mismatch for command execute_clean_step +ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_version_mismatch +ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_version_mismatch ... ok +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__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.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_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_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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_without_operators +ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_without_operators ... ok +ironic_python_agent.tests.unit.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_utils.TestUtils.test_boot_mode_from_properties_dict +ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_dict ... ok ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_tuple_result ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_tuple_result ... ok -ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_unknown_extension -ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_unknown_extension ... 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_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.extensions.test_poll.TestPollExtension.test_get_hardware_info_success -ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_get_hardware_info_success ... ok - WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/md/esp using the install command which does not place Secure Boot signed binaries. -ironic_python_agent.tests.unit.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 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: 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 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.image] Ignoring GRUB2 boot loader installation failure: Unexpected error while running command. -Command: grub2-install -Exit code: 1 -Stdout: '' -Stderr: 'grub2-install: error: this utility cannot be used for EFI platforms because it does not support UEFI Secure Boot.\n'. -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_fw_version -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_fw_version ... ok -ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_correct -ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_correct ... 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_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.test_inject_files.TestInjectOne.test_delete_not_exists -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete_not_exists ... ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content ... ok -ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_correct_gpt_nvme -ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_correct_gpt_nvme ... ok - WARNING [root] Unable to tell the kernel to drop caches: - WARNING [root] Cannot flush buffers of device /dev/sda: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - WARNING [root] Cannot flush buffers of device /dev/nvme0n1: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_no_mlnx -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_no_mlnx ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_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_netutils.TestNetutils.test_get_lldp_info_socket_recv_error -ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_socket_recv_error ... ok +ironic_python_agent.tests.unit.test_utils.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: 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_with_entry_removal_lenovo +ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_with_entry_removal_lenovo ... ok ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels ... ok -ironic_python_agent.tests.unit.test_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_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_api.TestIronicAPI.test_execute_agent_command_params_validation -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_params_validation ... ok -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_no_wait -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_no_wait ... ok -ironic_python_agent.tests.unit.test_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_inject_files.TestValidateFiles.test_no_directories +ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_no_directories ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image ERROR [root] Clean version mismatch for command execute_deploy_step + ... 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.extensions.test_clean.TestCleanExtension.test_execute_clean_step_with_args ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_with_args ... ok -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_label -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_label ... ok - WARNING [ironic_python_agent.dmi_inspector] Failed to process memory dmi data: 'Handle' -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 - ERROR [root] Flushing file system buffers failed: Unexpected error while running command. +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 + 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.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 ERROR [root] Command failed: install_bootloader, error: +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/image.py", line 721, in install_bootloader + _install_grub2(device, + ~~~~~~~~~~~~~~^^^^^^^^ + root_uuid=root_uuid, + ^^^^^^^^^^^^^^^^^^^^ + efi_system_part_uuid=efi_system_part_uuid, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + prep_boot_part_uuid=prep_boot_part_uuid, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + target_boot_mode=target_boot_mode) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/image.py", line 167, in _install_grub2 + root_partition = partition_utils.get_partition(device, uuid=root_uuid) + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/partition_utils.py", line 618, in get_partition + utils.rescan_device(device) + ~~~~~~~~~~~~~~~~~~~^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/utils.py", line 1114, in rescan_device + execute('partx', '-av', device, attempts=3, delay_on_retry=True) + ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 3, in do_not_call + File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ + return self._mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call + raise effect +FileNotFoundError + ... 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_failureironic-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.dmi_inspector] Failed to process memory dmi data: 'Number Of Devices' -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_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_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_burnin.TestBurnin.test__smart_test_status -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_found_csv -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_found_csv ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_get_boot_records -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_get_boot_records ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_no_partition -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_no_partition ... ok -ironic_python_agent.tests.unit.test_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_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 + ... 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 + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00029778480529785156 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.00029778480529785156 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0007905960083007812 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.0007905960083007812 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels_handles_exec_error ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels_handles_exec_error ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_unknown_file -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_unknown_file ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_unknown_file_md5 -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_unknown_file_md5 ... ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_modes -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_modes ... ok -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy ... ok -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card ... ok -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_execute_error -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_execute_error ... ok + ERROR [ironic_python_agent.disk_utils] Security: Detected image format was qcow3, but only raw, gpt, qcow2 are allowed + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.005565166473388672 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.005565166473388672 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0060138702392578125 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.0060138702392578125 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0063250064849853516 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.0063250064849853516 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_mismatch +ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_mismatch ... WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.006626605987548828 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.006626605987548828 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.006922721862792969 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.006922721862792969 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.007229328155517578 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config 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_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_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_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_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_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_burnin.TestBurnin.test__smart_test_status_missing -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status_missing ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_default -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_default ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_default -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_default ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_fio -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_fio ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_smart_test -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_smart_test ... ok -ironic_python_agent.tests.unit.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.TestGetPartition.test_partuuid -ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_partuuid ... 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_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_image.TestImageExtension.test__install_bootloader_bios -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_bios ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_no_root -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_no_root ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_data -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_data ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_no_heartbeat_timeout -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_no_heartbeat_timeout ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_node_locked -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_node_locked ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_transient_exceptions -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_transient_exceptions ... ok -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_to_find_extension -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_to_find_extension ... ok -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_success -ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_success ... ok -ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_finalize_rescue -ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_finalize_rescue ... ok -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support ... 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.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support_no_mlnx -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support_no_mlnx ... ok -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_generate_client_id -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_generate_client_id ... ok -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_clean_steps -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_clean_steps ... ok -ironic_python_agent.tests.unit.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_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.extensions.test_rescue.TestRescueExtension.test_finalize_rescue_write_failure -ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_finalize_rescue_write_failure ... ok -ironic_python_agent.tests.unit.test_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_disk_utils.ListPartitionsTestCase.test_incorrect -ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_incorrect ... ok -ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_incorrect_gpt -ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_incorrect_gpt ... ok -ironic_python_agent.tests.unit.test_utils.ParseDeviceTagsTestCase.test_empty -ironic_python_agent.tests.unit.test_utils.ParseDeviceTagsTestCase.test_empty ... ok -ironic_python_agent.tests.unit.test_utils.ParseDeviceTagsTestCase.test_parse -ironic_python_agent.tests.unit.test_utils.ParseDeviceTagsTestCase.test_parse ... ok -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy_mounted -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy_mounted ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_grub_failure_api_override -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_grub_failure_api_override ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure_api_override -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure_api_override ... ok -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_base64_string -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_base64_string ... ok -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_binary -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_binary ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_warning_on_mismatch -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_warning_on_mismatch ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_invalid_checksum -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_invalid_checksum ... ok -ironic_python_agent.tests.unit.test_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_clean.TestCleanExtension.test_get_clean_steps 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.007229328155517578 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + ... WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.007507801055908203 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.007507801055908203 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.007786989212036133 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_inject_files.TestValidateFiles.test_numeric_fields +ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_numeric_fields ... 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_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: Did not identify any virtual media candidates devices. +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_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels_not_found ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels_not_found ... ok -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_device -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_device ... ok -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params ... ok -ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_fail_format_error -ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_fail_format_error ... ok -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_preserve_ephemeral -ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_preserve_ephemeral ... ok -ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_find_devices_all -ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_find_devices_all ... ok -ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_find_devices_name -ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_find_devices_name ... ok -ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_find_devices_none -ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_find_devices_none ... ok -ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_empty_device_attribute -ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_empty_device_attribute ... ok -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step ... ok -ironic_python_agent.tests.unit.test_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.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_apply_net_firmware_update -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_apply_net_firmware_update ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images_duplicate_component_flavor_exception -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images_duplicate_component_flavor_exception ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_validate_images_schema -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_validate_images_schema ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_validate_images_schema_invalid_parameter -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_validate_images_schema_invalid_parameter ... ok -ironic_python_agent.tests.unit.test_disk_utils.PopulateImageTestCase.test_populate_raw_image -ironic_python_agent.tests.unit.test_disk_utils.PopulateImageTestCase.test_populate_raw_image ... ok -ironic_python_agent.tests.unit.test_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_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.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_no_i40e_driver -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_no_i40e_driver ... ok -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_in_cna_card -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_in_cna_card ... ok -ironic_python_agent.tests.unit.test_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 - ERROR [ironic_python_agent.utils] boom -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.TestConfigDriveTestRecovery.test__does_config_drive_failed -ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_failed ... ok -ironic_python_agent.tests.unit.test_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_utils.TestCopyConfigFromVmedia.test_mounted_no_files -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_mounted_no_files ... ok -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_files -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_files ... ok -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_vmedia -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_vmedia ... ok -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_vmedia_found_not_booted_from_vmedia -ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_vmedia_found_not_booted_from_vmedia ... ok -ironic_python_agent.tests.unit.test_utils.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_disk_utils.GetAndValidateImageFormat.test_format_mismatch_but_disabled +ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_mismatch_but_disabled ... ok ironic_python_agent.tests.unit.test_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_inspector.TestCollectLogs.test +ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test ... 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.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.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 + ERROR [ironic_python_agent.disk_utils] Security: Detected image format was qcow3, but only raw, gpt, qcow2 are allowed + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0001842975616455078 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.0001842975616455078 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.inspector] failed to get system journal +ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_type_disallowed +ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_type_disallowed ... ok +ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test_fail +ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test_fail ... ok + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.007158756256103516 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.007158756256103516 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.007607221603393555 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.007607221603393555 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.007931709289550781 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.007931709289550781 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.008244991302490234 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.008244991302490234 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.008587837219238281 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.008587837219238281 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0088958740234375 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.0088958740234375 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.009212732315063477 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_root_without_on +ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_root_without_on WARNING [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.009212732315063477 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.009509801864624023 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.009509801864624023 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + ... WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.009793519973754883 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_image_info_credential +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_image_info_credential ... ok +ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_unknown_happy +ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_unknown_happy ... ok ironic_python_agent.tests.unit.test_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_disk_utils.ImageInspectionTest.test_image_inspection_fail_safety_check -ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_fail_safety_check ... ok -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_iscsi_device -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_iscsi_device ... ok -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_local_device -ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_local_device ... ok -ironic_python_agent.tests.unit.extensions.test_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.TestCheckPrereq.test_check_prereq -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestCheckPrereq.test_check_prereq ... ok -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestCheckPrereq.test_check_prereq_exception -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestCheckPrereq.test_check_prereq_exception ... ok -ironic_python_agent.tests.unit.test_hardware.TestVersions.test_check_versions -ironic_python_agent.tests.unit.test_hardware.TestVersions.test_check_versions ... ok -ironic_python_agent.tests.unit.test_hardware.TestVersions.test_get_current_versions -ironic_python_agent.tests.unit.test_hardware.TestVersions.test_get_current_versions ... ok -ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_pass -ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_pass ... ok -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_with_token_invalid -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_with_token_invalid ... ok -ironic_python_agent.tests.unit.extensions.test_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.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_inspector.TestCollectPciDevicesInfo.test_success -ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success ... 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_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints -ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints ... ok -ironic_python_agent.tests.unit.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_flow.TestFlowExtension.test_validate_exts_failed_empty_command_map +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_empty_command_map ... ok +ironic_python_agent.tests.unit.test_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_utils.GetAgentParamsTestCase.test__get_vmedia_device +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_device ... 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.hardware_managers.nvidia.test_nvidia_fw_update.TestUpdateNvidiaNicFirmwareImage.test_update_nvidia_nic_firmware_image_exception -ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestUpdateNvidiaNicFirmwareImage.test_update_nvidia_nic_firmware_image_exception ... ok -ironic_python_agent.tests.unit.test_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_disk_utils.GetAndValidateImageFormat.test_happy_qcow2 +ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_happy_qcow2 ... ok + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0002155303955078125 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.0002155303955078125 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0006814002990722656 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.0006814002990722656 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0009987354278564453 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.0009987354278564453 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +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 + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.006962776184082031 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.006962776184082031 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00737452507019043 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.00737452507019043 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.007670879364013672 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.007670879364013672 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.007979869842529297 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.007979869842529297 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.008291006088256836 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.008291006088256836 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.008588552474975586 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.008588552474975586 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00886845588684082 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +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_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_disk_utils.GetAndValidateImageFormat.test_happy_raw +ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_happy_raw ... ok +ironic_python_agent.tests.unit.test_partition_utils.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.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 [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version + response = self._request('GET', '/') + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/ironic_api_client.py", line 90, in _request + resp = self.session.request(method, + request_url, + ...<4 lines>... + timeout=CONF.http_request_timeout, + **kwargs) + File "", line 3, in request + File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ + return self._mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call + raise effect +Exception: Boom ironic_python_agent.tests.unit.test_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.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential ... ok +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_skip_invalid +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_skip_invalid ... 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_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_error +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_error ... ok + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.006914615631103516 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.006914615631103516 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.010786056518554688 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.010786056518554688 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.011214017868041992 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.011214017868041992 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.011525869369506836 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.011525869369506836 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.011813879013061523 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.011813879013061523 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.012093782424926758 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.012093782424926758 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.012371063232421875 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.012371063232421875 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.012664079666137695 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.012664079666137695 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.012950420379638672 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.012950420379638672 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.013233661651611328 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_indexerror +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_indexerror ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential_second +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential_second ... ok ironic_python_agent.tests.unit.test_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_disk_utils.GetAndValidateImageFormat.test_safety_check_fail_but_disabled +ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_safety_check_fail_but_disabled ... ok +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_to_find_extension +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_to_find_extension ... ok +ironic_python_agent.tests.unit.test_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_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_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__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_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_mdns.GetEndpointTestCase.test_v6 +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_v6 ... ok +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_success +ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_success ... ok +ironic_python_agent.tests.unit.test_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 + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0014662742614746094 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.0014662742614746094 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.006767749786376953 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.006767749786376953 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv4 +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv4 ... ok + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.007359981536865234 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.007359981536865234 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.007801532745361328 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.007801532745361328 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_conf_drive_sz_exceed +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_conf_drive_sz_exceed ... ok ironic_python_agent.tests.unit.test_utils.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_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures ... ok +/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_tls_utils.py:57: CryptographyDeprecationWarning: Properties that return a naïve datetime object have been deprecated. Please switch to not_valid_before_utc. + self.assertLess(cert.not_valid_before, +/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_tls_utils.py:59: CryptographyDeprecationWarning: Properties that return a naïve datetime object have been deprecated. Please switch to not_valid_after_utc. + self.assertGreater(cert.not_valid_after, +ironic_python_agent.tests.unit.test_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 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.012994527816772461 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: + ... ok + WARNING [ironic_python_agent.extensions.standby] Image download failed, 4 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.012994527816772461 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.01705789566040039 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.01705789566040039 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: +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_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.extensions.standby] URL: http://example.org; time: 0.019486427307128906 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.019486427307128906 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.02004861831665039 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.02004861831665039 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: +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 + WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.02681112289428711 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.02681112289428711 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.02745199203491211 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: Response headers: + WARNING [ironic_python_agent.ironic_api_client] Got invalid node data in response to query for node with addresses '00:0c:29:8c:11:b1,00:0c:29:8c:11:b2' from http://agent-api.ironic.example.org: {'node_node': 'also_not_node'} +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_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.TestExecuteBootCInstall.test_execute_bootc_install +ironic_python_agent.tests.unit.test_hardware.TestExecuteBootCInstall.test_execute_bootc_install ... 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_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_body +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_body ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures_raid5 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures_raid5 ... ok +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_cannot_find_dev +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_cannot_find_dev ... ok ironic_python_agent.tests.unit.test_utils.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.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info ... ok -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_ib_interface -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_ib_interface ... ok -ironic_python_agent.tests.unit.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_rescue.TestRescueExtension.test_hashed_passwords -ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_hashed_passwords ... ok -ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test__heartbeat_expected -ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test__heartbeat_expected ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_no_space_error_fatal -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_no_space_error_fatal ... ok -ironic_python_agent.tests.unit.test_utils.TestFailures.test_get_error -ironic_python_agent.tests.unit.test_utils.TestFailures.test_get_error ... ok -ironic_python_agent.tests.unit.test_utils.TestFailures.test_raise -ironic_python_agent.tests.unit.test_utils.TestFailures.test_raise ... ok - WARNING [ironic_python_agent.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. +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.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_tls_utils.GenerateTestCase.test_generate +ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test_generate ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_code +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_code ... ok +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_exists +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_exists ... 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: 'boom' -Stderr: None - WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. +Stdout: None +Stderr: 'fake' +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures_raid6 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures_raid6 ... ok +ironic_python_agent.tests.unit.test_utils.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.GetAgentParamsTestCase.test__read_params_from_file +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file ... 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} + 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: 'boom' -Stderr: None -ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_work -ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_work ... ok -ironic_python_agent.tests.unit.test_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_numa_inspector.TestCollectNumaTopologyInfo.test_collect_failure -ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_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_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 - 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' +Stdout: None +Stderr: 'fake' +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.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_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_no_fuser +ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_no_fuser ... ok ironic_python_agent.tests.unit.test_utils.TestUtils.test_device_extractor ironic_python_agent.tests.unit.test_utils.TestUtils.test_device_extractor ... ok + ERROR [ironic_python_agent.utils] foo + ERROR [ironic_python_agent.utils] bar + ERROR [ironic_python_agent.utils] baz +ironic_python_agent.tests.unit.test_hardware.TestListHardwareInfo.test_caching +ironic_python_agent.tests.unit.test_hardware.TestListHardwareInfo.test_caching ... 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 + ERROR [ironic_python_agent.utils] foo +ironic_python_agent.tests.unit.test_utils.TestFailures.test_get_error +ironic_python_agent.tests.unit.test_utils.TestFailures.test_get_error ... ok +ironic_python_agent.tests.unit.test_utils.TestFailures.test_raise +ironic_python_agent.tests.unit.test_utils.TestFailures.test_raise ... ok ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_dict ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_dict ... 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.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 - 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_qemu_img.ConvertImageTestCase.test_convert_image -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image ... ok -ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints2 -ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints2 ... ok + WARNING [ironic_python_agent.ironic_api_client] Got invalid heartbeat from the API: {'node': {'uuid': 'deadbeef-dabb-ad00-b105-f00d00bab10c'}} +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_no_heartbeat_timeout +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_no_heartbeat_timeout ... ok ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_json_string ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_json_string ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_errors_no_bootc -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_errors_no_bootc ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_luks -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_luks ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_no_selinux_keys_auth -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_no_selinux_keys_auth ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_podman_errors -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__download_container_and_bootc_install_podman_errors ... ok -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__write_authorized_keys -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__write_authorized_keys ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__write_container_auth -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__write_container_auth ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__write_no_pivot_root -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__write_no_pivot_root ... ok -ironic_python_agent.tests.unit.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 - ERROR [ironic_python_agent.extensions.standby] Image failed to verify against checksum. location: /tmp/tmp_o9gtt20/fake_id; image ID: fake_id; image checksum: fake-checksum; verification checksum: invalid-checksum -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.test_encoding.TestSerializableComparable.test_childclass_equal -ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_equal ... ok -ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_hash -ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_hash ... ok -ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_notequal -ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_notequal ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders -ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders ... ok -ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive -ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive ... ok -ironic_python_agent.tests.unit.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.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_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_qemu_img.ConvertImageTestCase.test_convert_image_disabled -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_disabled ... ok -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_flags -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_flags ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2 -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2 ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_command_fail -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_command_fail ... ok -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_chronyd -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_chronyd ... ok -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_none -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_none ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_unknown_exception_fallback -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_unknown_exception_fallback ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_with_uuid -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_with_uuid ... ok -ironic_python_agent.tests.unit.test_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_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_get_agent_url_ipv4 -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_ipv4 ... ok -ironic_python_agent.tests.unit.test_disk_utils.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.extensions.test_standby.TestImageDownload.test_download_image_retries_success -ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries_success ... ok -ironic_python_agent.tests.unit.test_inject_files.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_inject_files.TestInjectOne.test_plain_content_with_owner -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_owner ... ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_owner_and_group -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_owner_and_group ... ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url ... ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url_formatting -ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url_formatting ... ok -ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints3 -ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints3 ... ok -ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_no_device_found -ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_no_device_found ... ok -ironic_python_agent.tests.unit.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.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mac_address -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mac_address ... ok -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mlnx_interface -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mlnx_interface ... ok -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_infiniband_address_to_mac -ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_infiniband_address_to_mac ... ok -ironic_python_agent.tests.unit.test_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.extensions.test_service.TestServiceExtension.test_execute_service_step_fail -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_fail ... ok -ironic_python_agent.tests.unit.test_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_qemu_img.ConvertImageTestCase.test_convert_image_flags_disabled -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_flags_disabled ... ok - WARNING [ironic_python_agent.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_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_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive_graceful_fail -ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive_graceful_fail ... ok -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_locks_out_with_token -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_locks_out_with_token ... ok - 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_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.TestCollectPciDevicesInfo.test_success_numa_ioerror -ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success_numa_ioerror ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders_no_csv -ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders_no_csv ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_windows_efi_bootloaders -ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_windows_efi_bootloaders ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__no_efi_bootloaders -ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__no_efi_bootloaders ... ok -ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_benchmarks -ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_benchmarks ... 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_inspector.TestCollectExtraHardware.test_execute_failed -ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_execute_failed ... 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_utils.GetAgentParamsTestCase.test__read_params_from_file_fail +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file_fail ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_efi +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_efi ... 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 + 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.extensions.test_standby.TestStandbyExtension.test_download_image_basic_auth_image_info_success +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_basic_auth_image_info_success ... ok ironic_python_agent.tests.unit.test_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_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_agent.TestBaseAgent.test_get_status +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_status ... 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_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_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.TestUtils.test_get_command_output ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_command_output ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_conductor_auth +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_conductor_auth ... ok +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_utils.GetAgentParamsTestCase.test_get_agent_params_kernel_cmdline +ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_kernel_cmdline ... ok ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output ... ok -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_just_fails -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_just_fails ... ok -ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_no_benchmarks -ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_no_benchmarks ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image ... ok -ironic_python_agent.tests.unit.test_disk_utils.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_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_api.TestIronicAPI.test_get_command_result -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_result ... 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_inspector.TestCollectExtraHardware.test_parsing_failed -ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_parsing_failed ... ok -ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_no_operators -ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_no_operators ... ok -ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_wrong_path -ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_wrong_path ... 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_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_qemu_img.ConvertImageTestCase.test_convert_image_just_fails_disabled -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_just_fails_disabled ... ok +ironic_python_agent.tests.unit.test_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.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_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_inspector.TestInspect.test_collector_failed -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collector_failed ... ok -ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_cache_hardware_info -ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_cache_hardware_info ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_success -ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_success ... ok -ironic_python_agent.tests.unit.test_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_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_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_one_hint -ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_one_hint ... ok -ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_encoder -ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_encoder ... 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_utils.GetAgentParamsTestCase.test__get_vmedia_params_by_device -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_by_device ... ok -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_by_device_device_invalid -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_by_device_device_invalid ... ok -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_cannot_find_dev -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_cannot_find_dev ... ok -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file ... ok -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file_fail -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file_fail ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_agent_version_unsupported -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_agent_version_unsupported ... ok -ironic_python_agent.tests.unit.test_utils.BareMetalUtilsTestCase.test_unlink -ironic_python_agent.tests.unit.test_utils.BareMetalUtilsTestCase.test_unlink ... ok -ironic_python_agent.tests.unit.test_agent.TestBaseAgentVMediaToken.test_run_agent_token_vmedia -ironic_python_agent.tests.unit.test_agent.TestBaseAgentVMediaToken.test_run_agent_token_vmedia ... ok -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_with_token -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_with_token ... ok -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_none -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_none ... ok -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_from_cache -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_from_cache ... ok -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_kernel_cmdline -ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_kernel_cmdline ... ok -ironic_python_agent.tests.unit.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_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_inspector.TestCollectDefault.test_ok -ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_ok ... 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_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_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_qemu_img.ConvertImageTestCase.test_convert_image_retries -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries ... ok -ironic_python_agent.tests.unit.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_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_rotational -ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_rotational ... ok -ironic_python_agent.tests.unit.test_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_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_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.TestUtils.test_get_journalctl_output_with_lines ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_with_lines ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_transient_exceptions +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_transient_exceptions ... 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.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.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_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_rotational_convert_devices_bool -ironic_python_agent.tests.unit.test_device_hints.MatchRootDeviceTestCase.test_match_root_device_hints_rotational_convert_devices_bool ... ok -ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_numeric_fields -ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_numeric_fields ... ok - ERROR [ironic_python_agent.extensions.image] Installing GRUB2 boot loader to device /dev/fake failed with Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'error' -Stderr: None. -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error ... ok -ironic_python_agent.tests.unit.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_api.TestIronicAPI.test_get_command_with_token_invalid -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_with_token_invalid ... ok -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp -ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp ... 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_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.extensions.test_service.TestServiceExtension.test_execute_service_step_tuple_result -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_tuple_result ... ok - WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boom' -Stderr: None -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_insecure -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_insecure ... ok - WARNING [ironic_python_agent.agent] No route to host fc00:1111::1, route record: Error: some error text -ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test_heartbeat -ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test_heartbeat ... ok - WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boom' -Stderr: None -ironic_python_agent.tests.unit.test_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.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential ... ok -ironic_python_agent.tests.unit.test_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_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.WaitForDisk.test_wait_for_disk_to_become_available_no_fuser -ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_no_fuser ... ok -ironic_python_agent.tests.unit.test_utils.BareMetalUtilsTestCase.test_unlink_ENOENT -ironic_python_agent.tests.unit.test_utils.BareMetalUtilsTestCase.test_unlink_ENOENT ... ok -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error_disabled -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error_disabled ... ok -ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_command_not_found -ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_command_not_found ... ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_empty -ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_empty ... 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_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_agent.TestFromConfig.test_override_urls -ironic_python_agent.tests.unit.test_agent.TestFromConfig.test_override_urls ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_broken -ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_broken ... ok -ironic_python_agent.tests.unit.test_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_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_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.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_utils.ExecuteTestCase.test_execute_not_use_standard_locale -ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale ... ok -ironic_python_agent.tests.unit.test_utils.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.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_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails ... ok -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collectors_option -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collectors_option ... 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_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_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.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_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_ok -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_ok ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential_second -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential_second ... ok -ironic_python_agent.tests.unit.test_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_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables -ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables ... ok -ironic_python_agent.tests.unit.test_utils.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_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_inject_files.TestInjectFiles.test_invalid_type_on_node -ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_invalid_type_on_node ... ok -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_commands_with_token -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_commands_with_token ... ok -ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables -ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables ... ok -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails_disabled -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails_disabled ... ok -ironic_python_agent.tests.unit.test_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_device_hints.ParseRootDeviceTestCase.test__append_operator_to_hints -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test__append_operator_to_hints ... ok -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_empty_value -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_empty_value ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_gzip_and_b64encode -ironic_python_agent.tests.unit.test_utils.TestUtils.test_gzip_and_b64encode ... ok -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_with_collect_lldp_enabled -ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_with_collect_lldp_enabled ... ok -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_async_command_failure -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_async_command_failure ... ok -ironic_python_agent.tests.unit.test_partition_utils.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_inject_files.TestInjectFiles.test_ok -ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_ok ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_exception -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_exception ... ok -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_disabled -ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_disabled ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_status -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_status ... ok -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_version_mismatch -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_version_mismatch ... ok -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_bios -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_bios ... ok -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_cpu -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_cpu ... ok -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_memory -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_memory ... ok -ironic_python_agent.tests.unit.test_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_api.TestIronicAPI.test_list_commands_with_token_invalid -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_commands_with_token_invalid ... ok -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_integer -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_integer ... ok -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_multiple_values -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_multiple_values ... ok -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data ... ok -ironic_python_agent.tests.unit.extensions.test_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_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.TestStreamingClient.test_ok -ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_ok ... ok -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_get_service_steps -ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_get_service_steps ... ok -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_ssl -ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_ssl ... ok -ironic_python_agent.tests.unit.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_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_async_command_success -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_async_command_success ... ok -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid ... ok -ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_with_log_stdout_default -ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_with_log_stdout_default ... ok -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data_error_handle -ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data_error_handle ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_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.extensions.test_standby.TestStandbyExtension.test_download_image_basic_auth_image_info_success -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_basic_auth_image_info_success ... ok -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_root -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_root ... ok -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_wholedisk -ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_wholedisk ... ok -ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_save_api_client -ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_save_api_client ... 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_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_multiple_values_space -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_multiple_values_space ... ok -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_no_operator -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_no_operator ... ok -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_single_value -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_single_value ... ok -ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_with_log_stdout_false -ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_with_log_stdout_false ... ok -ironic_python_agent.tests.unit.extensions.test_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_agent.TestAdvertiseAddress.test_advertise_address_provided -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_advertise_address_provided ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_conductor_auth -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_conductor_auth ... ok -ironic_python_agent.tests.unit.test_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_api.TestIronicAPI.test_v1_root -ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_v1_root ... ok -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_empty_value -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_empty_value ... ok -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_in -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_in ... ok -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_no_op_no_space -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_no_op_no_space ... ok -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_no_op_space -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_no_op_space ... ok -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_op_no_space -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_op_no_space ... ok -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_op_space -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_op_space ... ok -ironic_python_agent.tests.unit.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_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_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.TestWaitForDhcp.test_all -ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_all ... ok -ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_boot_only -ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_boot_only ... ok -ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_disabled -ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_disabled ... ok -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_or -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_normalize_hint_expression_or ... ok -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_failed -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_failed ... ok -ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_with_log_stdout_true -ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute_with_log_stdout_true ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_proxy -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_proxy ... ok -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_indexerror -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_indexerror ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_verify_fails -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_verify_fails ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_image_info_user_pass_none -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_image_info_user_pass_none ... ok -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_retry -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_retry ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_image_info_user_pass_success -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_image_info_user_pass_success ... ok -ironic_python_agent.tests.unit.test_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_inject_files.TestFindAndMountPath.test_with_on_as_number_nvme -ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_number_nvme ... ok -ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_path -ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_path ... ok -ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on -ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on ... ok -ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on_wrong_path -ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on_wrong_path ... ok -ironic_python_agent.tests.unit.test_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.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_oslo_conf_user_pass_none -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_oslo_conf_user_pass_none ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_oslo_conf_user_pass_success -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_oslo_conf_user_pass_success ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_get_partition_uuids -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_get_partition_uuids ... ok -ironic_python_agent.tests.unit.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_agent.TestAdvertiseAddress.test_route_several_urls_and_retries -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_several_urls_and_retries ... ok -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_host -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_host ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_image_location -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_image_location ... ok -ironic_python_agent.tests.unit.test_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_agent.TestBaseAgent.test_get_route_source_ipv6 -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv6 ... ok -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv6_linklocal -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv6_linklocal ... ok -ironic_python_agent.tests.unit.test_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.extensions.test_standby.TestStandbyExtension.test_load_auth_header_from_image_info -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_load_auth_header_from_image_info ... ok -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_host_v6 -ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_host_v6 ... ok -ironic_python_agent.tests.unit.test_hardware.TestFullSync.test_full_sync -ironic_python_agent.tests.unit.test_hardware.TestFullSync.test_full_sync ... ok -ironic_python_agent.tests.unit.test_hardware.TestFullSync.test_optional_calls_fail -ironic_python_agent.tests.unit.test_hardware.TestFullSync.test_optional_calls_fail ... ok -ironic_python_agent.tests.unit.test_hardware.TestFullSync.test_sync_fails -ironic_python_agent.tests.unit.test_hardware.TestFullSync.test_sync_fails ... ok -ironic_python_agent.tests.unit.test_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 - WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_convert_rotational -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_convert_rotational ... ok -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_convert_size -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_convert_size ... ok - 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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_int_or -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_int_or ... ok -ironic_python_agent.tests.unit.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.extensions.test_image.TestImageExtension.test__install_grub2_uefi_mount_fails -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_mount_fails ... ok - WARNING [root] 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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_int_or_invalid -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_int_or_invalid ... ok -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_by_path -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_by_path ... ok - WARNING [ironic_python_agent.extensions.image] Falling back to fstab entry addition label of UUID. We could not identify which UUID or PARTUUID identifier label should be used, thus UUID will be used. -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_load_auth_header_from_image_info_none -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_load_auth_header_from_image_info_none ... ok -ironic_python_agent.tests.unit.test_utils.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_inspector.TestInspect.test_disabled -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_disabled ... ok -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_extensions_failed -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_extensions_failed ... ok -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_inspector_error -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_inspector_error ... ok -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_hctl -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_hctl ... ok -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_model -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_model ... ok -ironic_python_agent.tests.unit.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_inspector.TestInspect.test_mdns -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_mdns ... ok -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_status -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_status ... ok -ironic_python_agent.tests.unit.test_partition_utils.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_inspector.TestInspect.test_ok -ironic_python_agent.tests.unit.test_inspector.TestInspect.test_ok ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_several_urls -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_several_urls ... ok - ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - WARNING [ironic_python_agent.extensions.standby] poweroff command failed with error Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None, falling back to sysrq-trigger -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 [root] Command failed: power_off, error: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None. -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1086, in _run_shutdown_command - utils.execute("echo o > /proc/sysrq-trigger", shell=True) - ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "", line 3, in do_not_call - File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ - return self._mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call - raise effect -oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1102, in power_off - self._run_shutdown_command('poweroff') - ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1090, in _run_shutdown_command - raise errors.SystemRebootError(e.exit_code, e.stdout, e.stderr) -ironic_python_agent.errors.SystemRebootError: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None. -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_node_retries -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_node_retries ... ok -ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_with_instance_disk_label -ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_with_instance_disk_label ... ok -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_name -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_name ... ok -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_rotational -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_rotational ... ok -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_serial -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_serial ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_timeout -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_timeout ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_ip6 -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_ip6 ... ok -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_token -ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_token ... ok -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_size -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_size ... ok -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_vendor -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_vendor ... ok -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn ... ok -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn_vendor_extension -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn_vendor_extension ... 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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn_with_extension -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn_with_extension ... ok -ironic_python_agent.tests.unit.test_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_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_no_hints -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_no_hints ... ok -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_non_existent_hint -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_non_existent_hint ... ok -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_string_compare_operator_name -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_string_compare_operator_name ... ok -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_string_or_space -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_string_or_space ... ok -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_with_operators -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_with_operators ... ok -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_without_operators -ironic_python_agent.tests.unit.test_device_hints.ParseRootDeviceTestCase.test_parse_root_device_hints_without_operators ... ok -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_both_succeed -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_both_succeed ... ok -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_both_succeed -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_both_succeed ... ok -ironic_python_agent.tests.unit.test_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_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.extensions.test_standby.TestStandbyExtension.test_power_off -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_power_off ... ok - ERROR [ironic_python_agent.utils] Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - ERROR [root] Command failed: power_off, error: Error syncing system clock: Failed to sync hardware clock: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/utils.py", line 1018, in sync_clock - execute('ntpdate', CONF.ntp_server) - ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "", line 3, in do_not_call - File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ - return self._mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call - raise effect -oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1135, in _sync_clock - utils.sync_clock(ignore_errors=ignore_errors) - ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/utils.py", line 1025, in sync_clock - raise errors.CommandExecutionError(msg) -ironic_python_agent.errors.CommandExecutionError: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1102, in power_off - self._run_shutdown_command('poweroff') - ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1061, in _run_shutdown_command - self._sync_clock(ignore_errors=True) - ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1145, in _sync_clock - raise errors.ClockSyncError(msg) -ironic_python_agent.errors.ClockSyncError: Error syncing system clock: Failed to sync hardware clock: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None -ironic_python_agent.tests.unit.test_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_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.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 -POST: /v1/commands {'name': 'do_things', 'params': []} -GOT: -POST: /v1/commands {'name': 'do_things', 'params': {'key': 'value'}} -GOT: -POST: /v1/commands?wait=false {'name': 'do_things', 'params': {'key': 'value'}} -GOT: -POST: /v1/commands?wait=true {'name': 'do_things', 'params': {'key': 'value'}} -GOT: -POST: /v1/commands {} -GOT: -POST: /v1/commands?wait=false?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 {'name': 'do_things', 'params': {'key': 'value', 'wait': False, 'agent_token': '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789'}} -GOT: -POST: /v1/commands?wait=false?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 {'name': 'do_things', 'params': {'key': 'value', 'wait': False, 'agent_token': '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789'}} -GOT: -GET: /v1/status None -GOT: -GET: /v1/commands/abc123 None -GOT: -GET: /v1/commands/abc123?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 None -GOT: -GET: /v1/commands/abc123 None -GOT: -GET: /v1/commands/abc123 None -GOT: -GET: /v1/commands/abc123?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 None -GOT: -GET: /v1/commands/abc123?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 None -GOT: -GET: /v1/commands None -GOT: -GET: /v1/commands?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 None -GOT: -GET: /v1/commands?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 None -GOT: -GET: /v1/foo None -GOT: -GET: / None -GOT: -GET: /v1 None -GOT: - WARNING [root] Can't find field vendor for device lo in device class net -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_hardware.TestGenericHardwareManager.test_create_configuration_invalid_hints +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_invalid_hints ... ok + ERROR [ironic_python_agent.extensions.standby] Image failed to verify against checksum. location: /tmp/tmpf993jcct/fake_id; image ID: fake_id; image checksum: fake-checksum; verification checksum: invalid-checksum +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_num_parts_exceed +ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_num_parts_exceed ... ok ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve @@ -4778,7 +4975,7 @@ ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e -urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) +urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: @@ -4796,7 +4993,7 @@ File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) +urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: @@ -4815,150 +5012,36 @@ r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) -requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) -ironic_python_agent.tests.unit.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 +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.TestAPIClientSaveAndUse.test_update_node_cache -ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_update_node_cache ... 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_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_disk_utils.OtherFunctionTestCase.test_block_uuid -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_block_uuid ... ok -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_block_uuid_fallback_to_uuid -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_block_uuid_fallback_to_uuid ... ok -ironic_python_agent.tests.unit.test_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_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout ... ok -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_configured -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_configured ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestFindESPRAID.test_no_esp_raid -ironic_python_agent.tests.unit.test_raid_utils.TestFindESPRAID.test_no_esp_raid ... ok -ironic_python_agent.tests.unit.test_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_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_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions ... ok -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_no_logical_partitions -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_no_logical_partitions ... ok -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_wrong_partition_table -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_wrong_partition_table ... ok -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_disk_utils.OtherFunctionTestCase.test_is_block_device_raises -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_raises ... ok -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_works -ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_works ... ok -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_unconfigured -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_unconfigured ... ok -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces ... ok -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_no_carrier -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_no_carrier ... ok -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_no_wait_for_disks -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_no_wait_for_disks ... ok -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks ... ok -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_configured -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_configured ... ok -ironic_python_agent.tests.unit.test_hardware.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_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_bond -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_bond ... ok -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp ... ok -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp_error -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp_error ... ok -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_pci_address -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_pci_address ... ok -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_vendor_info -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_vendor_info ... ok -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces ... ok -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces_using_lldp -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces_using_lldp ... ok -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces_using_lldp_all -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces_using_lldp_all ... ok -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_invalid_int -ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_invalid_int ... ok -ironic_python_agent.tests.unit.test_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 - ERROR [root] Command failed: prepare_image, error: Don't call utils.execute() / processutils.execute() or similar functions in tests! -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1025, in prepare_image - _validate_partitioning(device) - ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 839, in _validate_partitioning - disk_utils.partprobe(device) - ~~~~~~~~~~~~~~~~~~~~^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/disk_utils.py", line 667, in partprobe - utils.execute('partprobe', device, attempts=attempts) - ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/base.py", line 88, in do_not_call - raise Exception( - "Don't call utils.execute() / " - "processutils.execute() or similar functions in tests!") -Exception: Don't call utils.execute() / processutils.execute() or similar functions in tests! - WARNING [root] Can't find field vendor for device lo in device class net -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_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_memory_unit -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_memory_unit ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_ssl_client_options +ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_ssl_client_options ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_verify_fails +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_verify_fails ... ok ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image ... ok -ironic_python_agent.tests.unit.test_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_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_nonconfigured -ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_nonconfigured ... ok -ironic_python_agent.tests.unit.test_hardware.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_utils.MountedTestCase.test_failed_to_mount -ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_failed_to_mount ... ok -ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_failed_to_unmount -ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_failed_to_unmount ... ok -ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_temporary -ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_temporary ... ok -ironic_python_agent.tests.unit.test_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_utils.MountedTestCase.test_with_dest -ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_with_dest ... ok -ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_with_opts -ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_with_opts ... ok -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_numa_format_memory_info -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_numa_format_memory_info ... ok -ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_with_type -ironic_python_agent.tests.unit.test_utils.MountedTestCase.test_with_type ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_bad_partition -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_bad_partition ... ok -ironic_python_agent.tests.unit.test_agent.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_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 - 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_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_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_threaddir_format_cores_info -ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_threaddir_format_cores_info ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader_grubcfg_fails -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader_grubcfg_fails ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_configdrive -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_configdrive ... ok + WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_custom_port_and_path +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_custom_port_and_path ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_disks_too_small +ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_disks_too_small ... ok + 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.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_image_info_user_pass_none +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_image_info_user_pass_none ... ok +ironic_python_agent.tests.unit.test_utils.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.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_image_info_user_pass_success +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_image_info_user_pass_success ... ok ERROR [root] 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: - @@ -4966,6 +5049,32 @@ 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_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_unknown_exception +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_unknown_exception ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_secondary_sort +ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_secondary_sort ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_oslo_conf_user_pass_none +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_oslo_conf_user_pass_none ... ok +ironic_python_agent.tests.unit.test_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.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_oslo_conf_user_pass_success +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_oslo_conf_user_pass_success ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_get_partition_uuids +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_get_partition_uuids ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_gzip_and_b64encode +ironic_python_agent.tests.unit.test_utils.TestUtils.test_gzip_and_b64encode ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_unknown_exception_fallback +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_unknown_exception_fallback ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_image_location +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_image_location ... 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_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.extensions.test_standby.TestStandbyExtension.test_load_auth_header_from_image_info +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_load_auth_header_from_image_info ... ok +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 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 @@ -5037,7 +5146,7 @@ ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e -urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) +urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: @@ -5055,7 +5164,7 @@ File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) +urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: @@ -5074,36 +5183,77 @@ r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) -requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) +requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS - WARNING [ironic_python_agent.extensions.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_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_mainline_only -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_mainline_only ... ok +ironic_python_agent.tests.unit.test_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_agent.TestBaseAgent.test_run_agent_token ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_agent_token ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_hexdump -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_hexdump ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader_with_grubcfg -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader_with_grubcfg ... ok -ironic_python_agent.tests.unit.test_partition_utils.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.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_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_manager_method_not_found -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_manager_method_not_found ... ok -ironic_python_agent.tests.unit.extensions.test_standby.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_mdns.GetEndpointTestCase.test_binary_data -ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_binary_data ... ok - ERROR [root] Unexpected error dispatching unexpected_fail to manager : A problem was encountered +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.extensions.test_standby.TestStandbyExtension.test_load_auth_header_from_image_info_none +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_load_auth_header_from_image_info_none ... ok +ironic_python_agent.tests.unit.test_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_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.TestUtils.test_secure_boot_overriden_with_instance_info_caps +ironic_python_agent.tests.unit.test_utils.TestUtils.test_secure_boot_overriden_with_instance_info_caps ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_protocol +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_protocol ... ok + ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None + WARNING [ironic_python_agent.extensions.standby] poweroff command failed with error Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None, falling back to sysrq-trigger +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 + ERROR [root] Command failed: power_off, error: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None. Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/hardware.py", line 3618, in dispatch_to_all_managers - response = getattr(manager, method)(*args, **kwargs) - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 32, in wrapper - return fn(self, *args, **kwargs) - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 101, in unexpected_fail - raise RuntimeError('A problem was encountered') -RuntimeError: A problem was encountered + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1086, in _run_shutdown_command + utils.execute("echo o > /proc/sysrq-trigger", shell=True) + ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 3, in do_not_call + File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ + return self._mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call + raise effect +oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1102, in power_off + self._run_shutdown_command('poweroff') + ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1090, in _run_shutdown_command + raise errors.SystemRebootError(e.exit_code, e.stdout, e.stderr) +ironic_python_agent.errors.SystemRebootError: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None. +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_power_off +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_power_off ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_no_max +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_no_max ... ok +ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_retries +ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_retries ... ok +ironic_python_agent.tests.unit.test_utils.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_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 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 @@ -5175,7 +5325,7 @@ ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e -urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) +urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: @@ -5193,7 +5343,7 @@ File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) +urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: @@ -5212,38 +5362,27 @@ r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) -requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) +requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS - WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image ... ok -ironic_python_agent.tests.unit.test_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_agent.TestBaseAgent.test_run_listen_host_port -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_listen_host_port ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_no_loader -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_no_loader ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image_raw_and_stream_false -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image_raw_and_stream_false ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image_raw_stream_true -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image_raw_stream_true ... ok -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_generic_method_only -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_generic_method_only ... ok - ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command. + ERROR [ironic_python_agent.utils] Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None - WARNING [ironic_python_agent.extensions.standby] reboot command failed with error Unexpected error while running command. + 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, falling back to sysrq-trigger - ERROR [root] Command failed: run_image, error: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None. +Stderr: None + ERROR [root] Command failed: power_off, error: Error syncing system clock: Failed to sync hardware clock: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1088, in _run_shutdown_command - utils.execute("echo b > /proc/sysrq-trigger", shell=True) - ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/utils.py", line 1018, in sync_clock + execute('ntpdate', CONF.ntp_server) + ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 3, in do_not_call File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ return self._mock_call(*args, **kwargs) @@ -5262,17 +5401,93 @@ During handling of the above exception, another exception occurred: Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1135, in _sync_clock + utils.sync_clock(ignore_errors=ignore_errors) + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/utils.py", line 1025, in sync_clock + raise errors.CommandExecutionError(msg) +ironic_python_agent.errors.CommandExecutionError: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run result = self.execute_method(**self.command_params) - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1096, in run_image - self._run_shutdown_command('reboot') - ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1090, in _run_shutdown_command - raise errors.SystemRebootError(e.exit_code, e.stdout, e.stderr) -ironic_python_agent.errors.SystemRebootError: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None. -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_image -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_image ... ok - WARNING [ironic_python_agent.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. + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1102, in power_off + self._run_shutdown_command('poweroff') + ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1061, in _run_shutdown_command + self._sync_clock(ignore_errors=True) + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1145, in _sync_clock + raise errors.ClockSyncError(msg) +ironic_python_agent.errors.ClockSyncError: Error syncing system clock: Failed to sync hardware clock: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None +ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_gpt +ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_gpt ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_partitions_detected +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_partitions_detected ... ok +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_listen_host_port +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_listen_host_port ... ok +ironic_python_agent.tests.unit.test_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_mdns.GetEndpointTestCase.test_with_custom_port_path_and_protocol +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_custom_port_path_and_protocol ... ok +ironic_python_agent.tests.unit.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_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_agent_version_unsupported +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_agent_version_unsupported ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_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_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_1 +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_1 ... ok +ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_with_instance_disk_label +ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_with_instance_disk_label ... ok +ironic_python_agent.tests.unit.test_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_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_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.extensions.test_standby.TestStandbyExtension.test_prepare_image +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image ... ok +ironic_python_agent.tests.unit.test_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_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_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_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_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 + ERROR [root] Command failed: prepare_image, error: Don't call utils.execute() / processutils.execute() or similar functions in tests! +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1025, in prepare_image + _validate_partitioning(device) + ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 839, in _validate_partitioning + disk_utils.partprobe(device) + ~~~~~~~~~~~~~~~~~~~~^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/disk_utils.py", line 667, in partprobe + utils.execute('partprobe', device, attempts=attempts) + ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/base.py", line 88, in do_not_call + raise Exception( + "Don't call utils.execute() / " + "processutils.execute() or similar functions in tests!") +Exception: Don't call utils.execute() / processutils.execute() or similar functions in tests! +ironic_python_agent.tests.unit.test_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 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 @@ -5344,7 +5559,7 @@ ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e -urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) +urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: @@ -5362,7 +5577,7 @@ File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) +urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: @@ -5381,43 +5596,49 @@ r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) -requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) +requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS - ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command. +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_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_connection_error +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_connection_error ... ok +ironic_python_agent.tests.unit.test_hardware.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_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_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_exception +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_exception ... ok +ironic_python_agent.tests.unit.test_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_hardware.TestGenericHardwareManager.test_create_configuration_with_hints +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_hints ... 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.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_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.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_requests_several_urls +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_several_urls ... ok + WARNING [root] Failed to remove partitions on /dev/sda: Unexpected error while running command. Command: None Exit code: - -Stdout: None +Stdout: 'No md superblock detected' Stderr: None - WARNING [ironic_python_agent.extensions.standby] reboot command failed with error Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None, falling back to sysrq-trigger -ironic_python_agent.tests.unit.test_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_failure -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_preserve_failure ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_fails -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_fails ... ok - WARNING [ironic_python_agent.mdns] None of addresses ['::2', '::3'] seem routable, using ::2 -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_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_mdns.GetEndpointTestCase.test_fallback -ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_fallback ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid ... ok - WARNING [ironic_python_agent.extensions.standby] poweroff command failed with error Unexpected error while running command. + WARNING [root] Failed to remove partitions on /dev/sdb: Unexpected error while running command. Command: None Exit code: - -Stdout: '' -Stderr: None, falling back to sysrq-trigger -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_poweroff_sysrq -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_poweroff_sysrq ... ok - WARNING [ironic_python_agent.extensions.standby] reboot command has been ignored, falling back to sysrq-trigger -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_reboot_sysrq -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_reboot_sysrq ... ok +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 +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 [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 + WARNING [ironic_python_agent.extensions.standby] Failed to call get_disk_identifier: Unable to obtain the root_uuid parameter: The hexdump tool may be missing in IPA: ERROR [ironic_python_agent.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 @@ -5489,7 +5710,7 @@ ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e -urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) +urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: @@ -5507,7 +5728,7 @@ File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) +urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: @@ -5526,26 +5747,27 @@ r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) -requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) +requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_params +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_params ... ok ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_then_lockdown ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_then_lockdown ... ok - WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries. -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_preserve_failure2 -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_preserve_failure2 ... ok -ironic_python_agent.tests.unit.test_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.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_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_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_node_retries +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_node_retries ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_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.extensions.test_standby.TestStandbyExtension.test_prepare_image_raw_and_stream_false +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_raw_and_stream_false ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_skip_list +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_skip_list ... 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): @@ -5618,7 +5840,7 @@ ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e -urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) +urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: @@ -5636,7 +5858,7 @@ File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) +urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: @@ -5655,52 +5877,132 @@ r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) -requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) +requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS -ironic_python_agent.tests.unit.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.extensions.test_image.TestImageExtension.test__install_grub2_uefi_umount_fails -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_umount_fails ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_empty -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_empty ... ok -ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_https -ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_https ... 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.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_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_multi_hardware.TestMultipleHardwareManagerLoading.test_manager_method_not_found -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_manager_method_not_found ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_not_bootable -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_not_bootable ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_uefi_mode -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_uefi_mode ... ok - 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 - ERROR [root] Unexpected error dispatching unexpected_fail to manager : A problem was encountered -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/hardware.py", line 3662, in dispatch_to_managers - return getattr(manager, method)(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 32, in wrapper - return fn(self, *args, **kwargs) - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 101, in unexpected_fail - raise RuntimeError('A problem was encountered') -RuntimeError: A problem was encountered -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_method_fails -ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_method_fails ... ok +ironic_python_agent.tests.unit.test_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_lookup_timeout +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_timeout ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_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_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat ... 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_agent.TestAgentStandalone.test_run +ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run ... 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_mdns.GetEndpointTestCase.test_with_server +ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_server ... ok +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_ip6 +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_ip6 ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image_raw_and_stream_false +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image_raw_and_stream_false ... ok +ironic_python_agent.tests.unit.test_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 + WARNING [root] Failed to invoke secure erase, falling back to shred: Error erasing block device: An unknown error occurred erasing block device /dev/sda WARNING [ironic_python_agent.agent] Could not get baremetal endpoint from mDNS, will not heartbeat - 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_successful_heartbeat_with_verify_ca +ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_verify_ca ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_failed_continued +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_failed_continued ... 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 WARNING [root] Can't find field vendor for device lo in device class net WARNING [ironic_python_agent.agent] Ironic does not support automated TLS -ironic_python_agent.tests.unit.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_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: line 1. -ironic-python-agent: line 2 message - WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. + ERROR [root] Failed to invoke secure erase, fallback to shred is not enabled: Error erasing block device: Block device /dev/sda is frozen and cannot be erased + ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None + WARNING [ironic_python_agent.extensions.standby] reboot command failed with error Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None, falling back to sysrq-trigger + ERROR [root] Command failed: run_image, error: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None. +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1088, in _run_shutdown_command + utils.execute("echo b > /proc/sysrq-trigger", shell=True) + ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 3, in do_not_call + File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ + return self._mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call + return self._execute_mock_call(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call + raise effect +oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run + result = self.execute_method(**self.command_params) + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1096, in run_image + self._run_shutdown_command('reboot') + ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ + File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/standby.py", line 1090, in _run_shutdown_command + raise errors.SystemRebootError(e.exit_code, e.stdout, e.stderr) +ironic_python_agent.errors.SystemRebootError: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None. +ironic_python_agent.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_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_partition_utils.GetConfigdriveTestCase.test_get_configdrive_insecure +ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_insecure ... ok + ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None + WARNING [ironic_python_agent.extensions.standby] reboot command failed with error Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None, falling back to sysrq-trigger + ERROR [root] 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.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_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.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_invalid +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_invalid ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_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.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid ... ok + WARNING [ironic_python_agent.extensions.standby] poweroff command failed with error Unexpected error while running command. +Command: None +Exit code: - +Stdout: '' +Stderr: None, falling back to sysrq-trigger +ironic_python_agent.tests.unit.test_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.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_poweroff_sysrq +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_poweroff_sysrq ... ok + WARNING [ironic_python_agent.extensions.standby] reboot command has been ignored, falling back to sysrq-trigger +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_reboot_sysrq +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_reboot_sysrq ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_success +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_success ... ok ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve @@ -5772,7 +6074,7 @@ ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e -urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) +urllib3.exceptions.NameResolutionError: : Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: @@ -5790,7 +6092,7 @@ File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) +urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: @@ -5809,50 +6111,52 @@ r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) -requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) +requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS - WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. - WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. - WARNING [ironic_python_agent.extensions.image] efibootmgr is not available in the ramdisk - ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error - ERROR [root] Command failed: install_bootloader, error: -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/base.py", line 174, in run - result = self.execute_method(**self.command_params) - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/image.py", line 721, in install_bootloader - _install_grub2(device, - ~~~~~~~~~~~~~~^^^^^^^^ - root_uuid=root_uuid, - ^^^^^^^^^^^^^^^^^^^^ - efi_system_part_uuid=efi_system_part_uuid, - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - prep_boot_part_uuid=prep_boot_part_uuid, - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - target_boot_mode=target_boot_mode) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/extensions/image.py", line 167, in _install_grub2 - root_partition = partition_utils.get_partition(device, uuid=root_uuid) - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/partition_utils.py", line 618, in get_partition - utils.rescan_device(device) - ~~~~~~~~~~~~~~~~~~~^^^^^^^^ - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/utils.py", line 1114, in rescan_device - execute('partx', '-av', device, attempts=3, delay_on_retry=True) - ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "", line 3, in do_not_call - File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ - return self._mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call - raise effect -FileNotFoundError - ERROR [ironic_python_agent.inspector] inspector url error 400: , proceeding with lookup +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 + 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.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.GetConfigdriveTestCase.test_get_configdrive_ssl +ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_ssl ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nosecurity_shred +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nosecurity_shred ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_notsupported_shred +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_notsupported_shred ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_crypto_success +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_crypto_success ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_failed +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_failed ... ok +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_ssl +ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_ssl ... 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 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_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 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 + 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 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 @@ -5924,7 +6228,7 @@ ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e -urllib3.exceptions.NameResolutionError: : Failed to resolve 'example.com' ([Errno -2] Name or service not known) +urllib3.exceptions.NameResolutionError: : Failed to resolve 'example.com' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: @@ -5942,7 +6246,7 @@ File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='example.com', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'example.com' ([Errno -2] Name or service not known)")) +urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='example.com', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'example.com' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: @@ -5961,34 +6265,17 @@ r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) -requests.exceptions.ConnectionError: HTTPSConnectionPool(host='example.com', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'example.com' ([Errno -2] Name or service not known)")) +requests.exceptions.ConnectionError: HTTPSConnectionPool(host='example.com', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'example.com' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS -ironic_python_agent.tests.unit.test_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_agent.TestAgentStandalone.test_run -ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run ... ok -ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_invalid_key -ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_invalid_key ... ok -ironic_python_agent.tests.unit.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_agent.TestBaseAgent.test_run_with_sleep -ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_sleep ... ok -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_with_entry_removal_lenovo -ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_with_entry_removal_lenovo ... ok -ironic_python_agent.tests.unit.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_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.TestCallInspector.test_inspector_error -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_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_mdns.GetEndpointTestCase.test_localhost_only -ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_localhost_only ... ok ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_url_from_mdns_by_default ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_url_from_mdns_by_default ... ok -ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_not_found -ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_not_found ... ok + WARNING [root] Refusing to permit ATA Secure Erase as direct ATA commands via the `smartctl` utility with device /dev/sda do not succeed. +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_smartctl_fails_security_fallback_to_shred +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_smartctl_fails_security_fallback_to_shred ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_smartctl_unsupported_shred +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_smartctl_unsupported_shred ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_virtual_media +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_virtual_media ... ok ERROR [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 @@ -6060,7 +6347,7 @@ ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e -urllib3.exceptions.NameResolutionError: : Failed to resolve 'example.com' ([Errno -2] Name or service not known) +urllib3.exceptions.NameResolutionError: : Failed to resolve 'example.com' ([Errno -2] Name or service not known) The above exception was the direct cause of the following exception: @@ -6078,7 +6365,7 @@ File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='example.com', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'example.com' ([Errno -2] Name or service not known)")) +urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='example.com', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'example.com' ([Errno -2] Name or service not known)")) During handling of the above exception, another exception occurred: @@ -6097,284 +6384,18 @@ r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) -requests.exceptions.ConnectionError: HTTPSConnectionPool(host='example.com', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'example.com' ([Errno -2] Name or service not known)")) +requests.exceptions.ConnectionError: HTTPSConnectionPool(host='example.com', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(": Failed to resolve 'example.com' ([Errno -2] Name or service not known)")) WARNING [ironic_python_agent.agent] Ironic does not support automated TLS ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_url_from_mdns_explicitly ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_url_from_mdns_explicitly ... ok -ironic_python_agent.tests.unit.test_hardware.TestExecuteBootCInstall.test_execute_bootc_install -ironic_python_agent.tests.unit.test_hardware.TestExecuteBootCInstall.test_execute_bootc_install ... ok -ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs -ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs ... ok -ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs_with_label -ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs_with_label ... ok - ERROR [ironic_python_agent.utils] Failed to create a file system in /my/block/dev. Error: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: 'fake' -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/utils.py", line 156, in mkfs - execute(*args, use_standard_locale=True) - ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "", line 3, in do_not_call - File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ - return self._mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call - raise effect -oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: 'fake' -ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs_with_unexpected_error -ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs_with_unexpected_error ... ok - ERROR [ironic_python_agent.utils] Failed to make file system. File system foo is not supported. -Traceback (most recent call last): - File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/utils.py", line 156, in mkfs - execute(*args, use_standard_locale=True) - ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "", line 3, in do_not_call - File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__ - return self._mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call - return self._execute_mock_call(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call - raise effect -oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: 'No such file or directory' -ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs_with_unsupported_fs -ironic_python_agent.tests.unit.test_utils.MkfsTestCase.test_mkfs_with_unsupported_fs ... ok -ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_simple -ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_simple ... 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_mdns.GetEndpointTestCase.test_skip_invalid -ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_skip_invalid ... ok -ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_v6 -ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_v6 ... ok -ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_custom_port_and_path -ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_custom_port_and_path ... ok -ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_custom_port_path_and_protocol -ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_custom_port_path_and_protocol ... ok -ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_params -ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_params ... ok - 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_mdns.GetEndpointTestCase.test_with_server -ironic_python_agent.tests.unit.test_mdns.GetEndpointTestCase.test_with_server ... ok -ironic_python_agent.tests.unit.test_partition_utils.IsHttpUrlTestCase.test__is_http_url -ironic_python_agent.tests.unit.test_partition_utils.IsHttpUrlTestCase.test__is_http_url ... ok -ironic_python_agent.tests.unit.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.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 -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 - 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_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_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_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_burnin.TestBurnin.test_fio_network_dynamic_find_pair_2nd -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_2nd ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_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_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.TestGenericHardwareManager.test_erase_devices_concurrency ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_concurrency ... 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_multi_hardware_clean_steps.TestMultipleHardwareManagerCleanSteps.test_clean_step_ordering +ironic_python_agent.tests.unit.test_multi_hardware_clean_steps.TestMultipleHardwareManagerCleanSteps.test_clean_step_ordering ... ok ironic_python_agent.tests.unit.test_hardware.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 @@ -6383,12 +6404,29 @@ ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_express_stops_on_safety_failure ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_1st +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_1st ... ok + ERROR [root] Failed to 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_burnin.TestBurnin.test_fio_network_dynamic_find_pair_2nd +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_2nd ... ok +ironic_python_agent.tests.unit.test_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_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_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 + 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_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 @@ -6404,6 +6442,8 @@ ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err3 ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err4 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err4 ... ok +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_invalid @@ -6437,48 +6477,22 @@ ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_virt ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_zeroed ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_zeroed ... ok - ERROR [ironic_python_agent.extensions.standby] Timeout reached waiting for a chunk of data from a remote server. ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_socket_read_timeout -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_socket_read_timeout ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_for_ipv6 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_for_ipv6 ... 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.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_invalid ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_invalid ... ok -ironic_python_agent.tests.unit.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 WARNING [root] Invalid ipmitool output meow -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_iterate_channels ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_iterate_channels ... ok -ironic_python_agent.tests.unit.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 WARNING [root] Invalid ipmitool output meow ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_iterate_channels_ipv6 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_iterate_channels_ipv6 ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_urls -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_urls ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_no_ipmi_device ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_no_ipmi_device ... ok -ironic_python_agent.tests.unit.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.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_no_valid_ip_or_ipv6 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_no_valid_ip_or_ipv6 ... ok -ironic_python_agent.tests.unit.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 WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output @@ -6492,14 +6506,8 @@ 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.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.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_random_error ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_random_error ... ok -ironic_python_agent.tests.unit.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 WARNING [root] Cannot get BMC MAC address: Unexpected error while running command. Command: None Exit code: - @@ -6507,62 +6515,28 @@ Stderr: None ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_virt ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_virt ... ok -ironic_python_agent.tests.unit.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.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_with_invalid_ipv6 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_with_invalid_ipv6 ... ok -ironic_python_agent.tests.unit.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 + 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_get_bmc_mac_with_valid_ipv6_and_invalid_mac ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_with_valid_ipv6_and_invalid_mac ... ok -ironic_python_agent.tests.unit.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.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_zeroed ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_zeroed ... ok -ironic_python_agent.tests.unit.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.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_channel_7 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_channel_7 ... ok -ironic_python_agent.tests.unit.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_bmc_v6address_dynamic_address ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_dynamic_address ... 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.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_enables ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_enables ... ok -ironic_python_agent.tests.unit.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.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_get_address ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_get_address ... ok -ironic_python_agent.tests.unit.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_bmc_v6address_ipmitool_invalid_stdout_format ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_ipmitool_invalid_stdout_format ... 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 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_no_ipmi_device ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_no_ipmi_device ... ok - 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 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_not_enabled ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_not_enabled ... ok - ERROR [ironic_python_agent.extensions.standby] Unable to verify image fake_id with available checksums. Please make sure the specified 'os_hash_algo' (currently unsupported-algorithm) is supported by this ramdisk, or provide a md5 checksum via the 'checksum' field -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_without_fallback -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_without_fallback ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_static_address_both ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_static_address_both ... ok WARNING [root] Cannot get BMC v6 address: Unexpected error while running command. @@ -6570,94 +6544,111 @@ Exit code: - Stdout: None Stderr: None -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.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_virt ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_virt ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_bios ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_bios ... ok -ironic_python_agent.tests.unit.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.test_hardware.TestGenericHardwareManager.test_get_boot_info_pxe_interface ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_pxe_interface ... ok -ironic_python_agent.tests.unit.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.test_hardware.TestGenericHardwareManager.test_get_boot_info_uefi ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_uefi ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_clean_steps ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_clean_steps ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_without_md5 -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_without_md5 ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_component_devices ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_component_devices ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_fails -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_fails ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_illegal_flags ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_illegal_flags ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_gpt_fails -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_gpt_fails ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_timeout +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_timeout ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_defaults +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_defaults ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_no_defaults +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_no_defaults ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_max_mhz_and_flag_fallback ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_max_mhz_and_flag_fallback ... ok - ERROR [ironic_python_agent.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: expected string or bytes-like object, got 'MagicMock' +ironic_python_agent.tests.unit.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_hardware.TestGenericHardwareManager.test_get_cpus_max_mhz_flag_fallback ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_max_mhz_flag_fallback ... ok -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image ... ok +ironic_python_agent.tests.unit.test_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_hardware.TestGenericHardwareManager.test_get_cpus_multi ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_multi ... 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.burnin] fio (network) failed with error Unexpected error while running command. +Command: None +Exit code: - +Stdout: 'boom' +Stderr: None +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_fio +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_fio ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_no_flags ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_no_flags ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks ... ok - ERROR [ironic_python_agent.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: expected string or bytes-like object, got 'MagicMock' -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid ... ok +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_hardware.TestGenericHardwareManager.test_get_holder_disks_broken_raid0 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_broken_raid0 ... ok +ironic_python_agent.tests.unit.test_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_hardware.TestGenericHardwareManager.test_get_holder_disks_poisoned_output ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_poisoned_output ... ok - ERROR [ironic_python_agent.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: expected string or bytes-like object, got 'MagicMock' -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid_uefi -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid_uefi ... ok - ERROR [ironic_python_agent.disk_utils] Security: Detected image format was qcow3, but only raw, gpt, qcow2 are allowed ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_unexpected_devices ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_unexpected_devices ... ok -ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_mismatch -ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_mismatch ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_nvme ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_nvme ... ok -ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_mismatch_but_disabled -ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_mismatch_but_disabled ... ok - ERROR [ironic_python_agent.disk_utils] Security: Detected image format was qcow3, but only raw, gpt, qcow2 are allowed + ERROR [ironic_python_agent.extensions.standby] Timeout reached waiting for a chunk of data from a remote server. ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_whole_device ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_whole_device ... ok -ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_type_disallowed -ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_type_disallowed ... ok -ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_unknown_happy -ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_unknown_happy ... ok +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 + ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. +Command: None +Exit code: 16 +Stdout: 'Connection timeout' +Stderr: None + ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. +Command: None +Exit code: 16 +Stdout: 'Connection timeout' +Stderr: None ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_arm64_lshw -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_arm64_lshw ... ok -ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_happy_qcow2 -ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_happy_qcow2 ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_arm64_lshw ... ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. +Command: None +Exit code: 16 +Stdout: 'Connection refused' +Stderr: None +ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader_loop +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader_loop ... ok WARNING [root] Could not get real physical RAM from lshw: ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_exception ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_exception ... ok -ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_happy_raw -ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_happy_raw ... ok -ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_safety_check_fail_but_disabled -ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_safety_check_fail_but_disabled ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader_w_logfile +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader_w_logfile ... ok + WARNING [ironic_python_agent.extensions.standby] Image download failed, 0 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_list ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_list ... 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_burnin.TestBurnin.test_fio_network_unknown_role +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_unknown_role ... ok + 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.test_burnin.TestBurnin.test_fio_network_writer +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_bank_size ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_bank_size ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer_w_logfile +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer_w_logfile ... ok ERROR [root] Cannot fetch total memory size using psutil version 7 Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/hardware.py", line 1675, in get_memory @@ -6675,6 +6666,10 @@ AttributeError ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v1 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v1 ... ok +ironic_python_agent.tests.unit.test_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.extensions.test_standby.TestStandbyExtension.test_sync +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync ... ok ERROR [root] Cannot fetch total memory size using psutil version 7 Traceback (most recent call last): File "/build/reproducible-path/ironic-python-agent-10.2.0/ironic_python_agent/hardware.py", line 1675, in get_memory @@ -6690,12 +6685,37 @@ File "/usr/lib/python3.13/unittest/mock.py", line 1228, in _execute_mock_call raise effect AttributeError + 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_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v2 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v2 ... ok +ironic_python_agent.tests.unit.test_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_hardware.TestGenericHardwareManager.test_get_memory_psutil_v1 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_v1 ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_checksum +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_checksum ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_default +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_default ... ok + ERROR [ironic_python_agent.burnin] stress-ng (vm) failed with error Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_no_stress_ng +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_no_stress_ng ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_urls +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_urls ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_v2 ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_v2 ... ok +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_non_default +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_non_default ... ok + WARNING [ironic_python_agent.dmi_inspector] Failed to parse Handle type in dmi output: list index out of range WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' 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' @@ -6706,18 +6726,63 @@ WARNING [root] Can't find field vendor for device sdd in device class block WARNING [root] Device /dev/dm-0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-0' WARNING [root] Can't find field vendor for device dm-0 in device class block +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_invalid_checksum +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_invalid_checksum ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device ... ok - WARNING [root] Using hint {'vendor': 'basic vendor'} skipping devices: /dev/sda,/dev/sdb +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_bad_data +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_bad_data ... ok + ERROR [ironic_python_agent.utils] failed to run dmidecode: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_failure +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_failure ... ok + WARNING [root] Using hint {'vendor': 'basic vendor'} skipping devices: /dev/sdb,/dev/sda +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_invalid_urls +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_invalid_urls ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_legacy_md5_checksum +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_legacy_md5_checksum ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_legacy_md5_checksum_enabled +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_legacy_md5_checksum_enabled ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_missing_field +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_missing_field ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_no_hash_algo +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_no_hash_algo ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_no_hash_value +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_no_hash_value ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_sha256 +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_sha256 ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success ... ok +ironic_python_agent.tests.unit.test_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.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_ignore_none_md5 +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_ignore_none_md5 ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_with_new_hash_fields +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_with_new_hash_fields ... ok +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_ok +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_ok ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_complete_skip_list ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_complete_skip_list ... ok +ironic_python_agent.tests.unit.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 WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' 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] Can't find field vendor for device sdb in device class block ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_fails ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_fails ... ok +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_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_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_cpu +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_cpu ... ok WARNING [root] We have identified a multipath device sda, this is being ignored in favor of dm-0 and its related child devices. +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_memory +ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_memory ... ok WARNING [root] We have identified a multipath device sda2, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] We have identified a multipath device sda3, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] We have identified a multipath device sda1, this is being ignored in favor of dm-0 and its related child devices. @@ -6733,8 +6798,17 @@ WARNING [root] Can't find field vendor for device dm-1 in device class block ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_multipath ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_multipath ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds ... ok +ironic_python_agent.tests.unit.test_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.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_hardware.TestGenericHardwareManager.test_get_os_install_device_no_root_device ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_no_root_device ... ok +ironic_python_agent.tests.unit.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 WARNING [root] We have identified a multipath device sda, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] We have identified a multipath device sda2, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] We have identified a multipath device sda3, this is being ignored in favor of dm-0 and its related child devices. @@ -6742,6 +6816,7 @@ WARNING [root] Device /dev/dm-0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-0' WARNING [root] Can't find field vendor for device dm-0 in device class block WARNING [root] We have identified a multipath device sdb, this is being ignored in favor of dm-0 and its related child devices. + WARNING [ironic_python_agent.dmi_inspector] Failed to process memory dmi data: 'Number Of Devices' WARNING [root] We have identified a multipath device sdb2, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] We have identified a multipath device sdb3, this is being ignored in favor of dm-0 and its related child devices. WARNING [root] We have identified a multipath device sdb1, this is being ignored in favor of dm-0 and its related child devices. @@ -6749,6 +6824,10 @@ WARNING [root] Can't find field vendor for device sdc in device class block WARNING [root] Device /dev/dm-1 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-1' WARNING [root] Can't find field vendor for device dm-1 in device class block +ironic_python_agent.tests.unit.test_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.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.test_hardware.TestGenericHardwareManager.test_get_os_install_device_not_multipath ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_not_multipath ... ok WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' @@ -6757,37 +6836,84 @@ 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] Can't find field vendor for device md0 in device class block +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_none_password +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_none_password ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_raid ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_raid ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_none_user +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_none_user ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_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 + 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.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_image_failure +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_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-sha512-value; verification checksum: invalid-checksum +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_with_new_hash_fields +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_with_new_hash_fields ... ok + ERROR [ironic_python_agent.extensions.standby] Unable to verify image fake_id with available checksums. Please make sure the specified 'os_hash_algo' (currently unsupported-algorithm) is supported by this ramdisk, or provide a md5 checksum via the 'checksum' field +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_without_fallback +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_without_fallback ... ok ironic_python_agent.tests.unit.test_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_success +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_with_md5_fallback +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_with_md5_fallback ... ok WARNING [ironic_python_agent.device_hints] 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.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.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_no_device_found ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_no_device_found ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_without_md5 +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_without_md5 ... ok ironic_python_agent.tests.unit.test_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.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.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_serial ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_serial ... ok +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_fails +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_fails ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_not_int ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_not_int ... ok +ironic_python_agent.tests.unit.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: expected string or bytes-like object, got 'MagicMock' ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_str ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_str ... ok +ironic_python_agent.tests.unit.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 WARNING [root] Using hint {'vendor': 'fake-vendor'} skipping devices: /dev/sdb +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: expected string or bytes-like object, got 'MagicMock' +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid ... ok WARNING [ironic_python_agent.device_hints] 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 + ERROR [ironic_python_agent.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: expected string or bytes-like object, got 'MagicMock' +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid_uefi +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid_uefi ... ok ironic_python_agent.tests.unit.test_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_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_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_wwn ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_wwn ... ok +ironic_python_agent.tests.unit.test_disk_utils.PopulateImageTestCase.test_populate_raw_image +ironic_python_agent.tests.unit.test_disk_utils.PopulateImageTestCase.test_populate_raw_image ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_skip_list_non_exist ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_skip_list_non_exist ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_just_raids @@ -6795,6 +6921,8 @@ ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_no_skip_list ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_no_skip_list ... ok WARNING [root] Using hint {'name': '/dev/sdj'} skipping devices: /dev/sdj +ironic_python_agent.tests.unit.test_multi_hardware.TestNoHardwareManagerLoading.test_no_managers_found +ironic_python_agent.tests.unit.test_multi_hardware.TestNoHardwareManagerLoading.test_no_managers_found ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_with_skip_list ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_with_skip_list ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info @@ -6812,6 +6940,9 @@ ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_usb_devices ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_ipmi_device_exists ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_ipmi_device_exists ... ok +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: WARNING [root] Device /dev/sda is inaccessible, skipping... Error: WARNING [root] Device /dev/sdb is not supported by pyudev, skipping... Error: No block device with number 1234 WARNING [root] Device /dev/sdc is inaccessible, skipping... Error: @@ -6877,8 +7008,6 @@ WARNING [root] Can't find field vendor for device md0 in device class block ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_duplicate_volume_name ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_duplicate_volume_name ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_no_of_raids -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_no_of_raids ... ok WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping @@ -6889,12 +7018,6 @@ WARNING [root] Device /dev/md0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/md0' WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping WARNING [root] Can't find field vendor for device md0 in device class block -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_raid_level -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_raid_level ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_no_configuration -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_no_configuration ... ok -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_valid_raid1 -ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_valid_raid1 ... ok WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path' WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda' WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping @@ -6905,170 +7028,96 @@ WARNING [root] Device /dev/md0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/md0' WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping WARNING [root] Can't find field vendor for device md0 in device class block +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_no_of_raids +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_no_of_raids ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_raid_level +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_raid_level ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_no_configuration +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_no_configuration ... ok +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_valid_raid1 +ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_valid_raid1 ... ok ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_valid_raid1_raidN ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_valid_raid1_raidN ... ok -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries ... ok -ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found -ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found ... ok -ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found_with_dev -ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found_with_dev ... ok -ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_not_found -ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_not_found ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test__get_actual_component_devices -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test__get_actual_component_devices ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test__get_actual_component_devices_broken_raid0 -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test__get_actual_component_devices_broken_raid0 ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_create_device -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_create_device ... ok - WARNING [ironic_python_agent.raid_utils] Found /dev/sdb1 to be missing from /dev/md0 ... re-adding! -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_read_device -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_read_device ... ok - WARNING [ironic_python_agent.raid_utils] Found /dev/sdb1 to be missing from /dev/md0 ... re-adding! -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_missing_device -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_missing_device ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_with_volume_name -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_with_volume_name ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_get_volume_name_of_raid_device -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_get_volume_name_of_raid_device ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_get_volume_name_of_raid_device_invalid -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_get_volume_name_of_raid_device_invalid ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_bios_gpt -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_bios_gpt ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_bios_msdos -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_bios_msdos ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt_efi_provided -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt_efi_provided ... ok -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt_esp_not_found -ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt_esp_not_found ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_timeout -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_timeout ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_defaults -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_defaults ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_no_defaults -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_no_defaults ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_raise_missing_config -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_raise_missing_config ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_raise_wrong_config -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_raise_wrong_config ... ok - ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. -Command: None -Exit code: - -Stdout: 'boom' -Stderr: None -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_fio -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_fio ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_partner -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_partner ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_role -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_role ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader ... ok - ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. -Command: None -Exit code: 16 -Stdout: 'Connection timeout' -Stderr: None - ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. -Command: None -Exit code: 16 -Stdout: 'Connection timeout' -Stderr: None - ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. -Command: None -Exit code: 16 -Stdout: 'Connection refused' -Stderr: None -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader_loop -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader_loop ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader_w_logfile -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader_w_logfile ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_unknown_role -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_unknown_role ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer_w_logfile -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer_w_logfile ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_default -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_default ... ok - ERROR [ironic_python_agent.burnin] stress-ng (cpu) failed with error Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_no_stress_ng -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_no_stress_ng ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_non_default -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_non_default ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_default -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_default ... ok - ERROR [ironic_python_agent.burnin] stress-ng (vm) failed with error Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_no_stress_ng -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_no_stress_ng ... ok -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_non_default -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_non_default ... ok -ironic_python_agent.tests.unit.test_disk_utils.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_utils.GetRouteSourceTestCase.test_get_route_source_indexerror -ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_indexerror ... ok -ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv4 -ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv4 ... ok -ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6 -ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6 ... ok -ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal -ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal ... ok -ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal_allowed -ironic_python_agent.tests.unit.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal_allowed ... ok -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries_on_50X_error -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries_on_50X_error ... ok -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retry_on_50X_and_succeed -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retry_on_50X_and_succeed ... ok - WARNING [ironic_python_agent.inspector] Connection error when accessing url1, trying the next URL. Error: +ironic-python-agent: Copying configuration from /tmp/tmppx3272ir/etc/ironic-python-agent to /etc/ironic-python-agent +ironic-python-agent: Copying configuration from /tmp/tmppx3272ir/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/tmp_idreq1t/etc/ironic-python-agent to /etc/ironic-python-agent +ironic-python-agent: Copying configuration from /tmp/tmp_idreq1t/etc/ironic-python-agent.d to /etc/ironic-python-agent.d 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_utils.TestCopyConfigFromVmedia.test_copy_mounted +ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy_mounted ... 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: /some/path/etc/ironic-python-agent not found +ironic-python-agent: /some/path/etc/ironic-python-agent.d not found +ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_mounted_no_files +ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_mounted_no_files ... ok ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_send_failure ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_send_failure ... ok ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_use_api_url ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_use_api_url ... ok +ironic-python-agent: /tmp/tmp91aay557/etc/ironic-python-agent not found +ironic-python-agent: /tmp/tmp91aay557/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 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_qemu_img.ImageInfoTestCase.test_image_info_path_doesnt_exist_disabled -ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_doesnt_exist_disabled ... ok -ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_disabled -ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_disabled ... ok -ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_safe -ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_safe ... ok -ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_unsafe -ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_unsafe ... ok +ironic-python-agent: 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.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: Cannot use configuration from virtual media as the agent was not booted from virtual media. +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_none +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_none ... ok +ironic_python_agent.tests.unit.test_utils.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.TestClockSyncUtils.test_determine_time_method_ntpdate +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_ntpdate ... ok +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_chrony +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_chrony ... ok + ERROR [ironic_python_agent.utils] Failed to sync time using chrony to ntp server: 192.168.1.1: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: 'time verboten' +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_chrony_failure +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_chrony_failure ... ok + ERROR [ironic_python_agent.utils] Unable to sync clock, available methods of 'ntpdate' or 'chrony' not found. +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_none +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_none ... ok +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp ... ok + ERROR [ironic_python_agent.utils] Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp_raises_exception +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp_raises_exception ... ok +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp_server_is_none +ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp_server_is_none ... ok ---------------------------------------------------------------------- -Ran 1113 tests in 17.616s +Ran 1113 tests in 19.034s OK (skipped=2) + stestr slowest Test id Runtime (s) --------------------------------------------------------------------------------------------------------------------------------- ----------- -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries 4.038 -ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_socket_read_timeout 3.184 -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_1st 3.017 -ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_timeout 2.011 -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retry_on_50X_and_succeed 2.008 -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries_on_50X_error 2.007 -ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run 1.154 -ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_several_urls 1.112 -ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_retries 1.101 -ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run_no_tls 1.024 +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries 4.028 +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_1st 3.052 +ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_socket_read_timeout 3.035 +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retry_on_50X_and_succeed 2.271 +ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_timeout 2.064 +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries_on_50X_error 2.026 +ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_several_urls 1.185 +ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run 1.150 +ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run_no_tls 1.077 +ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_retries 1.014 + rm -rf .stestr mkdir -p /build/reproducible-path/ironic-python-agent-10.2.0/debian/ironic-python-agent/etc/ironic-python-agent PYTHONPATH=/build/reproducible-path/ironic-python-agent-10.2.0/debian/tmp/usr/lib/python3/dist-packages oslo-config-generator \ @@ -7110,20 +7159,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 \ @@ -7132,13 +7182,14 @@ pkgos-gen-systemd-unit $i ; \ fi \ done -+ ls debian/ironic-python-agent.init.in -+ echo debian/ironic-python-agent.init.in -+ sed s/.init.in/.service.in/ +++ ls debian/ironic-python-agent.init.in ++ for i in `ls debian/*.init.in` +++ echo debian/ironic-python-agent.init.in +++ sed s/.init.in/.service.in/ + MYINIT=debian/ironic-python-agent.service.in -+ [ -e debian/ironic-python-agent.service.in ] ++ '[' -e debian/ironic-python-agent.service.in ']' + pkgos-gen-systemd-unit debian/ironic-python-agent.init.in -/usr/bin/pkgos-gen-systemd-unit: 22: debian/ironic-python-agent.init.in: modprobe: not found +debian/ironic-python-agent.init.in: line 22: modprobe: command not found dh_installinit --error-handler=true make[1]: Leaving directory '/build/reproducible-path/ironic-python-agent-10.2.0' debian/rules override_dh_installsystemd @@ -7152,20 +7203,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` +++ sed s/.init.in// +++ echo debian/ironic-python-agent.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 \ @@ -7174,13 +7226,14 @@ pkgos-gen-systemd-unit $i ; \ fi \ done -+ ls debian/ironic-python-agent.init.in -+ echo debian/ironic-python-agent.init.in -+ sed s/.init.in/.service.in/ +++ ls debian/ironic-python-agent.init.in ++ for i in `ls debian/*.init.in` +++ echo debian/ironic-python-agent.init.in +++ sed s/.init.in/.service.in/ + MYINIT=debian/ironic-python-agent.service.in -+ [ -e debian/ironic-python-agent.service.in ] ++ '[' -e debian/ironic-python-agent.service.in ']' + pkgos-gen-systemd-unit debian/ironic-python-agent.init.in -/usr/bin/pkgos-gen-systemd-unit: 22: debian/ironic-python-agent.init.in: modprobe: not found +debian/ironic-python-agent.init.in: line 22: modprobe: command not found dh_installsystemd make[1]: Leaving directory '/build/reproducible-path/ironic-python-agent-10.2.0' dh_installlogrotate -O--buildsystem=pybuild @@ -7212,12 +7265,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/546885/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/546885/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/3729440 and its subdirectories -I: Current time: Thu Aug 7 06:18:46 -12 2025 -I: pbuilder-time-stamp: 1754590726 +I: removing directory /srv/workspace/pbuilder/546885 and its subdirectories +I: Current time: Thu Sep 10 14:46:01 +14 2026 +I: pbuilder-time-stamp: 1789001161 Compressing the 2nd log... /var/lib/jenkins/userContent/reproducible/debian/logdiffs/trixie/amd64/ironic-python-agent_10.2.0-3.diff: 91.3% -- replaced with /var/lib/jenkins/userContent/reproducible/debian/logdiffs/trixie/amd64/ironic-python-agent_10.2.0-3.diff.gz b2/build.log: 90.4% -- replaced with stdout Compressing the 1st log... b1/build.log: 90.4% -- replaced with stdout Thu Aug 7 18:23:03 UTC 2025 I: diffoscope 303 will be used to compare the two builds: ++ date -u +%s + DIFFOSCOPE_STAMP=/var/log/reproducible-builds/diffoscope_stamp_ironic-python-agent_trixie_amd64_1754590983 + touch /var/log/reproducible-builds/diffoscope_stamp_ironic-python-agent_trixie_amd64_1754590983 + RESULT=0 + systemd-run '--description=diffoscope on ironic-python-agent/10.2.0-3 in trixie/amd64' --slice=rb-build-diffoscope.slice -u rb-diffoscope-amd64_29-50543 '--property=SuccessExitStatus=1 124' --user --send-sighup --pipe --wait -E TMPDIR timeout 155m nice schroot --directory /srv/reproducible-results/rbuild-debian/r-b-build.EnM5AewD --run-session -c jenkins-reproducible-trixie-diffoscope-d53abb14-1b4e-4e19-889c-5b1409e482df -- sh -c 'export TMPDIR=/srv/reproducible-results/rbuild-debian/r-b-build.EnM5AewD/dbd-tmp-F6m8cCg ; timeout 150m diffoscope --timeout 7200 --html /srv/reproducible-results/rbuild-debian/r-b-build.EnM5AewD/ironic-python-agent_10.2.0-3.diffoscope.html --text /srv/reproducible-results/rbuild-debian/r-b-build.EnM5AewD/ironic-python-agent_10.2.0-3.diffoscope.txt --json /srv/reproducible-results/rbuild-debian/r-b-build.EnM5AewD/ironic-python-agent_10.2.0-3.diffoscope.json --profile=- /srv/reproducible-results/rbuild-debian/r-b-build.EnM5AewD/b1/ironic-python-agent_10.2.0-3_amd64.changes /srv/reproducible-results/rbuild-debian/r-b-build.EnM5AewD/b2/ironic-python-agent_10.2.0-3_amd64.changes' + false + set +x Running as unit: rb-diffoscope-amd64_29-50543.service # Profiling output for: /usr/bin/diffoscope --timeout 7200 --html /srv/reproducible-results/rbuild-debian/r-b-build.EnM5AewD/ironic-python-agent_10.2.0-3.diffoscope.html --text /srv/reproducible-results/rbuild-debian/r-b-build.EnM5AewD/ironic-python-agent_10.2.0-3.diffoscope.txt --json /srv/reproducible-results/rbuild-debian/r-b-build.EnM5AewD/ironic-python-agent_10.2.0-3.diffoscope.json --profile=- /srv/reproducible-results/rbuild-debian/r-b-build.EnM5AewD/b1/ironic-python-agent_10.2.0-3_amd64.changes /srv/reproducible-results/rbuild-debian/r-b-build.EnM5AewD/b2/ironic-python-agent_10.2.0-3_amd64.changes ## command (total time: 0.000s) 0.000s 1 call cmp (internal) ## has_same_content_as (total time: 0.000s) 0.000s 1 call diffoscope.comparators.binary.FilesystemFile ## main (total time: 0.003s) 0.003s 2 calls outputs 0.000s 1 call cleanup Finished with result: success Main processes terminated with: code=exited/status=0 Service runtime: 171ms CPU time consumed: 173ms _ _ _ _ (_)_ __ ___ _ __ (_) ___ _ __ _ _| |_| |__ ___ _ __ __ _ | | '__/ _ \| '_ \| |/ __|____| '_ \| | | | __| '_ \ / _ \| '_ \ _____ / _` | | | | | (_) | | | | | (_|_____| |_) | |_| | |_| | | | (_) | | | |_____| (_| | |_|_| \___/|_| |_|_|\___| | .__/ \__, |\__|_| |_|\___/|_| |_| \__,_| |_| |___/ _ __ _ ___ _ __ | |_ / _` |/ _ \ '_ \| __| | (_| | __/ | | | |_ \__, |\___|_| |_|\__| |___/ Thu Aug 7 18:23:04 UTC 2025 I: diffoscope 303 found no differences in the changes files, and a .buildinfo file also exists. Thu Aug 7 18:23:04 UTC 2025 I: ironic-python-agent from trixie built successfully and reproducibly on amd64. INSERT 0 1 INSERT 0 1 DELETE 1 [2025-08-07 18:23:04] INFO: Starting at 2025-08-07 18:23:04.490212 [2025-08-07 18:23:04] INFO: Generating the pages of 1 package(s) [2025-08-07 18:23:04] CRITICAL: https://tests.reproducible-builds.org/debian/trixie/amd64/ironic-python-agent didn't produce a buildlog, even though it has been built. [2025-08-07 18:23:04] INFO: Finished at 2025-08-07 18:23:04.638443, took: 0:00:00.148238 Thu Aug 7 18:23:04 UTC 2025 - successfully updated the database and updated https://tests.reproducible-builds.org/debian/rb-pkg/trixie/amd64/ironic-python-agent.html Thu Aug 7 18:23:04 UTC 2025 I: Removing signed ironic-python-agent_10.2.0-3_amd64.buildinfo.asc files: removed './b1/ironic-python-agent_10.2.0-3_amd64.buildinfo.asc' removed './b2/ironic-python-agent_10.2.0-3_amd64.buildinfo.asc' 1754590984 amd64 trixie ironic-python-agent Starting cleanup. /var/lib/jenkins/userContent/reproducible/debian/rbuild/trixie/amd64/ironic-python-agent_10.2.0-3.rbuild.log: 90.1% -- replaced with /var/lib/jenkins/userContent/reproducible/debian/rbuild/trixie/amd64/ironic-python-agent_10.2.0-3.rbuild.log.gz [2025-08-07 18:23:04] INFO: Starting at 2025-08-07 18:23:04.950108 [2025-08-07 18:23:04] INFO: Generating the pages of 1 package(s) [2025-08-07 18:23:05] INFO: Finished at 2025-08-07 18:23:05.082155, took: 0:00:00.132052 All cleanup done. Thu Aug 7 18:23:05 UTC 2025 - total duration: 0h 7m 5s. Thu Aug 7 18:23:05 UTC 2025 - reproducible_build.sh stopped running as /tmp/jenkins-script-gui3zx9N, removing. Finished with result: success Main processes terminated with: code=exited/status=0 Service runtime: 7min 5.971s CPU time consumed: 4.958s